3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > > Class Template Reference

Navier-Stokes default problem implementation for FCDiamond discretizations. More...

#include <dumux/freeflow/navierstokes/momentum/problem.hh>

Inheritance diagram for Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >:

Description

template<class TypeTag, class DM>
class Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >

Navier-Stokes default problem implementation for FCDiamond discretizations.

Public Types

using InitialValues = Dune::FieldVector< Scalar, dimWorld >
 
using Sources = Dune::FieldVector< Scalar, dimWorld >
 
using DirichletValues = Dune::FieldVector< Scalar, dimWorld >
 
using BoundaryFluxes = Dune::FieldVector< Scalar, dimWorld >
 
using BoundaryTypes = NavierStokesMomentumBoundaryTypes< ModelTraits::dim()>
 Export the boundary types. More...
 
using SpatialParams = GetPropType< TypeTag, Properties::SpatialParams >
 

Public Member Functions

 NavierStokesMomentumProblemImpl (std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string &paramGroup="")
 The constructor. More...
 
 NavierStokesMomentumProblemImpl (std::shared_ptr< const GridGeometry > gridGeometry, const std::string &paramGroup="")
 The constructor for usage without a coupling manager. More...
 
template<class ElementVolumeVariables >
Sources source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 Evaluate the source term for all phases within a given sub-control-volume. More...
 
Sources sourceAtPos (const GlobalPosition &globalPos) const
 Evaluate the source term for all phases within a given sub-control-volume. More...
 
BoundaryTypes boundaryTypes (const Element &element, const SubControlVolume &scv) const
 Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
 
BoundaryTypes boundaryTypes (const Element &element, const SubControlVolumeFace &scvf) const
 Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
 
DirichletValues dirichlet (const Element &element, const SubControlVolume &scv) const
 Evaluate the boundary conditions for a Dirichlet control volume. More...
 
DirichletValues dirichlet (const Element &element, const SubControlVolumeFace &scvf) const
 Evaluate the boundary conditions for a Dirichlet control volume face. More...
 
const GravityVector & gravity () const
 Returns the acceleration due to gravity. More...
 
bool enableInertiaTerms () const
 Returns whether inertia terms should be considered. More...
 
Scalar referencePressure () const
 Returns a reference pressure This pressure is subtracted from the actual pressure for the momentum balance which potentially helps to improve numerical accuracy by avoiding issues related do floating point arithmetic. More...
 
Scalar pressure (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf) const
 Returns the pressure at a given sub control volume face. More...
 
Scalar pressure (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolume &scv, const bool isPreviousTimeStep=false) const
 Returns the pressure at a given sub control volume. More...
 
Scalar pressureAtPos (const GlobalPosition &) const
 Returns the pressure at a given position. More...
 
Scalar density (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf) const
 Returns the density at a given sub control volume face. More...
 
Scalar density (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolume &scv, const bool isPreviousTimeStep=false) const
 Returns the density at a given sub control volume. More...
 
Scalar densityAtPos (const GlobalPosition &) const
 Returns the density at a given position. More...
 
Scalar effectiveViscosity (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolumeFace &scvf) const
 Returns the effective dynamic viscosity at a given sub control volume face. More...
 
Scalar effectiveViscosity (const Element &element, const FVElementGeometry &fvGeometry, const SubControlVolume &scv) const
 Returns the effective dynamic viscosity at a given sub control volume. More...
 
Scalar effectiveViscosityAtPos (const GlobalPosition &) const
 Returns the effective dynamic viscosity at a given position. More...
 
template<class SolutionVector >
void applyInitialSolution (SolutionVector &sol) const
 Applies the initial solution for all degrees of freedom of the grid. More...
 
InitialValues initial (const SubControlVolume &scv) const
 Evaluate the initial value at an sub control volume. More...
 
const SpatialParamsspatialParams () const
 Return a reference to the underlying spatial parameters. More...
 
SpatialParamsspatialParams ()
 Return a reference to the underlying spatial parameters. More...
 
const std::string & name () const
 The problem name. More...
 
void setName (const std::string &newName)
 Set the problem name. More...
 

Static Public Member Functions

static constexpr bool isMomentumProblem ()
 This problem is used for the momentum balance model. More...
 

