37 namespace laminarModels
42 template<
class BasicMomentumTransportModel>
65 b_(
"b",
dimless, this->coeffDict_),
66 d_(
"d",
dimless, this->coeffDict_),
67 c_(
"c",
pow(
dimTime, d_.value() - scalar(1)), this->coeffDict_),
70 K_(1 -
sqrt(nuInf_/nu0_)),
71 BinghamPlastic_(this->coeffDict_.
found(
"sigmay")),
93 this->runTime_.
name(),
106 this->runTime_.
name(),
111 calcNu(this->strainRate())
118 template<
class BasicMomentumTransportModel>
127 nuInf_/(
sqr(1 - K_*lambda_) + rootVSmall)
136 sigmay_.dimensions(),
146 sigmay_/(strainRate + 1
e-4*(sigmay_ + sigmaySmall)/nu0_) + nu(),
155 template<
class BasicMomentumTransportModel>
157 lambdaThixotropic<BasicMomentumTransportModel>::strainRate()
const
165 template<
class BasicMomentumTransportModel>
170 a_.read(this->coeffDict());
171 b_.read(this->coeffDict());
172 d_.read(this->coeffDict());
181 nu0_.read(this->coeffDict());
182 nuInf_.read(this->coeffDict());
184 K_ = (1 -
sqrt(nuInf_/nu0_));
195 template<
class BasicMomentumTransportModel>
201 this->groupName(
"nuEff"),
207 template<
class BasicMomentumTransportModel>
214 return nu_.boundaryField()[
patchi];
218 template<
class BasicMomentumTransportModel>
251 lambdaEqn.
ref().relax();
256 lambda_.maxMin(scalar(0), scalar(1));
258 nu_ = calcNu(strainRate);
Generic GeometricField class.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static autoPtr< dictionary > New(Istream &)
Construct top-level dictionary on freestore from Istream.
Finite volume constraints.
bool constrain(fvMatrix< Type > &eqn) const
Apply constraints to an equation.
tmp< fvMatrix< Type > > source(const VolField< Type > &field) const
Return source for an equation.
Templated abstract base class for laminar transport models.
virtual void correct()
Predict the laminar viscosity.
Thixotropic viscosity momentum transport model based on the evolution of the structural parameter :
BasicMomentumTransportModel::alphaField alphaField
virtual void correct()
Correct the lambdaThixotropic viscosity.
virtual tmp< volScalarField > nuEff() const
Return the effective viscosity.
lambdaThixotropic(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity)
Construct from components.
virtual bool read()
Read momentumTransport dictionary.
BasicMomentumTransportModel::rhoField rhoField
Linear viscous stress turbulence model base class.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
Abstract base class for all fluid physical properties.
Foam::fvConstraints & fvConstraints(Foam::fvConstraints::New(mesh))
Foam::fvModels & fvModels(Foam::fvModels::New(mesh))
Calculate the matrix for the divergence of the given field and flux.
Calculate the matrix for implicit and explicit sources.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
tmp< VolField< typename outerProduct< vector, Type >::type > > grad(const SurfaceField< Type > &ssf)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
dimensionedSymmTensor symm(const dimensionedSymmTensor &dt)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionSet dimPressure
dimensionedSymmTensor sqr(const dimensionedVector &dv)
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimKinematicViscosity
const dimensionSet dimless
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
const dimensionSet dimTime
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionSet dimDensity
dimensioned< scalar > mag(const dimensioned< Type > &)
word typedName(Name name)
Return the name of the object within the given type.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.