Go to the documentation of this file.
43 assemblyFaceAreaPairGAMGAgglomeration,
50 assemblyFaceAreaPairGAMGAgglomeration,
75 if (isA<lduPrimitiveMeshAssembly>(ldumesh))
78 refCast<const lduPrimitiveMeshAssembly>(ldumesh);
84 for (label i=0; i <
mesh.meshes().
size(); ++i)
86 const fvMesh& m = refCast<const fvMesh>(
mesh.meshes()[i]);
92 faceAreas[subFaceMap[facei]] = areas[facei];
101 label globalPatchID =
mesh.patchMap()[i][patchI];
103 if (globalPatchID == -1)
109 if (isA<cyclicAMIPolyPatch>(pp))
112 refCast<const cyclicAMIPolyPatch>(pp);
122 for(label j=0; j<w.size(); j++)
124 const label globalFaceI =
125 mesh.faceBoundMap()[i][patchI][subFaceI];
127 if (globalFaceI != -1)
129 faceAreas[globalFaceI] = w[j]*sf[faceI];
135 else if (isA<cyclicACMIPolyPatch>(pp))
138 refCast<const cyclicACMIPolyPatch>(pp);
150 for(label j=0; j<w.size(); j++)
152 if (mask[faceI] > tol)
154 const label globalFaceI =
155 mesh.faceBoundMap()[i]
158 faceAreas[globalFaceI] = w[j]*sf[faceI];
168 const label globalFaceI =
169 mesh.faceBoundMap()[i][patchI][faceI];
171 if (globalFaceI != -1)
173 faceAreas[globalFaceI] = sf[faceI];
189 faceAreas/
sqrt(
mag(faceAreas)),
198 const fvMesh& fvmesh = refCast<const fvMesh>(matrix.
mesh());
236 faceAreas/
sqrt(
mag(faceAreas)),
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
virtual bool masterImplicit() const
Return implicit master.
label size() const noexcept
The number of elements in table.
assemblyFaceAreaPairGAMGAgglomeration(const lduMatrix &matrix, const dictionary &controlDict)
Construct given mesh and controls.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
dimensioned< Type > cmptMultiply(const dimensioned< Type > &, const dimensioned< Type > &)
static constexpr const zero Zero
Global zero (0)
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
const Internal::FieldType & primitiveField() const
Return a const-reference to the internal field.
static scalar tolerance()
Overlap tolerance.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
virtual const labelUList & upperAddr() const =0
Return upper addressing.
#define forAll(list, i)
Loop across all elements in list.
const surfaceScalarField & magSf() const
Return cell face area magnitudes.
A patch is a list of labels that address the faces in the global face list.
virtual const lduAddressing & lduAddr() const
Return ldu addressing.
runTime controlDict().readEntry("adjustTimeStep"
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
Mesh data needed to do the Finite Volume discretisation.
const labelUList & faceCells() const
Return face-cell addressing.
Vector< scalar > vector
A scalar version of the templated Vector.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
const AMIPatchToPatchInterpolation & AMI() const
Return a reference to the AMI interpolator.
~assemblyFaceAreaPairGAMGAgglomeration()
Destructor.
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
const lduMesh & mesh() const
Return the LDU mesh from which the addressing is obtained.
const polyBoundaryMesh & patches
Agglomerate using the pair algorithm.
void size(const label n)
Older name for setAddressableSize.
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI).
const scalarField & mask() const
Mask field where 1 = overlap(coupled), 0 = no-overlap.
defineTypeNameAndDebug(combustionModel, 0)
An assembly of lduMatrix that is specific inter-region coupling through mapped patches.
Abstract base class for meshes which provide LDU addressing for the construction of lduMatrix and LDU...
const scalarListList & srcWeights() const
Return const access to source patch weights.
Cyclic patch for Arbitrary Mesh Interface (AMI)
const surfaceVectorField & Sf() const
Return cell face area vectors.