33 namespace blendingMethods
52 return (1 +
tanh((4/transitionAlphaScale_.
value)*(
x - a)))/2;
67 readParameters(
"minContinuousAlpha",
dict, interface, {0, 1},
true)
71 readParameter(
"transitionAlphaScale",
dict, {0, vGreat},
false)
78 && minContinuousAlpha_[0].value + minContinuousAlpha_[1].value
83 << typeName.capitalise() <<
" blending function for interface "
84 << interface.name() <<
" is invalid in that it creates negative "
85 <<
"coefficients for sub-modelled values. A valid function will "
86 <<
"have minimum continuous alphas that sum one or greater."
102 return minContinuousAlpha_[index].valid;
110 && canBeContinuous(1)
111 && minContinuousAlpha_[0].value + minContinuousAlpha_[1].value
Macros for easy insertion into run-time selection tables.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Abstract base class for functions that are used to combine interfacial sub-models according to the vo...
tmp< volScalarField > x(const UPtrList< const volScalarField > &alphas, const label phaseSet, const label systemSet) const
Return the coordinate of the blending function.
tmp< volScalarField > parameter(const UPtrList< const volScalarField > &alphas, const label set, const Pair< blendingParameter > ¶meters) const
Get a blending parameter averaged for the given set.
Blending method based on smooth hyperbolic functions. Supports the full range of phase fraction space...
virtual tmp< volScalarField > fContinuous(const UPtrList< const volScalarField > &alphas, const label phaseSet, const label systemSet) const
Evaluate the blending function.
virtual bool canSegregate() const
Return whether or not this interface can segregate.
hyperbolic(const dictionary &dict, const phaseInterface &interface)
Construct from a dictionary and an interface.
virtual bool canBeContinuous(const label index) const
Return whether or not a phase can be considered continuous.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Class to represent an interface between phases. Derivations can further specify the configuration of ...
A class for managing temporary objects.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
defineTypeNameAndDebug(continuous, 0)
addToRunTimeSelectionTable(blendingMethod, continuous, dictionary)
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedScalar tanh(const dimensionedScalar &ds)
scalar value
The parameter value. Could be templated if needed.