Boundary conditions and sources defining the problem

static constexpr bool enableInternalDirichletConstraints ()
 If internal Dirichlet constraints are enabled Enables / disables internal (non-boundary) Dirichlet constraints. If this is overloaded to return true, the assembler calls problem.hasInternalDirichletConstraint(element, scv). This means you have to implement the following member function. More...
 
BoundaryTypes boundaryTypesAtPos (const GlobalPosition &globalPos) const
 Specifies which kind of boundary condition should be used for which equation on a given boundary segment. More...
 
PrimaryVariables dirichletAtPos (const GlobalPosition &globalPos) const
 Evaluate the boundary conditions for a dirichlet control volume. More...
 
template<class ElementVolumeVariables , class ElementFluxVariablesCache >
NumEqVector neumann (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const ElementFluxVariablesCache &elemFluxVarsCache, const SubControlVolumeFace &scvf) const
 Evaluate the boundary conditions for a neumann boundary segment. More...
 
NumEqVector neumannAtPos (const GlobalPosition &globalPos) const
 Evaluate the boundary conditions for a neumann boundary segment. More...
 
template<class ElementVolumeVariables >
NumEqVector source (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 Evaluate the source term for all phases within a given sub-control-volume. More...
 
void addPointSources (std::vector< PointSource > &pointSources) const
 Applies a vector of point sources. The point sources are possibly solution dependent. More...
 
template<class ElementVolumeVariables >
void pointSource (PointSource &source, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume. More...
 
void pointSourceAtPos (PointSource &pointSource, const GlobalPosition &globalPos) const
 Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume. More...
 
template<class MatrixBlock , class VolumeVariables >
void addSourceDerivatives (MatrixBlock &block, const Element &element, const FVElementGeometry &fvGeometry, const VolumeVariables &volVars, const SubControlVolume &scv) const
 Add source term derivative to the Jacobian. More...
 
template<class ElementVolumeVariables >
NumEqVector scvPointSources (const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
 Adds contribution of point sources for a specific sub control volume to the values. Caution: Only overload this method in the implementation if you know what you are doing. More...
 
void computePointSourceMap ()
 Compute the point source map, i.e. which scvs have point source contributions. More...
 
const PointSourceMap & pointSourceMap () const
 Get the point source map. It stores the point sources per scv. More...
 
template<class Entity >
PrimaryVariables initial (const Entity &entity) const
 Evaluate the initial value for an element (for cell-centered models) or vertex (for box / vertex-centered models) More...
 
PrimaryVariables initialAtPos (const GlobalPosition &globalPos) const
 Evaluate the initial value for a control volume. More...
 
const GridGeometry & gridGeometry () const
 The finite volume grid geometry. More...
 
const std::string & paramGroup () const
 The parameter group in which to retrieve runtime parameters. More...
 

Member Typedef Documentation

◆ BoundaryFluxes

template<class TypeTag , class DM >
using Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::BoundaryFluxes = Dune::FieldVector<Scalar, dimWorld>

◆ BoundaryTypes

template<class TypeTag , class DM >
using Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::BoundaryTypes = NavierStokesMomentumBoundaryTypes<ModelTraits::dim()>

Export the boundary types.

◆ DirichletValues

template<class TypeTag , class DM >
using Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::DirichletValues = Dune::FieldVector<Scalar, dimWorld>

◆ InitialValues

template<class TypeTag , class DM >
using Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::InitialValues = Dune::FieldVector<Scalar, dimWorld>

These types are used in place of the typical NumEqVector type. In the numeqvector assembly type, only one equation per DOF (face) is considered while the type here provides one entry for each world dimension.

◆ Sources

template<class TypeTag , class DM >
using Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::Sources = Dune::FieldVector<Scalar, dimWorld>

◆ SpatialParams

template<class TypeTag >
using Dumux::FVProblemWithSpatialParams< TypeTag >::SpatialParams = GetPropType<TypeTag, Properties::SpatialParams>
inherited

Constructor & Destructor Documentation

◆ NavierStokesMomentumProblemImpl() [1/2]

template<class TypeTag , class DM >
Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::NavierStokesMomentumProblemImpl ( std::shared_ptr< const GridGeometry >  gridGeometry,
std::shared_ptr< CouplingManager >  couplingManager,
const std::string &  paramGroup = "" 
)
inline

The constructor.

Parameters
gridGeometryThe finite volume grid geometry
couplingManagerA coupling manager (in case this problem is a coupled "mass-momentum"/full Navier-Stokes problem)
paramGroupThe parameter group in which to look for runtime parameters first (default is "")

◆ NavierStokesMomentumProblemImpl() [2/2]

template<class TypeTag , class DM >
Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::NavierStokesMomentumProblemImpl ( std::shared_ptr< const GridGeometry >  gridGeometry,
const std::string &  paramGroup = "" 
)
inline

The constructor for usage without a coupling manager.

Parameters
gridGeometryThe finite volume grid geometry
paramGroupThe parameter group in which to look for runtime parameters first (default is "")

Member Function Documentation

◆ addPointSources()

template<class TypeTag >
void Dumux::FVProblem< TypeTag >::addPointSources ( std::vector< PointSource > &  pointSources) const
inlineinherited

Applies a vector of point sources. The point sources are possibly solution dependent.

Parameters
pointSourcesA vector of PointSource s that contain source values for all phases and space positions.

For this method, the values method of the point source has to return the absolute rate values in units \( [ \textnormal{unit of conserved quantity} / s ] \). Positive values mean that the conserved quantity is created, negative ones mean that it vanishes. E.g. for the mass balance that would be a mass rate in \( [ kg / s ] \).

◆ addSourceDerivatives()

template<class TypeTag >
template<class MatrixBlock , class VolumeVariables >
void Dumux::FVProblem< TypeTag >::addSourceDerivatives ( MatrixBlock &  block,
const Element &  element,
const FVElementGeometry &  fvGeometry,
const VolumeVariables &  volVars,
const SubControlVolume &  scv 
) const
inlineinherited

Add source term derivative to the Jacobian.

Note
Only needed in case of analytic differentiation and solution dependent sources

◆ applyInitialSolution()

template<class TypeTag , class DM >
template<class SolutionVector >
void Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::applyInitialSolution ( SolutionVector &  sol) const
inline

Applies the initial solution for all degrees of freedom of the grid.

Parameters
solthe initial solution vector

◆ boundaryTypes() [1/2]

template<class TypeTag , class DM >
BoundaryTypes Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::boundaryTypes ( const Element &  element,
const SubControlVolume &  scv 
) const
inline

Specifies which kind of boundary condition should be used for which equation on a given boundary segment.

Parameters
elementThe finite element
scvThe sub control volume

◆ boundaryTypes() [2/2]

template<class TypeTag , class DM >
BoundaryTypes Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::boundaryTypes ( const Element &  element,
const SubControlVolumeFace &  scvf 
) const
inline

Specifies which kind of boundary condition should be used for which equation on a given boundary segment.

Parameters
elementThe finite element
scvfThe sub control volume face

◆ boundaryTypesAtPos()

template<class TypeTag >
BoundaryTypes Dumux::FVProblem< TypeTag >::boundaryTypesAtPos ( const GlobalPosition &  globalPos) const
inlineinherited

Specifies which kind of boundary condition should be used for which equation on a given boundary segment.

Parameters
globalPosThe position of the finite volume in global coordinates

As a default, i.e. if the user's problem does not overload any boundaryTypes method set Dirichlet boundary conditions everywhere for all primary variables

◆ computePointSourceMap()

template<class TypeTag >
void Dumux::FVProblem< TypeTag >::computePointSourceMap ( )
inlineinherited

Compute the point source map, i.e. which scvs have point source contributions.

Note
Call this on the problem before assembly if you want to enable point sources set via the addPointSources member function.

◆ density() [1/2]

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::density ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolume &  scv,
const bool  isPreviousTimeStep = false 
) const
inline

Returns the density at a given sub control volume.

Note
Overload this if a fixed density shall be prescribed.

◆ density() [2/2]

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::density ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolumeFace &  scvf 
) const
inline

Returns the density at a given sub control volume face.

Note
Overload this if a fixed density shall be prescribed.

◆ densityAtPos()

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::densityAtPos ( const GlobalPosition &  ) const
inline

Returns the density at a given position.

◆ dirichlet() [1/2]

template<class TypeTag , class DM >
DirichletValues Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::dirichlet ( const Element &  element,
const SubControlVolume &  scv 
) const
inline

Evaluate the boundary conditions for a Dirichlet control volume.

Parameters
elementThe finite element
scvthe sub control volume

◆ dirichlet() [2/2]

template<class TypeTag , class DM >
DirichletValues Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::dirichlet ( const Element &  element,
const SubControlVolumeFace &  scvf 
) const
inline

Evaluate the boundary conditions for a Dirichlet control volume face.

Parameters
elementThe finite element
scvfthe sub control volume face

◆ dirichletAtPos()

template<class TypeTag >
PrimaryVariables Dumux::FVProblem< TypeTag >::dirichletAtPos ( const GlobalPosition &  globalPos) const
inlineinherited

Evaluate the boundary conditions for a dirichlet control volume.

Parameters
globalPosThe position of the center of the finite volume for which the dirichlet condition ought to be set in global coordinates

◆ effectiveViscosity() [1/2]

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::effectiveViscosity ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolume &  scv 
) const
inline

