Go to the documentation of this file.
27 #include "alphaContactAngleFvPatchScalarField.H"
66 if (isA<alphaContactAngleFvPatchScalarField>(abf[
patchi]))
71 refCast<const alphaContactAngleFvPatchScalarField>
80 convertToRad*acap.
theta(U_.boundaryField()[
patchi], nHatp)
96 b2[facei] =
cos(
acos(a12[facei]) - theta[facei]);
104 nHatp = a*nf +
b*nHatp;
105 nHatp /= (
mag(nHatp) + deltaN_.
value());
107 acap.gradient() = (nf & nHatp)*
mag(gradAlphaf[
patchi]);
167 transportPropertiesDict_(
dict),
172 alpha1.mesh().solverDict(
alpha1.name()).lookup(
"cAlpha")
191 alpha1_.time().timeName(),
202 "interfaceProperties:K",
203 alpha1_.time().timeName(),
226 return pos(alpha1_ - 0.01)*
pos(0.99 - alpha1_);
232 alpha1_.mesh().solverDict(alpha1_.name()).lookup(
"cAlpha") >> cAlpha_;
233 transportPropertiesDict_.lookup(
"sigma") >> sigma_;
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > snGrad(const GeometricField< Type, fvPatchField, volMesh > &vf, const word &name)
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
surfaceScalarField nHatf_
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
tmp< GeometricField< typename outerProduct< vector, Type >::type, fvPatchField, volMesh >> grad(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
const volScalarField & alpha1_
void correctContactAngle(surfaceVectorField::GeometricBoundaryField &nHat, surfaceVectorField::GeometricBoundaryField &gradAlphaf) const
Correction for the boundary condition on the unit normal nHat on.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
interfaceProperties(const interfaceProperties &)
Disallow default bitwise copy construct and assignment.
void interfacePropertiesLoad()
Calculate the snGrad of the given volField.
faceListList boundary(nPatches)
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > interpolate(const GeometricField< Type, fvPatchField, volMesh > &vf, const surfaceScalarField &faceFlux, Istream &schemeData)
Interpolate field onto faces using scheme given by Istream.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Calculate the divergence of the given field.
tmp< GeometricField< Type, fvPatchField, volMesh > > div(const GeometricField< Type, fvsPatchField, surfaceMesh > &ssf)
GeometricBoundaryField & boundaryField()
Return reference to GeometricBoundaryField.
void calculateK()
Re-calculate the interface curvature.
const Type & value() const
Return const reference to value.
Dimension set for the base types.
dimensioned< scalar > mag(const dimensioned< Type > &)
const dimensionedScalar deltaN_
Stabilisation for normalisation of the interface normal.
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
const dimensionSet dimArea(sqr(dimLength))
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
Pre-declare SubField and related Field type.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
tmp< surfaceScalarField > surfaceTensionForce() const
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
const double e
Elementary charge.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if succesful.
dimensionedScalar acos(const dimensionedScalar &ds)
Calculate the gradient of the given field.
dimensionedScalar det(const dimensionedSphericalTensor &dt)
Generic GeometricField class.
static const scalar convertToRad
Conversion factor for degrees into radians.
dimensioned< Type > average(const DimensionedField< Type, GeoMesh > &df)
bool read()
Read transportProperties dictionary.
dimensionedScalar cos(const dimensionedScalar &ds)
dimensionedScalar pos(const dimensionedScalar &ds)