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")),
84 this->runTime_.
name(),
97 this->runTime_.
name(),
102 calcNu(this->strainRate())
109 template<
class BasicMomentumTransportModel>
118 nuInf_/(
sqr(1 - K_*lambda_) + rootVSmall)
127 sigmay_.dimensions(),
137 sigmay_/(strainRate + 1
e-4*(sigmay_ + sigmaySmall)/nu0_) + nu(),
146 template<
class BasicMomentumTransportModel>
148 lambdaThixotropic<BasicMomentumTransportModel>::strainRate()
const
156 template<
class BasicMomentumTransportModel>
161 a_.read(this->coeffDict());
162 b_.read(this->coeffDict());
163 d_.read(this->coeffDict());
172 nu0_.read(this->coeffDict());
173 nuInf_.read(this->coeffDict());
175 K_ = (1 -
sqrt(nuInf_/nu0_));
186 template<
class BasicMomentumTransportModel>
192 this->groupName(
"nuEff"),
198 template<
class BasicMomentumTransportModel>
205 return nu_.boundaryField()[
patchi];
209 template<
class BasicMomentumTransportModel>
227 a_*
pow(1 - lambda_(), b_)
232 lambdaEqn.
ref().relax();
237 lambda_.maxMin(scalar(0), scalar(1));
239 nu_ = calcNu(strainRate);
Generic GeometricField class.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
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.
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< VolField< Type > > div(const SurfaceField< Type > &ssf)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
tmp< fvMatrix< Type > > div(const surfaceScalarField &flux, const VolField< Type > &vf, const word &name)
tmp< fvMatrix< Type > > ddt(const VolField< Type > &vf)
const dimensionSet dimViscosity
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
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)
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.
word name(const complex &)
Return a string representation of a complex.
SolverPerformance< Type > solve(fvMatrix< Type > &, const word &)
Solve returning the solution statistics given convergence tolerance.