Returns the effective dynamic viscosity at a given sub control volume.

Note
Overload this if a fixed viscosity shall be prescribed.

◆ effectiveViscosity() [2/2]

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::effectiveViscosity ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolumeFace &  scvf 
) const
inline

Returns the effective dynamic viscosity at a given sub control volume face.

Note
Overload this if a fixed viscosity shall be prescribed.

◆ effectiveViscosityAtPos()

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::effectiveViscosityAtPos ( const GlobalPosition &  ) const
inline

Returns the effective dynamic viscosity at a given position.

◆ enableInertiaTerms()

template<class TypeTag , class DM >
bool Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::enableInertiaTerms ( ) const
inline

Returns whether inertia terms should be considered.

◆ enableInternalDirichletConstraints()

template<class TypeTag >
static constexpr bool Dumux::FVProblem< TypeTag >::enableInternalDirichletConstraints ( )
inlinestaticconstexprinherited

If internal Dirichlet constraints are enabled Enables / disables internal (non-boundary) Dirichlet constraints. If this is overloaded to return true, the assembler calls problem.hasInternalDirichletConstraint(element, scv). This means you have to implement the following member function.

bool hasInternalDirichletConstraint(const Element& element, const SubControlVolume& scv) const;

which returns an indexable container of booleans defining for each equation if the corresponding dof associated with the element/scv pair is constraint. If true is returned for a dof, the assembler calls problem.internalDirichlet(element, scv). This means you have to additionally implement the following member function

