Go to the documentation of this file.
37 #ifndef interfaceTrackingFvMesh_H
38 #define interfaceTrackingFvMesh_H
74 wordList nonReflectingFreeSurfacePatches_;
77 wordList pointNormalsCorrectionPatches_;
97 Switch correctContactLineNormals_;
154 void makeControlPoints();
157 void makeMotionPointsMask();
160 void makeDirections();
163 void makeFsNetPhi()
const;
169 void makeBulkSurfactConc()
const;
172 void makeSurfactConc()
const;
175 void makeSurfaceTension()
const;
178 void makeSurfactant()
const;
181 void makeContactAngle();
190 void initializeData();
193 void updateDisplacementDirections();
196 void initializeControlPointsPosition();
211 void smoothFreeSurfaceMesh();
214 void updateSurfaceFlux();
217 void updateSurfactantConcentration();
220 vector totalPressureForce()
const;
223 vector totalViscousForce()
const;
226 vector totalSurfaceTensionForce()
const;
229 scalar maxCourantNumber();
232 void updateProperties();
235 void correctContactLinePointNormals();
238 void correctPointDisplacement
247 TypeName(
"interfaceTrackingFvMesh");
264 const bool syncPar =
true
298 return fsPatchIndex_;
304 return pureFreeSurface_;
310 return rigidFreeSurface_;
316 return rigidFreeSurface_;
322 return correctContactLineNormals_;
328 return correctContactLineNormals_;
388 return normalMotionDir_;
virtual const pointField & points() const
Return raw points.
const faMesh & aMesh() const
Return reference to finite area mesh.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
faMesh & aMesh()
Return reference to finite area mesh.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
volScalarField & bulkSurfactantConcentration()
Return volume surfactant concentration field.
A primitive field of type <T> with automated input and output.
areaScalarField & surfactantConcentration()
Return free-surface surfactant concentration field.
const dimensionedScalar & sigma() const
Surface tension coefficient of pure free-surface.
A class for managing temporary objects.
const Switch & pureFreeSurface() const
Pure free-surface.
Template functions to aid in the implementation of demand driven data.
The interfaceTrackingFvMesh.
void writeVTK() const
Write VTK freeSurface mesh.
const Switch & correctContactLineNormals() const
Correct contact line point normals.
const label & fsPatchIndex() const
tmp< scalarField > freeSurfacePressureJump()
Return free surface pressure jump.
void deleteDemandDrivenData(DataPtr &dataPtr)
void updateUs()
Update free-surface velocity field.
tmp< areaVectorField > surfaceTensionGrad()
Return surface tension gradient.
const volScalarField & p() const
Return constant reference to pressure field.
vectorField & pointsDisplacementDir()
Return reference to point displacement direction field.
Switch & correctContactLineNormals()
Correct contact line point normals.
const Switch & rigidFreeSurface() const
Rigid free-surface.
const volVectorField & U() const
Return constant reference to velocity field.
Switch & rigidFreeSurface()
Rigid free-surface.
const areaScalarField & fsNetPhi() const
Return free-surface net flux.
tmp< vectorField > freeSurfaceSnGradU()
Return free surface normal derivative of velocity.
Mesh data needed to do the Finite Volume discretisation.
tmp< scalarField > freeSurfaceSnGradUn()
Return free surface normal derivative of normal velocity comp.
areaScalarField & surfaceTension()
Return surface tension field.
bool normalMotionDir() const
Motion direction swithc.
labelList & motionPointsMask()
Return reference to motion points mask field.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual const faceList & faces() const
Return raw faces.
TypeName("interfaceTrackingFvMesh")
Runtime type information.
void writeVTKControlPoints()
Write VTK freeSurface control points.
vectorField & facesDisplacementDir()
Return reference to control points displacement direction field.
void clearControlPoints()
Clear control points.
void correctUsBoundaryConditions()
Correct surface velocity boundary conditions.
const surfaceScalarField & phi() const
Return constant reference to velocity field.
Finite area mesh. Used for 2-D non-Euclidian finite area method.
vectorField & controlPoints()
Return control points.
virtual bool update()
Update the mesh for both mesh motion and topology change.
const surfactantProperties & surfactant() const
Return surfactant properties.
Generic GeometricField class.
const fvMesh & mesh() const
areaVectorField & Us()
Return free-surface velocity field.
edgeScalarField & Phis()
Return free-surface fluid flux field.
~interfaceTrackingFvMesh()
Destructor.
The dynamicMotionSolverFvMesh.