Generalised Maxwell model for viscoelasticity using the upper-convected time derivative of the stress tensor with support for multiple modes. More...
Public Types | |
typedef BasicMomentumTransportModel::alphaField | alphaField |
typedef BasicMomentumTransportModel::rhoField | rhoField |
Public Types inherited from laminarModel< BasicMomentumTransportModel > | |
typedef BasicMomentumTransportModel::alphaField | alphaField |
typedef BasicMomentumTransportModel::rhoField | rhoField |
Public Member Functions | |
TypeName ("Maxwell") | |
Runtime type information. More... | |
Maxwell (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity, const word &type=typeName) | |
Construct from components. More... | |
virtual | ~Maxwell () |
Destructor. More... | |
virtual bool | read () |
Read model coefficients if they have changed. More... | |
virtual tmp< volScalarField > | nuEff () const |
Return the effective viscosity, i.e. the laminar viscosity. More... | |
virtual tmp< scalarField > | nuEff (const label patchi) const |
Return the effective viscosity on patch. More... | |
virtual tmp< volSymmTensorField > | sigma () const |
Return the stress tensor [m^2/s^2]. More... | |
virtual tmp< volSymmTensorField > | devTau () const |
Return the effective stress tensor. More... | |
virtual tmp< fvVectorMatrix > | divDevTau (volVectorField &U) const |
Return the source term for the momentum equation. More... | |
virtual tmp< fvVectorMatrix > | divDevTau (const volScalarField &rho, volVectorField &U) const |
Return the source term for the momentum equation. More... | |
virtual void | correct () |
Solve the turbulence equations and correct eddy-Viscosity and. More... | |
Public Member Functions inherited from laminarModel< BasicMomentumTransportModel > | |
TypeName ("laminar") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, laminarModel, dictionary,(const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity),(alpha, rho, U, alphaRhoPhi, phi, viscosity)) | |
laminarModel (const word &type, const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity) | |
Construct from components. More... | |
laminarModel (const laminarModel &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~laminarModel () |
Destructor. More... | |
virtual const dictionary & | coeffDict () const |
Const access to the coefficients dictionary. More... | |
virtual tmp< volScalarField > | nut () const |
Return the turbulence viscosity, i.e. 0 for laminar flow. More... | |
virtual tmp< scalarField > | nut (const label patchi) const |
Return the turbulence viscosity on patch. More... | |
virtual tmp< volScalarField > | k () const |
Return the turbulence kinetic energy, i.e. 0 for laminar flow. More... | |
virtual tmp< volScalarField > | epsilon () const |
Return the turbulence kinetic energy dissipation rate,. More... | |
virtual tmp< volScalarField > | omega () const |
Return the turbulence specific dissipation rate,. More... | |
void | operator= (const laminarModel &)=delete |
Disallow default bitwise assignment. More... | |
Protected Member Functions | |
PtrList< dimensionedScalar > | readModeCoefficients (const word &name, const dimensionSet &dims) const |
tmp< volScalarField > | nu0 () const |
Return the non-Newtonian viscosity. More... | |
virtual tmp< fvSymmTensorMatrix > | sigmaSource (const label modei, volSymmTensorField &sigma) const |
Protected Member Functions inherited from laminarModel< BasicMomentumTransportModel > | |
virtual void | printCoeffs (const word &type) |
Print model coefficients. More... | |
Protected Attributes | |
PtrList< dictionary > | modeCoefficients_ |
label | nModes_ |
dimensionedScalar | nuM_ |
PtrList< dimensionedScalar > | lambdas_ |
volSymmTensorField | sigma_ |
Single or mode sum viscoelastic stress. More... | |
PtrList< volSymmTensorField > | sigmas_ |
Mode viscoelastic stresses. More... | |
Protected Attributes inherited from laminarModel< BasicMomentumTransportModel > | |
dictionary | laminarDict_ |
laminar coefficients dictionary More... | |
Switch | printCoeffs_ |
Flag to print the model coeffs at run-time. More... | |
dictionary | coeffDict_ |
Model coefficients dictionary. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from laminarModel< BasicMomentumTransportModel > | |
static autoPtr< laminarModel > | New (const alphaField &alpha, const rhoField &rho, const volVectorField &U, const surfaceScalarField &alphaRhoPhi, const surfaceScalarField &phi, const viscosity &viscosity) |
Return a reference to the selected laminar model. More... | |
Generalised Maxwell model for viscoelasticity using the upper-convected time derivative of the stress tensor with support for multiple modes.
See http://en.wikipedia.org/wiki/Upper-convected_Maxwell_model http://en.wikipedia.org/wiki/Generalised_Maxwell_model
The model includes an additional viscosity (nu) from the viscosity model from which it is instantiated, which makes it equivalent to the Oldroyd-B model for the case of an incompressible viscosity model (where nu is non-zero). See https://en.wikipedia.org/wiki/Oldroyd-B_model
Reference:
Wiechert, E. (1889). Ueber elastische Nachwirkung. (Doctoral dissertation, Hartungsche buchdr.). Wiechert, E. (1893). Gesetze der elastischen Nachwirkung für constante Temperatur. Annalen der Physik, 286(11), 546-570. Amoreira, L. J., & Oliveira, P. J. (2010). Comparison of different formulations for the numerical calculation of unsteady incompressible viscoelastic fluid flow. Adv. Appl. Math. Mech, 4, 483-502.
typedef BasicMomentumTransportModel::alphaField alphaField |
Maxwell | ( | const alphaField & | alpha, |
const rhoField & | rho, | ||
const volVectorField & | U, | ||
const surfaceScalarField & | alphaRhoPhi, | ||
const surfaceScalarField & | phi, | ||
const viscosity & | viscosity, | ||
const word & | type = typeName |
||
) |
Construct from components.
Definition at line 106 of file Maxwell.C.
References IOobject::AUTO_WRITE, Foam::endl(), forAll, IOobject::groupName(), Foam::Info, IOobject::MUST_READ, Foam::name(), and IOobject::NO_READ.
Referenced by Maxwell< BasicMomentumTransportModel >::sigmaSource().
|
inlinevirtual |
Destructor.
Definition at line 152 of file Maxwell.H.
References Maxwell< BasicMomentumTransportModel >::correct(), Maxwell< BasicMomentumTransportModel >::devTau(), Maxwell< BasicMomentumTransportModel >::divDevTau(), Maxwell< BasicMomentumTransportModel >::nuEff(), patchi, Maxwell< BasicMomentumTransportModel >::read(), rho, Maxwell< BasicMomentumTransportModel >::sigma(), and U.
|
protected |
Definition at line 43 of file Maxwell.C.
References Foam::endl(), forAll, IOWarningInFunction, lookup(), PtrList< T >::set(), and Maxwell< BasicMomentumTransportModel >::sigmaSource().
|
inlineprotected |
Return the non-Newtonian viscosity.
Definition at line 114 of file Maxwell.H.
References Maxwell< BasicMomentumTransportModel >::nuM_, Maxwell< BasicMomentumTransportModel >::sigma(), and Maxwell< BasicMomentumTransportModel >::sigmaSource().
|
protectedvirtual |
Reimplemented in Giesekus< BasicMomentumTransportModel >, and PTT< BasicMomentumTransportModel >.
Definition at line 93 of file Maxwell.C.
References Maxwell< BasicMomentumTransportModel >::Maxwell(), and Foam::fvm::Sp().
Referenced by Maxwell< BasicMomentumTransportModel >::nu0(), and Maxwell< BasicMomentumTransportModel >::readModeCoefficients().
TypeName | ( | "Maxwell< BasicMomentumTransportModel >" | ) |
Runtime type information.
|
virtual |
Read model coefficients if they have changed.
Reimplemented from laminarModel< BasicMomentumTransportModel >.
Reimplemented in Giesekus< BasicMomentumTransportModel >, and PTT< BasicMomentumTransportModel >.
Definition at line 225 of file Maxwell.C.
References Foam::dimTime.
Referenced by Maxwell< BasicMomentumTransportModel >::~Maxwell().
|
virtual |
Return the effective viscosity, i.e. the laminar viscosity.
Implements laminarModel< BasicMomentumTransportModel >.
Definition at line 248 of file Maxwell.C.
References IOobject::groupName(), and GeometricField< scalar, fvPatchField, volMesh >::New().
Referenced by Maxwell< BasicMomentumTransportModel >::~Maxwell().
|
virtual |
Return the effective viscosity on patch.
Implements laminarModel< BasicMomentumTransportModel >.
|
virtual |
Return the stress tensor [m^2/s^2].
Reimplemented from laminarModel< BasicMomentumTransportModel >.
Definition at line 269 of file Maxwell.C.
Referenced by Maxwell< BasicMomentumTransportModel >::nu0(), and Maxwell< BasicMomentumTransportModel >::~Maxwell().
|
virtual |
Return the effective stress tensor.
Definition at line 276 of file Maxwell.C.
References Foam::dev(), Maxwell< BasicMomentumTransportModel >::divDevTau(), Foam::fvc::grad(), IOobject::groupName(), GeometricField< symmTensor, fvPatchField, volMesh >::New(), and Foam::twoSymm().
Referenced by Maxwell< BasicMomentumTransportModel >::~Maxwell().
|
virtual |
Return the source term for the momentum equation.
Definition at line 290 of file Maxwell.C.
References Foam::dev2(), Foam::fvc::div(), Foam::fvc::grad(), Foam::fvm::laplacian(), and Foam::T().
Referenced by Maxwell< BasicMomentumTransportModel >::devTau(), and Maxwell< BasicMomentumTransportModel >::~Maxwell().
|
virtual |
Return the source term for the momentum equation.
Definition at line 310 of file Maxwell.C.
References Foam::dev2(), Foam::fvc::div(), Foam::fvc::grad(), Foam::fvm::laplacian(), and Foam::T().
|
virtual |
Solve the turbulence equations and correct eddy-Viscosity and.
related properties
Reimplemented from laminarModel< BasicMomentumTransportModel >.
Definition at line 329 of file Maxwell.C.
References fvConstraints::constrain(), laminarModel< BasicMomentumTransportModel >::correct(), Foam::fvm::ddt(), Foam::fvm::div(), forAll, fvConstraints, fvModels, Foam::fvc::grad(), IOobject::groupName(), Foam::name(), IOobject::name(), dictionary::New(), word::null, fvMatrix< Type >::relax(), and Foam::twoSymm().
Referenced by Maxwell< BasicMomentumTransportModel >::~Maxwell().
|
protected |
|
protected |
Definition at line 91 of file Maxwell.H.
Referenced by Maxwell< BasicMomentumTransportModel >::nu0().
|
protected |
|
protected |
|
protected |