PrimaryVariables internalDirichlet(const Element& element, const SubControlVolume& scv) const;

which returns the enforced Dirichlet values the dof associated with the element/scv pair.

◆ gravity()

template<class TypeTag , class DM >
const GravityVector & Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::gravity ( ) const
inline

Returns the acceleration due to gravity.

If the Problem.EnableGravity parameter is true, this means \(\boldsymbol{g} = ( 0,\dots,\ -9.81)^T \), else \(\boldsymbol{g} = ( 0,\dots, 0)^T \)

◆ gridGeometry()

template<class TypeTag >
const GridGeometry & Dumux::FVProblem< TypeTag >::gridGeometry ( ) const
inlineinherited

The finite volume grid geometry.

◆ initial() [1/2]

template<class TypeTag >
template<class Entity >
PrimaryVariables Dumux::FVProblem< TypeTag >::initial ( const Entity &  entity) const
inlineinherited

Evaluate the initial value for an element (for cell-centered models) or vertex (for box / vertex-centered models)

Parameters
entityThe dof entity (element or vertex)

◆ initial() [2/2]

template<class TypeTag , class DM >
InitialValues Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::initial ( const SubControlVolume &  scv) const
inline

Evaluate the initial value at an sub control volume.

◆ initialAtPos()

template<class TypeTag >
PrimaryVariables Dumux::FVProblem< TypeTag >::initialAtPos ( const GlobalPosition &  globalPos) const
inlineinherited

Evaluate the initial value for a control volume.

