Navier-Stokes default problem implementation for FCDiamond discretizations.
|
| NavierStokesMomentumProblemImpl (std::shared_ptr< const GridGeometry > gridGeometry, std::shared_ptr< CouplingManager > couplingManager, const std::string ¶mGroup="") |
| The constructor. More...
|
|
| NavierStokesMomentumProblemImpl (std::shared_ptr< const GridGeometry > gridGeometry, const std::string ¶mGroup="") |
| 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 bool isPreviousTimeStep=false) 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 SpatialParams & | spatialParams () const |
| Return a reference to the underlying spatial parameters. More...
|
|
SpatialParams & | spatialParams () |
| 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 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 a entity. 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...
|
|
template<class TypeTag >
static constexpr bool Dumux::FVProblem< TypeTag >::enableInternalDirichletConstraints |
( |
| ) |
|
|
inlinestaticconstexprinherited |
std::bitset<N> hasInternalDirichletConstraint(const Element& element, const SubControlVolume& scv) const;
where N is the number of equations and where the return value defines 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.