48int main(
int argc,
char *argv[])
52 "Transient solver for incompressible, laminar flow"
53 " of Newtonian fluids in liquid film formulation."
60 #include "readGravitationalAcceleration.H"
66 Info<<
"\nStarting time loop\n" <<
endl;
74 #include "setDeltaT.H"
82 phi2s = fac::interpolate(
h)*
phis;
93 *frictionFactor.internalField()
94 *
mag(
Us.internalField()),
108 Us.correctBoundaryConditions();
111 (fac::interpolate(
Us) & aMesh.Le())
112 - fac::interpolate(1.0/(
rhol*UsA))*fac::lnGrad(ps*
h)*aMesh.magLe()
113 + fac::interpolate(ps/(
rhol*UsA))*fac::lnGrad(
h)*aMesh.magLe();
134 h.primitiveFieldRef() =
max
139 fac::average(
max(
h,
h0))().primitiveField()
140 *
pos(
h0.value() -
h.primitiveField())
146 ps.correctBoundaryConditions();
148 Us -= (1.0/(
rhol*UsA))*fac::grad(ps*
h)
149 - (ps/(
rhol*UsA))*fac::grad(
h);
150 Us.correctBoundaryConditions();
155 vsm.mapToVolume(
h,
H.boundaryFieldRef());
156 vsm.mapToVolume(
Us,
U.boundaryFieldRef());
161 runTime.printExecutionTime(Info);
Template specialisation for scalar faMatrix.
const volSurfaceMapping vsm(aMesh)
volScalarField H(IOobject("H", runTime.timeName(), mesh.thisDb(), IOobject::NO_READ, IOobject::AUTO_WRITE), mesh, dimensionedScalar(dimLength, Zero))
Read the control parameters used by setDeltaT.
dimensionedScalar pos(const dimensionedScalar &ds)
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
faMatrix< vector > faVectorMatrix
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
constexpr char nl
The newline '\n' character (0x0a).
loopControl iters(runTime, aMesh.solutionDict(), "solution")
Read the control parameters used by setDeltaT.
dimensionedScalar rhol("rhol", dimDensity, transportProperties)
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
edgeScalarField phis(IOobject("phis", runTime.timeName(), aMesh.thisDb(), IOobject::NO_READ, IOobject::NO_WRITE), linearEdgeInterpolate(Us) &aMesh.Le())
Calculates and outputs the mean and maximum Courant Numbers for the Finite Area method.