Parameters
globalPosThe global position

◆ isMomentumProblem()

template<class TypeTag , class DM >
static constexpr bool Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::isMomentumProblem ( )
inlinestaticconstexpr

This problem is used for the momentum balance model.

◆ name()

template<class TypeTag >
const std::string & Dumux::FVProblem< TypeTag >::name ( ) const
inlineinherited

The problem name.

This is used as a prefix for files generated by the simulation. It could be either overwritten by the problem files, or simply declared over the setName() function in the application file.

◆ neumann()

template<class TypeTag >
template<class ElementVolumeVariables , class ElementFluxVariablesCache >
NumEqVector Dumux::FVProblem< TypeTag >::neumann ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const ElementFluxVariablesCache &  elemFluxVarsCache,
const SubControlVolumeFace &  scvf 
) const
inlineinherited

Evaluate the boundary conditions for a neumann boundary segment.

This is the method for the case where the Neumann condition is potentially solution dependent

Parameters
elementThe finite element
fvGeometryThe finite-volume geometry
elemVolVarsAll volume variables for the element
elemFluxVarsCacheFlux variables caches for all faces in stencil
scvfThe sub control volume face

Negative values mean influx. E.g. for the mass balance that would be the mass flux in \( [ kg / (m^2 \cdot s)] \).

◆ neumannAtPos()

template<class TypeTag >
NumEqVector Dumux::FVProblem< TypeTag >::neumannAtPos ( const GlobalPosition &  globalPos) const
inlineinherited

Evaluate the boundary conditions for a neumann boundary segment.

Parameters
globalPosThe position of the boundary face's integration point in global coordinates

Negative values mean influx. E.g. for the mass balance that would be the mass flux in \( [ kg / (m^2 \cdot s)] \).

As a default, i.e. if the user's problem does not overload any neumann method return no-flow Neumann boundary conditions at all Neumann boundaries

◆ paramGroup()

template<class TypeTag >
const std::string & Dumux::FVProblem< TypeTag >::paramGroup ( ) const
inlineinherited

The parameter group in which to retrieve runtime parameters.

◆ pointSource()

template<class TypeTag >
template<class ElementVolumeVariables >
void Dumux::FVProblem< TypeTag >::pointSource ( PointSource &  source,
const Element &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolume &  scv 
) const
inlineinherited

Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume.

This is the method for the case where the point source is solution dependent

Parameters
sourceA single point source
elementThe finite element
fvGeometryThe finite-volume geometry
elemVolVarsAll volume variables for the element
scvThe sub control volume

For this method, the values() method of the point sources returns the absolute conserved quantity rate generated or annihilate in units \( [ \textnormal{unit of conserved quantity} / s ] \). Positive values mean that the conserved quantity is created, negative ones mean that it vanishes. E.g. for the mass balance that would be a mass rate in \( [ kg / s ] \).

◆ pointSourceAtPos()

template<class TypeTag >
void Dumux::FVProblem< TypeTag >::pointSourceAtPos ( PointSource &  pointSource,
const GlobalPosition &  globalPos 
) const
inlineinherited

Evaluate the point sources (added by addPointSources) for all phases within a given sub-control-volume.

This is the method for the case where the point source is space dependent

Parameters
pointSourceA single point source
globalPosThe point source position in global coordinates

For this method, the values() method of the point sources returns the absolute conserved quantity rate generated or annihilate in units \( [ \textnormal{unit of conserved quantity} / s ] \). Positive values mean that the conserved quantity is created, negative ones mean that it vanishes. E.g. for the mass balance that would be a mass rate in \( [ kg / s ] \).

◆ pointSourceMap()

template<class TypeTag >
const PointSourceMap & Dumux::FVProblem< TypeTag >::pointSourceMap ( ) const
inlineinherited

Get the point source map. It stores the point sources per scv.

◆ pressure() [1/2]

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::pressure ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolume &  scv,
const bool  isPreviousTimeStep = false 
) const
inline

Returns the pressure at a given sub control volume.

Note
Overload this if a fixed pressure shall be prescribed (e.g., given by an analytical solution).

◆ pressure() [2/2]

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::pressure ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const SubControlVolumeFace &  scvf 
) const
inline

