37namespace reconstruction
68 isoFaceTol_(modelDict().getOrDefault<scalar>(
"isoFaceTol", 1
e-8)),
69 surfCellTol_(modelDict().getOrDefault<scalar>(
"surfCellTol", 1
e-8)),
70 sIterIso_(mesh_, ap_, surfCellTol_)
81 const bool uptodate = alreadyReconstructed(forceUpdate);
83 if (uptodate && !forceUpdate)
89 if (mesh_.topoChanging())
92 if (ap_.size() != mesh_.nPoints())
94 ap_.resize(mesh_.nPoints());
97 if (interfaceCell_.size() != mesh_.nCells())
99 interfaceCell_.resize(mesh_.nCells());
106 interfaceLabels_.
clear();
110 if (sIterIso_.isASurfaceCell(alpha1_[cellI]))
112 interfaceLabels_.append(cellI);
122 if (sIterIso_.cellStatus() == 0)
124 normal_[cellI] = sIterIso_.surfaceArea();
125 centre_[cellI] = sIterIso_.surfaceCentre();
126 if (
mag(normal_[cellI]) != 0)
128 interfaceCell_[cellI] =
true;
132 interfaceCell_[cellI] =
false;
137 normal_[cellI] =
Zero;
138 centre_[cellI] =
Zero;
139 interfaceCell_[cellI] =
false;
144 normal_[cellI] =
Zero;
145 centre_[cellI] =
Zero;
146 interfaceCell_[cellI] =
false;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
const volScalarField & alpha1
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
void clear() noexcept
Clear the addressed list, i.e. set the size to zero.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Original code supplied by Henning Scheufler, DLR (2019)
Reconstructs an interface (centre and normal vectors) consisting of isosurfaces to match the internal...
virtual void reconstruct(bool forceUpdate=true)
Reconstructs the interface.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static constexpr const zero Zero
Global zero (0)
#define addProfilingInFunction(name)
#define forAll(list, i)
Loop across all elements in list.