Maxwell< BasicMomentumTransportModel > Class Template Reference

Generalised Maxwell model for viscoelasticity using the upper-convected time derivative of the stress tensor with support for multiple modes. More...

Inheritance diagram for Maxwell< BasicMomentumTransportModel >:
Collaboration diagram for Maxwell< BasicMomentumTransportModel >:

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< volScalarFieldnuEff () const
 Return the effective viscosity, i.e. the laminar viscosity. More...
 
virtual tmp< scalarFieldnuEff (const label patchi) const
 Return the effective viscosity on patch. More...
 
virtual tmp< volSymmTensorFieldsigma () const
 Return the stress tensor [m^2/s^2]. More...
 
virtual tmp< volSymmTensorFielddevTau () const
 Return the effective stress tensor. More...
 
virtual tmp< fvVectorMatrixdivDevTau (volVectorField &U) const
 Return the source term for the momentum equation. More...
 
virtual tmp< fvVectorMatrixdivDevTau (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 dictionarycoeffDict () const
 Const access to the coefficients dictionary. More...
 
virtual tmp< volScalarFieldnut () const
 Return the turbulence viscosity, i.e. 0 for laminar flow. More...
 
virtual tmp< scalarFieldnut (const label patchi) const
 Return the turbulence viscosity on patch. More...
 
virtual tmp< volScalarFieldk () const
 Return the turbulence kinetic energy, i.e. 0 for laminar flow. More...
 
virtual tmp< volScalarFieldepsilon () const
 Return the turbulence kinetic energy dissipation rate,. More...
 
virtual tmp< volScalarFieldomega () const
 Return the turbulence specific dissipation rate,. More...
 
void operator= (const laminarModel &)=delete
 Disallow default bitwise assignment. More...
 

Protected Member Functions

PtrList< dimensionedScalarreadModeCoefficients (const word &name, const dimensionSet &dims) const
 
tmp< volScalarFieldnu0 () const
 Return the non-Newtonian viscosity. More...
 
virtual tmp< fvSymmTensorMatrixsigmaSource (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< dictionarymodeCoefficients_
 
label nModes_
 
dimensionedScalar nuM_
 
PtrList< dimensionedScalarlambdas_
 
volSymmTensorField sigma_
 Single or mode sum viscoelastic stress. More...
 
PtrList< volSymmTensorFieldsigmas_
 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< laminarModelNew (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...
 

Detailed Description

template<class BasicMomentumTransportModel>
class Foam::laminarModels::Maxwell< BasicMomentumTransportModel >

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.
Source files

Definition at line 76 of file Maxwell.H.

Member Typedef Documentation

◆ alphaField

typedef BasicMomentumTransportModel::alphaField alphaField

Definition at line 128 of file Maxwell.H.

◆ rhoField

typedef BasicMomentumTransportModel::rhoField rhoField

Definition at line 129 of file Maxwell.H.

Constructor & Destructor Documentation

◆ Maxwell()

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~Maxwell()

Member Function Documentation

◆ readModeCoefficients()

PtrList< dimensionedScalar > readModeCoefficients ( const word name,
const dimensionSet dims 
) const
protected

Definition at line 43 of file Maxwell.C.

References Foam::endl(), forAll, IOWarningInFunction, lookup(), PtrList< T >::set(), and Maxwell< BasicMomentumTransportModel >::sigmaSource().

Here is the call graph for this function:

◆ nu0()

tmp<volScalarField> nu0 ( ) const
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().

Here is the call graph for this function:

◆ sigmaSource()

tmp< fvSymmTensorMatrix > sigmaSource ( const label  modei,
volSymmTensorField sigma 
) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TypeName()

TypeName ( "Maxwell< BasicMomentumTransportModel >"  )

Runtime type information.

◆ read()

bool read ( )
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().

Here is the caller graph for this function:

◆ nuEff() [1/2]

tmp< volScalarField > nuEff ( ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ nuEff() [2/2]

tmp< scalarField > nuEff ( const label  patchi) const
virtual

Return the effective viscosity on patch.

Implements laminarModel< BasicMomentumTransportModel >.

Definition at line 260 of file Maxwell.C.

◆ sigma()

tmp< volSymmTensorField > sigma ( ) const
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().

Here is the caller graph for this function:

◆ devTau()

tmp< volSymmTensorField > devTau ( ) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ divDevTau() [1/2]

tmp< fvVectorMatrix > divDevTau ( volVectorField U) const
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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ divDevTau() [2/2]

tmp< fvVectorMatrix > divDevTau ( const volScalarField rho,
volVectorField U 
) const
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().

Here is the call graph for this function:

◆ correct()

void correct ( )
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().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ modeCoefficients_

PtrList<dictionary> modeCoefficients_
protected

Definition at line 87 of file Maxwell.H.

◆ nModes_

label nModes_
protected

Definition at line 89 of file Maxwell.H.

◆ nuM_

dimensionedScalar nuM_
protected

Definition at line 91 of file Maxwell.H.

Referenced by Maxwell< BasicMomentumTransportModel >::nu0().

◆ lambdas_

PtrList<dimensionedScalar> lambdas_
protected

Definition at line 93 of file Maxwell.H.

◆ sigma_

volSymmTensorField sigma_
protected

Single or mode sum viscoelastic stress.

Definition at line 99 of file Maxwell.H.

◆ sigmas_

PtrList<volSymmTensorField> sigmas_
protected

Mode viscoelastic stresses.

Definition at line 102 of file Maxwell.H.


The documentation for this class was generated from the following files: