fvbaseproperties.hh File Reference

Declare the properties used by the infrastructure code of the finite volume discretizations. More...

Go to the source code of this file.

Functions

 Ewoms::Properties::NEW_TYPE_TAG (FvBaseDiscretization, INHERITS_FROM(ImplicitModel, FvBaseNewtonMethod, VtkPrimaryVars))
 The type tag for models based on the finite volume schemes.
 
 Ewoms::Properties::NEW_PROP_TAG (LinearSolverSplice)
 set the splices for the finite volume discretizations
 
 Ewoms::Properties::NEW_PROP_TAG (ParallelBiCGStabLinearSolver)
 
 Ewoms::Properties::NEW_PROP_TAG (LocalLinearizerSplice)
 
 Ewoms::Properties::NEW_PROP_TAG (FiniteDifferenceLocalLinearizer)
 
 Ewoms::Properties::SET_SPLICES (FvBaseDiscretization, LinearSolverSplice, LocalLinearizerSplice)
 
 Ewoms::Properties::SET_TAG_PROP (FvBaseDiscretization, LinearSolverSplice, ParallelBiCGStabLinearSolver)
 use a parallel BiCGStab linear solver by default
 
 Ewoms::Properties::SET_TAG_PROP (FvBaseDiscretization, LocalLinearizerSplice, FiniteDifferenceLocalLinearizer)
 by default, use finite differences to linearize the system of PDEs
 
 Ewoms::Properties::NEW_PROP_TAG (Evaluation)
 Representation of a function evaluation and all necessary derivatives with regard to the intensive quantities of the primary variables. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Grid)
 The type of the DUNE grid.
 
 Ewoms::Properties::NEW_PROP_TAG (GridView)
 The type of the grid view.
 
 Ewoms::Properties::NEW_PROP_TAG (Stencil)
 The class describing the stencil of the spatial discretization.
 
 Ewoms::Properties::NEW_PROP_TAG (DiscreteFunctionSpace)
 The class describing the discrete function space when dune-fem is used, otherwise it points to the stencil class.
 
 Ewoms::Properties::NEW_PROP_TAG (Problem)
 The type of the problem. More...
 
 Ewoms::Properties::NEW_PROP_TAG (BaseProblem)
 The type of the base class for all problems which use this model.
 
 Ewoms::Properties::NEW_PROP_TAG (Model)
 The class dealing with the balance equations. More...
 
 Ewoms::Properties::NEW_PROP_TAG (NumEq)
 The number of balance equations. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Discretization)
 The type of the spatial discretization used by the model.
 
 Ewoms::Properties::NEW_PROP_TAG (DiscLocalResidual)
 The discretization specific part of the local residual.
 
 Ewoms::Properties::NEW_PROP_TAG (LocalResidual)
 The type of the local residual function.
 
 Ewoms::Properties::NEW_PROP_TAG (LocalLinearizer)
 The type of the local linearizer.
 
 Ewoms::Properties::NEW_PROP_TAG (LinearizeNonLocalElements)
 Specify if elements that do not belong to the local process' grid partition should be skipped.
 
 Ewoms::Properties::NEW_PROP_TAG (BaseLinearizer)
 Linearizes the global non-linear system of equations.
 
 Ewoms::Properties::NEW_PROP_TAG (JacobianMatrix)
 Type of the global jacobian matrix. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EqVector)
 The class storing values of conservation equations (e.g., a "naked" primary varible vector) More...
 
 Ewoms::Properties::NEW_PROP_TAG (ElementEqVector)
 A vector of holding a quantity for each equation for each DOF of an element.
 
 Ewoms::Properties::NEW_PROP_TAG (GlobalEqVector)
 Vector containing a quantity of for equation for each DOF of the whole grid. More...
 
 Ewoms::Properties::NEW_PROP_TAG (RateVector)
 Vector containing volumetric or areal rates of quantities.
 
 Ewoms::Properties::NEW_PROP_TAG (BoundaryRateVector)
 Type of object for specifying boundary conditions.
 
 Ewoms::Properties::NEW_PROP_TAG (Constraints)
 The class which represents a constraint degree of freedom. More...
 
 Ewoms::Properties::NEW_PROP_TAG (SolutionVector)
 Vector containing all primary variables of the grid. More...
 
 Ewoms::Properties::NEW_PROP_TAG (PrimaryVariables)
 The class storing primary variables plus pseudo primary variables. More...
 
 Ewoms::Properties::NEW_PROP_TAG (IntensiveQuantities)
 The secondary variables within a sub-control volume.
 
 Ewoms::Properties::NEW_PROP_TAG (DiscIntensiveQuantities)
 The discretization specific part of the intensive quantities.
 
 Ewoms::Properties::NEW_PROP_TAG (ElementContext)
 The secondary variables of all degrees of freedom in an element's stencil.
 
 Ewoms::Properties::NEW_PROP_TAG (BoundaryContext)
 The secondary variables of a boundary segment.
 
 Ewoms::Properties::NEW_PROP_TAG (ConstraintsContext)
 The secondary variables of a constraint degree of freedom.
 
 Ewoms::Properties::NEW_PROP_TAG (ExtensiveQuantities)
 Data required to calculate a flux over a face.
 
 Ewoms::Properties::NEW_PROP_TAG (GradientCalculator)
 Calculates gradients of arbitrary quantities at flux integration points.
 
 Ewoms::Properties::NEW_PROP_TAG (DiscBaseIntensiveQuantities)
 The part of the intensive quantities which is specific to the spatial discretization.
 
 Ewoms::Properties::NEW_PROP_TAG (DiscExtensiveQuantities)
 The part of the extensive quantities which is specific to the spatial discretization.
 
 Ewoms::Properties::NEW_PROP_TAG (DiscBaseOutputModule)
 The part of the VTK ouput modules which is specific to the spatial discretization.
 
 Ewoms::Properties::NEW_PROP_TAG (GridCommHandleFactory)
 The class to create grid communication handles.
 
 Ewoms::Properties::NEW_PROP_TAG (ThreadManager)
 The OpenMP threads manager.
 
 Ewoms::Properties::NEW_PROP_TAG (ThreadsPerProcess)
 
 Ewoms::Properties::NEW_PROP_TAG (UseLinearizationLock)
 use locking to prevent race conditions when linearizing the global system of equations in multi-threaded mode. More...
 
 Ewoms::Properties::NEW_PROP_TAG (Simulator)
 Manages the simulation time. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EnableGridAdaptation)
 Switch to enable or disable grid adaptation. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EnableVtkOutput)
 Global switch to enable or disable the writing of VTK output files. More...
 
 Ewoms::Properties::NEW_PROP_TAG (VtkOutputFormat)
 Specify the format the VTK output is written to disk. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EnableConstraints)
 Specify whether the some degrees of fredom can be constraint. More...
 
 Ewoms::Properties::NEW_PROP_TAG (MaxTimeStepSize)
 Specify the maximum size of a time integration [s]. More...
 
 Ewoms::Properties::NEW_PROP_TAG (MinTimeStepSize)
 Specify the minimal size of a time integration [s]. More...
 
 Ewoms::Properties::NEW_PROP_TAG (MaxTimeStepDivisions)
 The maximum allowed number of timestep divisions for the Newton solver.
 
 Ewoms::Properties::NEW_PROP_TAG (EnableIntensiveQuantityCache)
 Specify whether all intensive quantities for the grid should be cached in the discretization. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EnableStorageCache)
 Specify whether the storage terms for previous solutions should be cached. More...
 
 Ewoms::Properties::NEW_PROP_TAG (EnableThermodynamicHints)
 Specify whether to use the already calculated solutions as starting values of the intensive quantities. More...
 
 Ewoms::Properties::NEW_PROP_TAG (VertexMapper)
 The mapper to find the global index of a vertex.
 
 Ewoms::Properties::NEW_PROP_TAG (ElementMapper)
 The mapper to find the global index of an element.
 
 Ewoms::Properties::NEW_PROP_TAG (DofMapper)
 The mapper to find the global index of a degree of freedom.
 
 Ewoms::Properties::NEW_PROP_TAG (BorderListCreator)
 The class which marks the border indices associated with the degrees of freedom on a process boundary. More...
 
 Ewoms::Properties::NEW_PROP_TAG (TimeDiscHistorySize)
 The history size required by the time discretization.
 
 Ewoms::Properties::NEW_PROP_TAG (ExtensiveStorageTerm)
 Specify whether the storage terms use extensive quantities or not. More...
 
 Ewoms::Properties::NEW_PROP_TAG (UseVolumetricResidual)
 Specify whether to use volumetric residuals or not.
 

Detailed Description

Declare the properties used by the infrastructure code of the finite volume discretizations.

Function Documentation

◆ NEW_PROP_TAG() [1/23]

Ewoms::Properties::NEW_PROP_TAG ( GlobalEqVector  )

Vector containing a quantity of for equation for each DOF of the whole grid.

Vector containing a quantity of for equation on the whole grid.

◆ NEW_PROP_TAG() [2/23]

Ewoms::Properties::NEW_PROP_TAG ( JacobianMatrix  )

Type of the global jacobian matrix.

Specifies the type of a global Jacobian matrix.

◆ NEW_PROP_TAG() [3/23]

Ewoms::Properties::NEW_PROP_TAG ( Evaluation  )

Representation of a function evaluation and all necessary derivatives with regard to the intensive quantities of the primary variables.

Depending on the chosen linearization method, this property may be the same as the "Scalar" property (if the finite difference linearizer is used), or it may be more complex (for the linearizer which uses automatic differentiation).

◆ NEW_PROP_TAG() [4/23]

Ewoms::Properties::NEW_PROP_TAG ( Model  )

The class dealing with the balance equations.

The model describing the PDEs for the conservation quantities.

The type of the model.

◆ NEW_PROP_TAG() [5/23]

Ewoms::Properties::NEW_PROP_TAG ( Problem  )

The type of the problem.

The physical model which we would like to solve.

◆ NEW_PROP_TAG() [6/23]

Ewoms::Properties::NEW_PROP_TAG ( EqVector  )

The class storing values of conservation equations (e.g., a "naked" primary varible vector)

Vector containing a quantity of for equation for a single degee of freedom.

A vector of holding a quantity for each equation (usually at a given spatial location)

◆ NEW_PROP_TAG() [7/23]

Ewoms::Properties::NEW_PROP_TAG ( PrimaryVariables  )

The class storing primary variables plus pseudo primary variables.

Specifies the type of a solution for a single degee of freedom.

A vector of primary variables within a sub-control volume.

◆ NEW_PROP_TAG() [8/23]

Ewoms::Properties::NEW_PROP_TAG ( NumEq  )

The number of balance equations.

Number of equations in the system of PDEs.

◆ NEW_PROP_TAG() [9/23]

Ewoms::Properties::NEW_PROP_TAG ( Simulator  )

Manages the simulation time.

The simulation management class of the simulation.

◆ NEW_PROP_TAG() [10/23]

Ewoms::Properties::NEW_PROP_TAG ( Constraints  )

The class which represents a constraint degree of freedom.

Specifies the type of objects which specify constraints for a single degee of freedom.

◆ NEW_PROP_TAG() [11/23]

Ewoms::Properties::NEW_PROP_TAG ( SolutionVector  )

Vector containing all primary variables of the grid.

Specifies the type of a solution.

◆ NEW_PROP_TAG() [12/23]

Ewoms::Properties::NEW_PROP_TAG ( UseLinearizationLock  )

use locking to prevent race conditions when linearizing the global system of equations in multi-threaded mode.

(setting this property to true is always save, but it may slightly deter performance in multi-threaded simlations and some discretizations do not need this.)

◆ NEW_PROP_TAG() [13/23]

Ewoms::Properties::NEW_PROP_TAG ( EnableGridAdaptation  )

Switch to enable or disable grid adaptation.

Currently grid adaptation requires the presence of the dune-FEM module. If it is not available and grid adaptation is enabled, an exception is thrown.

◆ NEW_PROP_TAG() [14/23]

Ewoms::Properties::NEW_PROP_TAG ( EnableVtkOutput  )

Global switch to enable or disable the writing of VTK output files.

If writing VTK files is disabled, then the WriteVtk$FOO options do not have any effect...

◆ NEW_PROP_TAG() [15/23]

Ewoms::Properties::NEW_PROP_TAG ( VtkOutputFormat  )

Specify the format the VTK output is written to disk.

Possible values are:

  • Dune::VTK::ascii (default)
  • Dune::VTK::base64
  • Dune::VTK::appendedraw
  • Dune::VTK::appendedbase64

◆ NEW_PROP_TAG() [16/23]

Ewoms::Properties::NEW_PROP_TAG ( EnableConstraints  )

Specify whether the some degrees of fredom can be constraint.

Specifies whether the problem to be simulated exhibits contraint degrees of freedom.

◆ NEW_PROP_TAG() [17/23]

Ewoms::Properties::NEW_PROP_TAG ( MaxTimeStepSize  )

Specify the maximum size of a time integration [s].

The default is to not limit the step size.

◆ NEW_PROP_TAG() [18/23]

Ewoms::Properties::NEW_PROP_TAG ( MinTimeStepSize  )

Specify the minimal size of a time integration [s].

The default is to not limit the step size.

◆ NEW_PROP_TAG() [19/23]

Ewoms::Properties::NEW_PROP_TAG ( EnableIntensiveQuantityCache  )

Specify whether all intensive quantities for the grid should be cached in the discretization.

This potentially reduces the CPU time, but comes at the cost of higher memory consumption. In turn, the higher memory requirements may cause the simulation to exhibit worse cache coherence behavior which eats some of the computational benefits again.

◆ NEW_PROP_TAG() [20/23]

Ewoms::Properties::NEW_PROP_TAG ( EnableStorageCache  )

Specify whether the storage terms for previous solutions should be cached.

This potentially reduces the CPU time, but comes at the cost of higher memory consumption.

◆ NEW_PROP_TAG() [21/23]

Ewoms::Properties::NEW_PROP_TAG ( EnableThermodynamicHints  )

Specify whether to use the already calculated solutions as starting values of the intensive quantities.

This only makes sense if the calculation of the intensive quantities is very expensive (e.g. for non-linear fugacity functions where the solver converges faster).

◆ NEW_PROP_TAG() [22/23]

Ewoms::Properties::NEW_PROP_TAG ( BorderListCreator  )

The class which marks the border indices associated with the degrees of freedom on a process boundary.

This is required for the algebraic overlap stuff.

◆ NEW_PROP_TAG() [23/23]

Ewoms::Properties::NEW_PROP_TAG ( ExtensiveStorageTerm  )

Specify whether the storage terms use extensive quantities or not.

Most models don't need this, but the (Navier-)Stokes ones do...