47contactAngleForce::contactAngleForce
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;
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const DynamicField< Type > & field() const noexcept
Return const-reference to the primitive field values.
@ NO_REGISTER
Do not request registration (bool: false).
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word scopedName(const std::string &scope, const word &name)
Create scope:name or scope_name string.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const edgeScalarField & deltaCoeffs() const
Return reference to difference factors array.
const DimensionedField< scalar, areaMesh > & S() const
Return face areas.
const labelUList & owner() const
Internal face owner.
const labelUList & neighbour() const
Internal face neighbour.
Finite area patch class. Used for 2-D non-Euclidian finite area method.
virtual bool write(const bool writeOnProc=true) const
Write using setting from DB.
const liquidFilmBase & film() const
Return const access to the film surface film model.
virtual bool writeTime() const
Flag to indicate when to write a property.
Base class for film (stress-based) force models.
virtual const areaScalarField & sigma() const =0
Access const reference sigma.
tmp< areaScalarField > alpha() const
Wet indicator using h0.
virtual const areaScalarField & mu() const =0
Access const reference mu.
virtual const areaScalarField & rho() const =0
Access const reference rho.
const areaVectorField & Uf() const noexcept
Access const reference Uf.
const areaScalarField & h() const noexcept
Access const reference h.
const faMesh & regionMesh() const
Return the region mesh database.
const dictionary coeffDict_
Coefficients dictionary.
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for managing temporary objects.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
autoPtr< surfaceVectorField > Uf
surfaceScalarField rhof(fvc::interpolate(rho, "div(phi,rho)"))
tmp< GeometricField< typename outerProduct< vector, Type >::type, faPatchField, areaMesh > > grad(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
quaternion normalised(const quaternion &q)
Return the normalised (unit) quaternion of the given quaternion.
const dimensionSet dimArea(sqr(dimLength))
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
constexpr scalar degToRad() noexcept
Multiplication factor for degrees to radians conversion.
GeometricField< vector, faPatchField, areaMesh > areaVectorField
GeometricField< scalar, faePatchField, edgeMesh > edgeScalarField
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
const dimensionSet dimForce
Field< vector > vectorField
Specialisation of Field<T> for vector.
static constexpr const zero Zero
Global zero (0).
const dimensionSet dimDensity
UList< label > labelUList
A UList of labels.
dimensionedScalar cos(const dimensionedScalar &ds)
dimensioned< vector > dimensionedVector
Dimensioned vector obtained from generic dimensioned type.
faPatchField< scalar > faPatchScalarField
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
#define forAll(list, i)
Loop across all elements in list.
Unit conversion functions.