|
opm-simulators
|
The base class for the finite volume discretization schemes without adaptation. More...
#include <fvbasediscretization.hh>
Classes | |
| struct | SerializeHelper |
Public Member Functions | |
| FvBaseDiscretizationNoAdapt (Simulator &simulator) | |
| Public Member Functions inherited from Opm::FvBaseDiscretization< TypeTag > | |
| FvBaseDiscretization (Simulator &simulator) | |
| FvBaseDiscretization (const FvBaseDiscretization &)=delete | |
| void | finishInit () |
| Apply the initial conditions to the model. | |
| bool | enableGridAdaptation () const |
| Returns whether the grid ought to be adapted to the solution during the simulation. | |
| void | applyInitialSolution () |
| Applies the initial solution for all degrees of freedom to which the model applies. | |
| void | prefetch (const Element &) const |
| Allows to improve the performance by prefetching all data which is associated with a given element. | |
| NewtonMethod & | newtonMethod () |
| Returns the newton method object. | |
| const NewtonMethod & | newtonMethod () const |
| Returns the newton method object. | |
| const IntensiveQuantities * | thermodynamicHint (unsigned globalIdx, unsigned timeIdx) const |
| Return the thermodynamic hint for a entity on the grid at given time. | |
| const IntensiveQuantities * | cachedIntensiveQuantities (unsigned globalIdx, unsigned timeIdx) const |
| Return the cached intensive quantities for a entity on the grid at given time. | |
| void | updateCachedIntensiveQuantities (const IntensiveQuantities &intQuants, unsigned globalIdx, unsigned timeIdx) const |
| Update the intensive quantity cache for a entity on the grid at given time. | |
| void | setIntensiveQuantitiesCacheEntryValidity (unsigned globalIdx, unsigned timeIdx, bool newValue) const |
| Invalidate the cache for a given intensive quantities object. | |
| unsigned | cachedIntensiveQuantityHistorySize () const |
| Get the cached intensive quantity history size. | |
| void | invalidateIntensiveQuantitiesCache (unsigned timeIdx) const |
| Invalidate the whole intensive quantity cache for time index. | |
| void | invalidateAndUpdateIntensiveQuantities (unsigned timeIdx) const |
| template<class GridViewType> | |
| void | invalidateAndUpdateIntensiveQuantities (unsigned timeIdx, const GridViewType &gridView) const |
| void | shiftIntensiveQuantityCache (unsigned numSlots=1) |
| Move the intensive quantities for a given time index to the back. | |
| bool | enableStorageCache () const |
| Returns true iff the storage term is cached. | |
| void | setEnableStorageCache (bool enableStorageCache) |
| Set the value of enable storage cache. | |
| const EqVector & | cachedStorage (unsigned globalIdx, unsigned timeIdx) const |
| Retrieve an entry of the cache for the storage term. | |
| void | updateCachedStorage (unsigned globalIdx, unsigned timeIdx, const EqVector &value) const |
| Set an entry of the cache for the storage term. | |
| bool | storageCacheIsUpToDate (unsigned globalIdx, unsigned timeIdx) const |
| Returns true if the storage cache entry for a given DOF and time index is up to date. | |
| void | invalidateStorageCacheEntry (unsigned globalIdx, unsigned timeIdx) const |
| Invalidate the storage cache for a given DOF and time index. | |
| void | invalidateStorageCache (unsigned timeIdx) const |
| Invalidate the whole storage cache for a given time index. | |
| void | shiftStorageCache (unsigned numSlots=1) const |
| Shift storage cache by a given number of time step slots. | |
| Scalar | globalResidual (GlobalEqVector &dest, const SolutionVector &u) const |
| Compute the global residual for an arbitrary solution vector. | |
| Scalar | globalResidual (GlobalEqVector &dest) const |
| Compute the global residual for the current solution vector. | |
| void | globalStorage (EqVector &storage, unsigned timeIdx=0) const |
| Compute the integral over the domain of the storage terms of all conservation quantities. | |
| void | checkConservativeness (Scalar tolerance=-1, bool verbose=false) const |
| Ensure that the difference between the storage terms of the last and of the current time step is consistent with the source and boundary terms. | |
| Scalar | dofTotalVolume (unsigned globalIdx) const |
Returns the volume ![]() | |
| bool | isLocalDof (unsigned globalIdx) const |
| Returns if the overlap of the volume ofa degree of freedom is non-zero. | |
| Scalar | gridTotalVolume () const |
Returns the volume ![]() | |
| const SolutionVector & | solution (unsigned timeIdx) const |
| Reference to the solution at a given history index as a block vector. | |
| SolutionVector & | solution (unsigned timeIdx) |
| const Linearizer & | linearizer () const |
| Returns the operator linearizer for the global jacobian of the problem. | |
| Linearizer & | linearizer () |
| Returns the object which linearizes the global system of equations at the current solution. | |
| const LocalLinearizer & | localLinearizer (unsigned openMpThreadId) const |
| Returns the local jacobian which calculates the local stiffness matrix for an arbitrary element. | |
| LocalLinearizer & | localLinearizer (unsigned openMpThreadId) |
| const LocalResidual & | localResidual (unsigned openMpThreadId) const |
| Returns the object to calculate the local residual function. | |
| LocalResidual & | localResidual (unsigned openMpThreadId) |
| Scalar | primaryVarWeight (unsigned globalDofIdx, unsigned pvIdx) const |
| Returns the relative weight of a primary variable for calculating relative errors. | |
| Scalar | eqWeight (unsigned, unsigned) const |
| Returns the relative weight of an equation. | |
| Scalar | relativeDofError (unsigned vertexIdx, const PrimaryVariables &pv1, const PrimaryVariables &pv2) const |
| Returns the relative error between two vectors of primary variables. | |
| bool | update () |
| Try to progress the model to the next timestep. | |
| void | syncOverlap () |
| Syncronize the values of the primary variables on the degrees of freedom that overlap with the neighboring processes. | |
| void | updateBegin () |
| Called by the update() method before it tries to apply the newton method. | |
| void | updateSuccessful () |
| Called by the update() method if it was successful. | |
| void | adaptGrid () |
| Called by the update() method when the grid should be refined. | |
| void | updateFailed () |
| Called by the update() method if it was unsuccessful. | |
| void | advanceTimeLevel () |
| Called by the problem if a time integration was successful, post processing of the solution is done and the result has been written to disk. | |
| template<class Restarter> | |
| void | serialize (Restarter &) |
| Serializes the current state of the model. | |
| template<class Restarter> | |
| void | deserialize (Restarter &) |
| Deserializes the state of the model. | |
| template<class DofEntity> | |
| void | serializeEntity (std::ostream &outstream, const DofEntity &dof) |
| Write the current solution for a degree of freedom to a restart file. | |
| template<class DofEntity> | |
| void | deserializeEntity (std::istream &instream, const DofEntity &dof) |
| Reads the current solution variables for a degree of freedom from a restart file. | |
| std::size_t | numGridDof () const |
| Returns the number of degrees of freedom (DOFs) for the computational grid. | |
| std::size_t | numAuxiliaryDof () const |
| Returns the number of degrees of freedom (DOFs) of the auxiliary equations. | |
| std::size_t | numTotalDof () const |
| Returns the total number of degrees of freedom (i.e., grid plux auxiliary DOFs). | |
| const DofMapper & | dofMapper () const |
| Mapper to convert the Dune entities of the discretization's degrees of freedoms are to indices. | |
| const VertexMapper & | vertexMapper () const |
| Returns the mapper for vertices to indices. | |
| const ElementMapper & | elementMapper () const |
| Returns the mapper for elements to indices. | |
| void | resetLinearizer () |
| Resets the Jacobian matrix linearizer, so that the boundary types can be altered. | |
| std::string | primaryVarName (unsigned pvIdx) const |
| Given an primary variable index, return a human readable name. | |
| std::string | eqName (unsigned eqIdx) const |
| Given an equation index, return a human readable name. | |
| void | updatePVWeights (const ElementContext &) const |
| Update the weights of all primary variables within an element given the complete set of intensive quantities. | |
| void | addOutputModule (std::unique_ptr< BaseOutputModule< TypeTag > > newModule) |
| Add an module for writing visualization output after a timestep. | |
| template<class VtkMultiWriter> | |
| void | addConvergenceVtkFields (VtkMultiWriter &writer, const SolutionVector &u, const GlobalEqVector &deltaU) const |
| Add the vector fields for analysing the convergence of the newton method to the a VTK writer. | |
| void | prepareOutputFields () const |
| Prepare the quantities relevant for the current solution to be appended to the output writers. | |
| void | appendOutputFields (BaseOutputWriter &writer) const |
| Append the quantities relevant for the current solution to an output writer. | |
| const GridView & | gridView () const |
| Reference to the grid view of the spatial domain. | |
| void | addAuxiliaryModule (BaseAuxiliaryModule< TypeTag > *auxMod) |
| Add a module for an auxiliary equation. | |
| void | clearAuxiliaryModules () |
| Causes the list of auxiliary equations to be cleared. | |
| std::size_t | numAuxiliaryModules () const |
| Returns the number of modules for auxiliary equations. | |
| BaseAuxiliaryModule< TypeTag > * | auxiliaryModule (unsigned auxEqModIdx) |
| Returns a given module for auxiliary equations. | |
| const BaseAuxiliaryModule< TypeTag > * | auxiliaryModule (unsigned auxEqModIdx) const |
| Returns a given module for auxiliary equations. | |
| bool | storeIntensiveQuantities () const |
| Returns true if the cache for intensive quantities is enabled. | |
| const Timer & | prePostProcessTimer () const |
| const Timer & | linearizeTimer () const |
| const Timer & | solveTimer () const |
| const Timer & | updateTimer () const |
| template<class Serializer> | |
| void | serializeOp (Serializer &serializer) |
| bool | operator== (const FvBaseDiscretization &rhs) const |
Additional Inherited Members | |
| Static Public Member Functions inherited from Opm::FvBaseDiscretization< TypeTag > | |
| static void | registerParameters () |
| Register all run-time parameters for the model. | |
| static std::string | discretizationName () |
| Returns a string of discretization's human-readable name. | |
| Protected Member Functions inherited from Opm::FvBaseDiscretization< TypeTag > | |
| SolutionVector & | mutableSolution (unsigned timeIdx) const |
| void | resizeAndResetIntensiveQuantitiesCache_ () |
| template<class Context> | |
| void | supplementInitialSolution_ (PrimaryVariables &, const Context &, unsigned, unsigned) |
| void | registerOutputModules_ () |
| Register all output modules which make sense for the model. | |
| LocalResidual & | localResidual_ () |
| Reference to the local residal object. | |
| bool | verbose_ () const |
| Returns whether messages should be printed. | |
| Implementation & | asImp_ () |
| const Implementation & | asImp_ () const |
| Protected Attributes inherited from Opm::FvBaseDiscretization< TypeTag > | |
| Simulator & | simulator_ |
| GridView | gridView_ |
| ElementMapper | elementMapper_ |
| VertexMapper | vertexMapper_ |
| std::vector< BaseAuxiliaryModule< TypeTag > * > | auxEqModules_ |
| NewtonMethod | newtonMethod_ |
| Timer | prePostProcessTimer_ |
| Timer | linearizeTimer_ |
| Timer | solveTimer_ |
| Timer | updateTimer_ |
| std::vector< LocalLinearizer > | localLinearizer_ |
| std::unique_ptr< Linearizer > | linearizer_ |
| std::vector< IntensiveQuantitiesVector > | intensiveQuantityCache_ |
| std::vector< std::vector< unsigned char > > | intensiveQuantityCacheUpToDate_ |
| std::array< std::unique_ptr< DiscreteFunction >, historySize > | solution_ |
| std::list< std::unique_ptr< BaseOutputModule< TypeTag > > > | outputModules_ |
| Scalar | gridTotalVolume_ |
| std::vector< Scalar > | dofTotalVolume_ |
| std::vector< bool > | isLocalDof_ |
| std::array< GlobalEqVector, historySize > | storageCache_ |
| std::array< std::vector< unsigned char >, historySize > | storageCacheUpToDate_ |
| bool | enableGridAdaptation_ |
| bool | enableIntensiveQuantityCache_ |
| bool | enableStorageCache_ |
| bool | enableThermodynamicHints_ |
| unsigned | cachedIntensiveQuantityHistorySize_ |
The base class for the finite volume discretization schemes without adaptation.