createIbMasks.H
Go to the documentation of this file.
1 //
2 // createIbMask.H
3 // ~~~~~~~~~~~~
4 
5  Info<< "Create immersed boundary cell mask" << endl;
6 
7  volScalarField cellIbMask
8  (
9  IOobject
10  (
11  "cellIbMask",
12  runTime.timeName(),
13  mesh,
14  IOobject::NO_READ,
15  IOobject::AUTO_WRITE
16  ),
17  mesh,
18  dimensionedScalar("one", dimless, 1)
19  );
20 
21  volScalarField cellIbMaskExt
22  (
23  IOobject
24  (
25  "cellIbMaskExt",
26  runTime.timeName(),
27  mesh,
28  IOobject::NO_READ,
29  IOobject::AUTO_WRITE
30  ),
31  mesh,
32  dimensionedScalar("one", dimless, 1)
33  );
34 
35  Info<< "Create immersed boundary face mask" << endl;
36  surfaceScalarField faceIbMask
37  (
38  IOobject
39  (
40  "faceIbMask",
41  runTime.timeName(),
42  mesh,
43  IOobject::NO_READ,
44  IOobject::AUTO_WRITE
45  ),
46  mesh,
47  dimensionedScalar("one", dimless, 1)
48  );
49 
50  forAll (mesh.boundary(), patchI)
51  {
52  if (isA<immersedBoundaryFvPatch>(mesh.boundary()[patchI]))
53  {
54  Info<< "Found immersed boundary patch " << patchI
55  << " named " << mesh.boundary()[patchI].name()
56  << endl;
57 
58  const immersedBoundaryFvPatch& ibPatch =
59  refCast<const immersedBoundaryFvPatch>
60  (
61  mesh.boundary()[patchI]
62  );
63 
64  cellIbMask *= ibPatch.gamma();
65  cellIbMaskExt *= ibPatch.gammaExt();
66  faceIbMask *= ibPatch.sGamma();
67  }
68  }
69 
70  // Evaluate boundary conditions for IB masks
71  cellIbMask.boundaryField().evaluateCoupled();
72  cellIbMaskExt.boundaryField().evaluateCoupled();
Foam::dimless
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
Definition: dimensionSets.H:47
forAll
#define forAll(list, i)
Loop across all elements in list.
Definition: UList.H:406
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:251
Foam::Info
messageStream Info
Foam::dimensionedScalar
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Definition: dimensionedScalarFwd.H:41
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:52
mesh
dynamicFvMesh & mesh
Definition: createDynamicFvMesh.H:18
Foam::surfaceScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Definition: surfaceFieldsFwd.H:52