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 predict ()
 The Maxwell stress is not predicted. More...
 
virtual void correct ()
 Correct the Maxwell stress. 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()

virtual ~Maxwell ( )
inlinevirtual

Destructor.

Definition at line 152 of file Maxwell.H.

Member Function Documentation

◆ readModeCoefficients()

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

Definition at line 42 of file Maxwell.C.

References Foam::endl(), forAll, found, IOWarningInFunction, Foam::name(), and PtrList< T >::set().

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_.

◆ sigmaSource()

tmp< fvSymmTensorMatrix > sigmaSource ( const label  modei,
volSymmTensorField sigma 
) const
protectedvirtual

Reimplemented in PTT< BasicMomentumTransportModel >, and Giesekus< BasicMomentumTransportModel >.

Definition at line 92 of file Maxwell.C.

References Foam::constant::physicoChemical::sigma, and Foam::fvm::Sp().

Here is the call 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 PTT< BasicMomentumTransportModel >, and Giesekus< BasicMomentumTransportModel >.

Definition at line 225 of file Maxwell.C.

References Foam::dimTime.

◆ nuEff() [1/2]

tmp< volScalarField > nuEff
virtual

Return the effective viscosity, i.e. the laminar viscosity.

Implements laminarModel< BasicMomentumTransportModel >.

Definition at line 248 of file Maxwell.C.

References GeometricField< Type, PatchField, GeoMesh >::New().

Here is the call 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 259 of file Maxwell.C.

References patchi.

◆ sigma()

tmp< volSymmTensorField > sigma
virtual

Return the stress tensor [m^2/s^2].

Reimplemented from laminarModel< BasicMomentumTransportModel >.

Definition at line 269 of file Maxwell.C.

◆ devTau()

tmp< volSymmTensorField > devTau
virtual

Return the effective stress tensor.

Definition at line 276 of file Maxwell.C.

References Foam::dev(), Foam::fvc::grad(), GeometricField< Type, PatchField, GeoMesh >::New(), and Foam::twoSymm().

Here is the call 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 289 of file Maxwell.C.

References Foam::dev2(), Foam::fvc::div(), Foam::fvc::grad(), Foam::fvm::laplacian(), Foam::T(), and U.

Here is the call 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 309 of file Maxwell.C.

References Foam::dev2(), Foam::fvc::div(), Foam::fvc::grad(), Foam::fvm::laplacian(), rho, Foam::T(), and U.

Here is the call graph for this function:

◆ predict()

virtual void predict ( )
inlinevirtual

The Maxwell stress is not predicted.

Reimplemented from laminarModel< BasicMomentumTransportModel >.

Definition at line 184 of file Maxwell.H.

◆ correct()

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.

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

◆ 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.

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

◆ sigmas_

PtrList<volSymmTensorField> sigmas_
protected

Mode viscoelastic stresses.

Definition at line 102 of file Maxwell.H.

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


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