36 namespace regionModels
38 namespace areaSurfaceFilmModels
47 contactAngleForce::contactAngleForce
55 Ccf_(coeffDict_.
get<scalar>(
"Ccf")),
56 hCrit_(coeffDict_.getOrDefault<scalar>(
"hCrit", GREAT))
70 film().regionMesh().thisDb(),
105 const label faceO = own[edgei];
106 const label faceN = nei[edgei];
109 if ((
alpha[faceO] > 0.5) && (
alpha[faceN] < 0.5))
113 else if ((
alpha[faceO] < 0.5) && (
alpha[faceN] > 0.5))
125 Ccf_*
n*
sigma[facei]*(1 - cosTheta)
126 /invDx[edgei]/
rhof[facei]/magSff[facei];
129 if (hf[facei] > hCrit_)
131 force[facei] -=
mu[facei]*
Uf[facei]/hCrit_;
138 const faPatch&
p = sigmaBf.patch();
146 const label face0 = faces[edgei];
160 tfvm.ref() += tforce;
List< ReturnType > get(const UPtrList< T > &list, const AccessOp &aop)
List of values generated by applying the access operation to each list item.
faPatchField< scalar > faPatchScalarField
const edgeScalarField & deltaCoeffs() const
Return reference to difference factors array.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual const areaScalarField & sigma() const =0
Access const reference sigma.
Unit conversion functions.
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
const DimensionedField< scalar, areaMesh > & S() const
Return face areas.
Base class for film (stress-based) force models.
Ignore writing from objectRegistry::writeObject()
quaternion normalised(const quaternion &q)
Return the normalised (unit) quaternion of the given quaternion.
defineTypeNameAndDebug(kinematicThinFilm, 0)
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
Macros for easy insertion into run-time selection tables.
UList< label > labelUList
A UList of labels.
virtual bool writeTime() const
Flag to indicate when to write a property.
#define forAll(list, i)
Loop across all elements in list.
const labelUList & neighbour() const
Internal face neighbour.
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
dimensionedScalar cos(const dimensionedScalar &ds)
A class for handling words, derived from Foam::string.
const areaScalarField & h() const noexcept
Access const reference h.
virtual bool write(const bool writeOnProc=true) const
Write using setting from DB.
const faMesh & regionMesh() const
Return the region mesh database.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
autoPtr< surfaceVectorField > Uf
const dimensionSet dimForce
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
const dimensionSet dimDensity
const labelUList & owner() const
Internal face owner.
const Field< Type > & field() const noexcept
Return const-reference to the field values.
const dimensionedScalar mu
Atomic mass unit.
virtual const areaScalarField & rho() const =0
Access const reference rho.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const areaVectorField & Uf() const noexcept
Access const reference Uf.
virtual const areaScalarField & mu() const =0
Access const reference mu.
A class for managing temporary objects.
tmp< areaScalarField > alpha() const
Wet indicator using h0.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
constexpr scalar degToRad(const scalar deg) noexcept
Conversion from degrees to radians.
Defines the attributes of an object for which implicit objectRegistry management is supported...
surfaceScalarField rhof(fvc::interpolate(rho, "div(phi,rho)"))
Do not request registration (bool: false)
const dimensionSet dimArea(sqr(dimLength))
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh >> grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
static constexpr const zero Zero
Global zero (0)
const liquidFilmBase & film() const
Return const access to the film surface film model.