Returns the pressure at a given sub control volume face.

Note
Overload this if a fixed pressure shall be prescribed (e.g., given by an analytical solution).

◆ pressureAtPos()

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::pressureAtPos ( const GlobalPosition &  ) const
inline

Returns the pressure at a given position.

◆ referencePressure()

template<class TypeTag , class DM >
Scalar Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::referencePressure ( ) const
inline

Returns a reference pressure This pressure is subtracted from the actual pressure for the momentum balance which potentially helps to improve numerical accuracy by avoiding issues related do floating point arithmetic.

Note
Overload this for reference pressures other than zero.

◆ scvPointSources()

template<class TypeTag >
template<class ElementVolumeVariables >
NumEqVector Dumux::FVProblem< TypeTag >::scvPointSources ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolume &  scv 
) const
inlineinherited

Adds contribution of point sources for a specific sub control volume to the values. Caution: Only overload this method in the implementation if you know what you are doing.

◆ setName()

template<class TypeTag >
void Dumux::FVProblem< TypeTag >::setName ( const std::string &  newName)
inlineinherited

Set the problem name.

This static method sets the simulation name, which should be called before the application problem is declared! If not, the default name "sim" will be used.

Parameters
newNameThe problem's name

◆ source() [1/2]

template<class TypeTag >
template<class ElementVolumeVariables >
NumEqVector Dumux::FVProblem< TypeTag >::source ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolume &  scv 
) const
inlineinherited

Evaluate the source term for all phases within a given sub-control-volume.

This is the method for the case where the source term is potentially solution dependent and requires some quantities that are specific to the fully-implicit method.

Parameters
elementThe finite element
fvGeometryThe finite-volume geometry
elemVolVarsAll volume variables for the element
scvThe sub control volume

For this method, the return parameter stores the conserved quantity rate generated or annihilate per volume unit. Positive values mean that the conserved quantity is created, negative ones mean that it vanishes. E.g. for the mass balance that would be a mass rate in \( [ kg / (m^3 \cdot s)] \).

◆ source() [2/2]

template<class TypeTag , class DM >
template<class ElementVolumeVariables >
Sources Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::source ( const Element &  element,
const FVElementGeometry &  fvGeometry,
const ElementVolumeVariables &  elemVolVars,
const SubControlVolume &  scv 
) const
inline

Evaluate the source term for all phases within a given sub-control-volume.

This is the method for the case where the source term is potentially solution dependent and requires some quantities that are specific to the fully-implicit method.

Parameters
elementThe finite element
fvGeometryThe finite-volume geometry
elemVolVarsAll volume variables for the element
scvThe sub control volume

For this method, the return parameter stores the conserved quantity rate generated or annihilate per volume unit. Positive values mean that the conserved quantity is created, negative ones mean that it vanishes. E.g. for the mass balance that would be a mass rate in \( [ kg / (m^3 \cdot s)] \).

◆ sourceAtPos()

template<class TypeTag , class DM >
Sources Dumux::NavierStokesMomentumProblemImpl< TypeTag, DiscretizationMethods::CVFE< DM > >::sourceAtPos ( const GlobalPosition &  globalPos) const
inline

Evaluate the source term for all phases within a given sub-control-volume.

Parameters
globalPosThe position of the center of the finite volume for which the source term ought to be specified in global coordinates

For this method, the values parameter stores the conserved quantity rate generated or annihilate per volume unit. Positive values mean that the conserved quantity is created, negative ones mean that it vanishes. E.g. for the mass balance that would be a mass rate in \( [ kg / (m^3 \cdot s)] \).

As a default, i.e. if the user's problem does not overload any source method return 0.0 (no source terms)

◆ spatialParams() [1/2]

template<class TypeTag >
SpatialParams & Dumux::FVProblemWithSpatialParams< TypeTag >::spatialParams ( )
inlineinherited

Return a reference to the underlying spatial parameters.

◆ spatialParams() [2/2]

template<class TypeTag >
const SpatialParams & Dumux::FVProblemWithSpatialParams< TypeTag >::spatialParams ( ) const
inlineinherited

Return a reference to the underlying spatial parameters.


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