Classes |
Public Member Functions |
Static Public Member Functions |
Protected Member Functions |
Protected Attributes |
List of all members
Opm::FvBaseDiscretization< TypeTag > Class Template Reference The base class for the finite volume discretization schemes. More...
Inheritance diagram for Opm::FvBaseDiscretization< TypeTag >:
Detailed Descriptiontemplate<class TypeTag> class Opm::FvBaseDiscretization< TypeTag > The base class for the finite volume discretization schemes. Constructor & Destructor Documentation◆ FvBaseDiscretization()
template<class TypeTag >
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::enableGridAdaptation_, Opm::FvBaseDiscretization< TypeTag >::enableStorageCache_, Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCache_, Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_, Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::storageCache_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). ◆ ~FvBaseDiscretization()
template<class TypeTag >
Member Function Documentation◆ adaptGrid()
template<class TypeTag >
Called by the update() method when the grid should be refined. ◆ addAuxiliaryModule()
template<class TypeTag >
Add a module for an auxiliary equation. This module can add additional degrees of freedom and additional off-diagonal elements, but the number of equations per DOF needs to be the same as for the "main" model. For example, auxiliary modules can be used to specify non-neighboring connections, well equations or model couplings via mortar DOFs. Auxiliary equations are completely optional, though. References Opm::BaseAuxiliaryModule< TypeTag >::applyInitial(), Opm::FvBaseDiscretization< TypeTag >::auxEqModules_, Opm::FvBaseDiscretization< TypeTag >::enableGridAdaptation_, Opm::FvBaseDiscretization< TypeTag >::numTotalDof(), Opm::BaseAuxiliaryModule< TypeTag >::setDofOffset(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ addConvergenceVtkFields()
template<class TypeTag >
template<class VtkMultiWriter >
Add the vector fields for analysing the convergence of the newton method to the a VTK writer.
References Opm::VtkMultiWriter< GridView, vtkFormat >::allocateManagedScalarBuffer(), Opm::FvBaseDiscretization< TypeTag >::asImp_(), and Opm::FvBaseDiscretization< TypeTag >::numGridDof(). ◆ addOutputModule()
template<class TypeTag >
Add an module for writing visualization output after a timestep. References Opm::FvBaseDiscretization< TypeTag >::outputModules_. ◆ advanceTimeLevel()
template<class TypeTag >
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. This should prepare the model for the next time integration. References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::enableGridAdaptation_, and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ appendOutputFields()
template<class TypeTag >
Append the quantities relevant for the current solution to an output writer. References Opm::FvBaseDiscretization< TypeTag >::outputModules_. ◆ applyInitialSolution()
template<class TypeTag >
Applies the initial solution for all degrees of freedom to which the model applies. References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::gridView_, Opm::FvBaseDiscretization< TypeTag >::simulator_, and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ asImp_() [1/2]
template<class TypeTag >
Referenced by Opm::FvBaseDiscretization< TypeTag >::addConvergenceVtkFields(), Opm::FvBaseDiscretization< TypeTag >::advanceTimeLevel(), Opm::FvBaseDiscretization< TypeTag >::applyInitialSolution(), Opm::FvBaseDiscretization< TypeTag >::deserializeEntity(), Opm::FvBaseDiscretization< TypeTag >::finishInit(), Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(), Opm::FvBaseDiscretizationNoAdapt< TypeTag >::FvBaseDiscretizationNoAdapt(), Opm::FvBaseDiscretization< TypeTag >::globalResidual(), Opm::FvBaseDiscretization< TypeTag >::localResidual(), Opm::FvBaseDiscretization< TypeTag >::numTotalDof(), Opm::FvBaseDiscretization< TypeTag >::primaryVarWeight(), Opm::FvBaseDiscretization< TypeTag >::relativeDofError(), Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::serializeEntity(), Opm::FvBaseDiscretization< TypeTag >::update(), and Opm::FvBaseDiscretization< TypeTag >::updateFailed(). ◆ asImp_() [2/2]
template<class TypeTag >
◆ auxiliaryModule() [1/2]
template<class TypeTag >
Returns a given module for auxiliary equations. References Opm::FvBaseDiscretization< TypeTag >::auxEqModules_. ◆ auxiliaryModule() [2/2]
template<class TypeTag >
Returns a given module for auxiliary equations. References Opm::FvBaseDiscretization< TypeTag >::auxEqModules_. ◆ cachedIntensiveQuantities()
template<class TypeTag >
Return the cached intensive quantities for a entity on the grid at given time.
References Opm::FvBaseDiscretization< TypeTag >::enableIntensiveQuantityCache_, Opm::FvBaseDiscretization< TypeTag >::enableStorageCache_, Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCache_, and Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_. Referenced by Opm::FvBaseDiscretization< TypeTag >::thermodynamicHint(). ◆ cachedStorage()
template<class TypeTag >
Retrieve an entry of the cache for the storage term. This is supposed to represent a DOF's total amount of conservation quantities per volume unit at a given time. The user is responsible for making sure that the value of this is correct and that it can be used before this method is called.
References Opm::FvBaseDiscretization< TypeTag >::enableStorageCache_, and Opm::FvBaseDiscretization< TypeTag >::storageCache_. ◆ checkConservativeness()
template<class TypeTag >
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. This method is purely intented for debugging purposes. If the program is compiled with optimizations enabled, it becomes a no-op. References Opm::FvBaseDiscretization< TypeTag >::globalStorage(), and Opm::FvBaseDiscretization< TypeTag >::simulator_. ◆ clearAuxiliaryModules()
template<class TypeTag >
Causes the list of auxiliary equations to be cleared. Note that this method implies recreateMatrix() References Opm::FvBaseDiscretization< TypeTag >::auxEqModules_, Opm::FvBaseDiscretization< TypeTag >::linearizer_, and Opm::FvBaseDiscretization< TypeTag >::newtonMethod_. ◆ deserialize()
template<class TypeTag >
template<class Restarter >
Deserializes the state of the model.
◆ deserializeEntity()
template<class TypeTag >
template<class DofEntity >
Reads the current solution variables for a degree of freedom from a restart file.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ discretizationName()
template<class TypeTag >
Returns a string of discretization's human-readable name. ◆ dofMapper()
template<class TypeTag >
Mapper to convert the Dune entities of the discretization's degrees of freedoms are to indices. Referenced by Opm::FvBaseDiscretization< TypeTag >::finishInit(), and Opm::FvBaseDiscretization< TypeTag >::globalResidual(). ◆ dofTotalVolume()
template<class TypeTag >
Returns the volume of a given control volume.
References Opm::FvBaseDiscretization< TypeTag >::dofTotalVolume_. ◆ elementMapper()
template<class TypeTag >
Returns the mapper for elements to indices. References Opm::FvBaseDiscretization< TypeTag >::elementMapper_. ◆ enableGridAdaptation()
template<class TypeTag >
Returns whether the grid ought to be adapted to the solution during the simulation. References Opm::FvBaseDiscretization< TypeTag >::enableGridAdaptation_. ◆ enableStorageCache()
template<class TypeTag >
Returns true iff the storage term is cached. Be aware that calling the *CachedStorage() methods if the storage cache is disabled will crash the program. References Opm::FvBaseDiscretization< TypeTag >::enableStorageCache_. Referenced by Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::setEnableStorageCache(), and Opm::FvBaseDiscretization< TypeTag >::shiftIntensiveQuantityCache(). ◆ eqName()
template<class TypeTag >
Given an equation index, return a human readable name.
◆ eqWeight()
template<class TypeTag >
Returns the relative weight of an equation.
◆ finishInit()
template<class TypeTag >
Apply the initial conditions to the model. References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::dofMapper(), Opm::FvBaseDiscretization< TypeTag >::dofTotalVolume_, Opm::FvBaseDiscretization< TypeTag >::gridTotalVolume_, Opm::FvBaseDiscretization< TypeTag >::gridView_, Opm::FvBaseDiscretization< TypeTag >::invalidateIntensiveQuantitiesCache(), Opm::FvBaseDiscretization< TypeTag >::isLocalDof_, Opm::FvBaseDiscretization< TypeTag >::linearizer_, Opm::FvBaseDiscretization< TypeTag >::localLinearizer_, Opm::ThreadManager< TypeTag >::maxThreads(), Opm::FvBaseDiscretization< TypeTag >::newtonMethod_, Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::simulator_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptGrid(). ◆ globalResidual() [1/2]
template<class TypeTag >
Compute the global residual for the current solution vector.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::ThreadedEntityIterator< GridView, codim >::beginParallel(), Opm::FvBaseDiscretization< TypeTag >::dofMapper(), Opm::FvBaseDiscretization< TypeTag >::gridView_, Opm::ThreadedEntityIterator< GridView, codim >::increment(), Opm::ThreadedEntityIterator< GridView, codim >::isFinished(), Opm::FvBaseDiscretization< TypeTag >::simulator_, and Opm::ThreadManager< TypeTag >::threadId(). ◆ globalResidual() [2/2]
template<class TypeTag >
Compute the global residual for an arbitrary solution vector.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::mutableSolution(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ globalStorage()
template<class TypeTag >
Compute the integral over the domain of the storage terms of all conservation quantities.
References Opm::ThreadedEntityIterator< GridView, codim >::beginParallel(), Opm::FvBaseDiscretization< TypeTag >::gridView(), Opm::FvBaseDiscretization< TypeTag >::gridView_, Opm::ThreadedEntityIterator< GridView, codim >::increment(), Opm::ThreadedEntityIterator< GridView, codim >::isFinished(), Opm::FvBaseDiscretization< TypeTag >::localResidual(), Opm::FvBaseDiscretization< TypeTag >::simulator_, and Opm::ThreadManager< TypeTag >::threadId(). Referenced by Opm::FvBaseDiscretization< TypeTag >::checkConservativeness(). ◆ gridTotalVolume()
template<class TypeTag >
Returns the volume of the whole grid which represents the spatial domain. References Opm::FvBaseDiscretization< TypeTag >::gridTotalVolume_. ◆ gridView()
template<class TypeTag >
Reference to the grid view of the spatial domain. References Opm::FvBaseDiscretization< TypeTag >::gridView_. Referenced by Opm::FvBaseDiscretization< TypeTag >::globalStorage(), Opm::FvBaseDiscretization< TypeTag >::invalidateAndUpdateIntensiveQuantities(), and Opm::FvBaseDiscretization< TypeTag >::prepareOutputFields(). ◆ invalidateAndUpdateIntensiveQuantities() [1/2]
template<class TypeTag >
References Opm::ThreadedEntityIterator< GridView, codim >::beginParallel(), Opm::FvBaseDiscretization< TypeTag >::gridView_, Opm::ThreadedEntityIterator< GridView, codim >::increment(), Opm::FvBaseDiscretization< TypeTag >::invalidateIntensiveQuantitiesCache(), Opm::ThreadedEntityIterator< GridView, codim >::isFinished(), and Opm::FvBaseDiscretization< TypeTag >::simulator_. Referenced by Opm::FvBaseDiscretization< TypeTag >::updateFailed(). ◆ invalidateAndUpdateIntensiveQuantities() [2/2]
template<class TypeTag >
template<class GridViewType >
References Opm::ThreadedEntityIterator< GridView, codim >::beginParallel(), Opm::FvBaseDiscretization< TypeTag >::gridView(), Opm::ThreadedEntityIterator< GridView, codim >::increment(), Opm::ThreadedEntityIterator< GridView, codim >::isFinished(), Opm::FvBaseDiscretization< TypeTag >::setIntensiveQuantitiesCacheEntryValidity(), and Opm::FvBaseDiscretization< TypeTag >::simulator_. ◆ invalidateIntensiveQuantitiesCache()
template<class TypeTag >
Invalidate the whole intensive quantity cache for time index.
References Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). Referenced by Opm::FvBaseDiscretization< TypeTag >::finishInit(), Opm::FvBaseDiscretization< TypeTag >::invalidateAndUpdateIntensiveQuantities(), and Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(). ◆ isLocalDof()
template<class TypeTag >
Returns if the overlap of the volume ofa degree of freedom is non-zero.
References Opm::FvBaseDiscretization< TypeTag >::isLocalDof_. ◆ linearizer() [1/2]
template<class TypeTag >
Returns the object which linearizes the global system of equations at the current solution. References Opm::FvBaseDiscretization< TypeTag >::linearizer_. ◆ linearizer() [2/2]
template<class TypeTag >
Returns the operator linearizer for the global jacobian of the problem. References Opm::FvBaseDiscretization< TypeTag >::linearizer_. ◆ linearizeTimer()
template<class TypeTag >
◆ localLinearizer() [1/2]
template<class TypeTag >
◆ localLinearizer() [2/2]
template<class TypeTag >
Returns the local jacobian which calculates the local stiffness matrix for an arbitrary element. The local stiffness matrices of the element are used by the jacobian linearizer to produce a global linerization of the problem. References Opm::FvBaseDiscretization< TypeTag >::localLinearizer_. ◆ localResidual() [1/2]
template<class TypeTag >
References Opm::FvBaseDiscretization< TypeTag >::asImp_(). ◆ localResidual() [2/2]
template<class TypeTag >
Returns the object to calculate the local residual function. References Opm::FvBaseDiscretization< TypeTag >::asImp_(). Referenced by Opm::FvBaseDiscretization< TypeTag >::globalStorage(). ◆ localResidual_()
template<class TypeTag >
Reference to the local residal object. References Opm::FvBaseDiscretization< TypeTag >::localLinearizer_. ◆ mutableSolution()
template<class TypeTag >
References Opm::FvBaseDiscretization< TypeTag >::solution_. Referenced by Opm::FvBaseDiscretization< TypeTag >::globalResidual(). ◆ newtonMethod() [1/2]
template<class TypeTag >
Returns the newton method object. References Opm::FvBaseDiscretization< TypeTag >::newtonMethod_. ◆ newtonMethod() [2/2]
template<class TypeTag >
Returns the newton method object. References Opm::FvBaseDiscretization< TypeTag >::newtonMethod_. ◆ numAuxiliaryDof()
template<class TypeTag >
Returns the number of degrees of freedom (DOFs) of the auxiliary equations. References Opm::FvBaseDiscretization< TypeTag >::auxEqModules_. Referenced by Opm::FvBaseDiscretization< TypeTag >::numTotalDof(). ◆ numAuxiliaryModules()
template<class TypeTag >
Returns the number of modules for auxiliary equations. References Opm::FvBaseDiscretization< TypeTag >::auxEqModules_. ◆ numGridDof()
template<class TypeTag >
Returns the number of degrees of freedom (DOFs) for the computational grid. Referenced by Opm::FvBaseDiscretization< TypeTag >::addConvergenceVtkFields(). ◆ numTotalDof()
template<class TypeTag >
Returns the total number of degrees of freedom (i.e., grid plux auxiliary DOFs) References Opm::FvBaseDiscretization< TypeTag >::asImp_(), and Opm::FvBaseDiscretization< TypeTag >::numAuxiliaryDof(). Referenced by Opm::FvBaseDiscretization< TypeTag >::addAuxiliaryModule(). ◆ operator==()
template<class TypeTag >
References Opm::FvBaseDiscretization< TypeTag >::solution_. ◆ prefetch()
template<class TypeTag >
Allows to improve the performance by prefetching all data which is associated with a given element. ◆ prepareOutputFields()
template<class TypeTag >
Prepare the quantities relevant for the current solution to be appended to the output writers. References Opm::ThreadedEntityIterator< GridView, codim >::beginParallel(), Opm::FvBaseDiscretization< TypeTag >::gridView(), Opm::ThreadedEntityIterator< GridView, codim >::increment(), Opm::ThreadedEntityIterator< GridView, codim >::isFinished(), Opm::FvBaseDiscretization< TypeTag >::outputModules_, and Opm::FvBaseDiscretization< TypeTag >::simulator_. ◆ prePostProcessTimer()
template<class TypeTag >
◆ primaryVarName()
template<class TypeTag >
Given an primary variable index, return a human readable name.
◆ primaryVarWeight()
template<class TypeTag >
Returns the relative weight of a primary variable for calculating relative errors.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ registerOutputModules_()
template<class TypeTag >
Register all output modules which make sense for the model. This method is supposed to be overloaded by the actual models, or else only the primary variables can be written to the result files. References Opm::FvBaseDiscretization< TypeTag >::outputModules_, and Opm::FvBaseDiscretization< TypeTag >::simulator_. ◆ registerParameters()
template<class TypeTag >
Register all run-time parameters for the model. References Opm::VtkPrimaryVarsModule< TypeTag >::registerParameters(), and Opm::NewtonMethod< TypeTag >::registerParameters(). ◆ relativeDofError()
template<class TypeTag >
Returns the relative error between two vectors of primary variables.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(). ◆ resetLinearizer()
template<class TypeTag >
Resets the Jacobian matrix linearizer, so that the boundary types can be altered. References Opm::FvBaseDiscretization< TypeTag >::linearizer_, and Opm::FvBaseDiscretization< TypeTag >::simulator_. Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptGrid(). ◆ resizeAndResetIntensiveQuantitiesCache_()
template<class TypeTag >
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::enableStorageCache(), Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCache_, Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_, Opm::FvBaseDiscretization< TypeTag >::invalidateIntensiveQuantitiesCache(), Opm::FvBaseDiscretization< TypeTag >::storageCache_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). Referenced by Opm::FvBaseDiscretization< TypeTag >::finishInit(), and Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(). ◆ serialize()
template<class TypeTag >
template<class Restarter >
Serializes the current state of the model.
◆ serializeEntity()
template<class TypeTag >
template<class DofEntity >
Write the current solution for a degree of freedom to a restart file.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ serializeOp()
template<class TypeTag >
template<class Serializer >
References Opm::FvBaseDiscretization< TypeTag >::solution_. ◆ setEnableStorageCache()
template<class TypeTag >
Set the value of enable storage cache. Be aware that calling the *CachedStorage() methods if the storage cache is disabled will crash the program. References Opm::FvBaseDiscretization< TypeTag >::enableStorageCache(), and Opm::FvBaseDiscretization< TypeTag >::enableStorageCache_. ◆ setIntensiveQuantitiesCacheEntryValidity()
template<class TypeTag >
Invalidate the cache for a given intensive quantities object.
References Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). Referenced by Opm::FvBaseDiscretization< TypeTag >::invalidateAndUpdateIntensiveQuantities(). ◆ shiftIntensiveQuantityCache()
template<class TypeTag >
Move the intensive quantities for a given time index to the back. This method should only be called by the time discretization.
References Opm::FvBaseDiscretization< TypeTag >::enableStorageCache(), Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCache_, Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_, Opm::FvBaseDiscretization< TypeTag >::simulator_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). ◆ solution() [1/2]
template<class TypeTag >
References Opm::FvBaseDiscretization< TypeTag >::solution_. ◆ solution() [2/2]
template<class TypeTag >
Reference to the solution at a given history index as a block vector.
References Opm::FvBaseDiscretization< TypeTag >::solution_. Referenced by Opm::FvBaseDiscretization< TypeTag >::addAuxiliaryModule(), Opm::FvBaseDiscretization< TypeTag >::advanceTimeLevel(), Opm::FvBaseDiscretization< TypeTag >::applyInitialSolution(), Opm::FvBaseDiscretization< TypeTag >::deserializeEntity(), Opm::FvBaseDiscretization< TypeTag >::globalResidual(), Opm::FvBaseDiscretization< TypeTag >::primaryVarWeight(), Opm::FvBaseDiscretization< TypeTag >::serializeEntity(), Opm::FvBaseDiscretizationNoAdapt< TypeTag >::SerializeHelper< Serializer >::serializeOp(), Opm::FvBaseDiscretizationFemAdapt< TypeTag >::SerializeHelper< Serializer >::serializeOp(), and Opm::FvBaseDiscretization< TypeTag >::updateFailed(). ◆ solveTimer()
template<class TypeTag >
◆ storeIntensiveQuantities()
template<class TypeTag >
Returns true if the cache for intensive quantities is enabled. References Opm::FvBaseDiscretization< TypeTag >::enableIntensiveQuantityCache_, and Opm::FvBaseDiscretization< TypeTag >::enableThermodynamicHints_. Referenced by Opm::FvBaseDiscretization< TypeTag >::finishInit(), Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(), Opm::FvBaseDiscretization< TypeTag >::invalidateIntensiveQuantitiesCache(), Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::setIntensiveQuantitiesCacheEntryValidity(), Opm::FvBaseDiscretization< TypeTag >::shiftIntensiveQuantityCache(), and Opm::FvBaseDiscretization< TypeTag >::updateCachedIntensiveQuantities(). ◆ supplementInitialSolution_()
template<class TypeTag >
template<class Context >
◆ syncOverlap()
template<class TypeTag >
Syncronize the values of the primary variables on the degrees of freedom that overlap with the neighboring processes. By default, this method does nothing... ◆ thermodynamicHint()
template<class TypeTag >
Return the thermodynamic hint for a entity on the grid at given time. The hint is defined as a IntensiveQuantities object which is supposed to be "close" to the IntensiveQuantities of the current solution. It can be used as a good starting point for non-linear solvers when having to solve non-linear relations while updating the intensive quantities. (This may yield a major performance boost depending on how the physical models require.)
References Opm::FvBaseDiscretization< TypeTag >::cachedIntensiveQuantities(), and Opm::FvBaseDiscretization< TypeTag >::enableThermodynamicHints_. ◆ update()
template<class TypeTag >
Try to progress the model to the next timestep.
References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::Timer::halt(), Opm::FvBaseDiscretization< TypeTag >::linearizeTimer_, Opm::FvBaseDiscretization< TypeTag >::newtonMethod_, Opm::FvBaseDiscretization< TypeTag >::prePostProcessTimer_, Opm::FvBaseDiscretization< TypeTag >::solveTimer_, Opm::Timer::start(), Opm::Timer::stop(), and Opm::FvBaseDiscretization< TypeTag >::updateTimer_. ◆ updateBegin()
template<class TypeTag >
Called by the update() method before it tries to apply the newton method. This is primary a hook which the actual model can overload. ◆ updateCachedIntensiveQuantities()
template<class TypeTag >
Update the intensive quantity cache for a entity on the grid at given time.
References Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCache_, Opm::FvBaseDiscretization< TypeTag >::intensiveQuantityCacheUpToDate_, and Opm::FvBaseDiscretization< TypeTag >::storeIntensiveQuantities(). ◆ updateCachedStorage()
template<class TypeTag >
Set an entry of the cache for the storage term. This is supposed to represent a DOF's total amount of conservation quantities per volume unit at a given time. The user is responsible for making sure that the storage cache is enabled before this method is called.
References Opm::FvBaseDiscretization< TypeTag >::enableStorageCache_, and Opm::FvBaseDiscretization< TypeTag >::storageCache_. ◆ updateFailed()
template<class TypeTag >
Called by the update() method if it was unsuccessful. This is primary a hook which the actual model can overload. References Opm::FvBaseDiscretization< TypeTag >::asImp_(), Opm::FvBaseDiscretization< TypeTag >::invalidateAndUpdateIntensiveQuantities(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ updatePVWeights()
template<class TypeTag >
Update the weights of all primary variables within an element given the complete set of intensive quantities. ◆ updateSuccessful()
template<class TypeTag >
Called by the update() method if it was successful. ◆ updateTimer()
template<class TypeTag >
◆ verbose_()
template<class TypeTag >
Returns whether messages should be printed. References Opm::FvBaseDiscretization< TypeTag >::gridView_. ◆ vertexMapper()
template<class TypeTag >
Returns the mapper for vertices to indices. References Opm::FvBaseDiscretization< TypeTag >::vertexMapper_. Member Data Documentation◆ auxEqModules_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretization< TypeTag >::addAuxiliaryModule(), Opm::FvBaseDiscretization< TypeTag >::auxiliaryModule(), Opm::FvBaseDiscretization< TypeTag >::clearAuxiliaryModules(), Opm::FvBaseDiscretization< TypeTag >::numAuxiliaryDof(), and Opm::FvBaseDiscretization< TypeTag >::numAuxiliaryModules(). ◆ dofTotalVolume_
template<class TypeTag >
◆ elementMapper_
template<class TypeTag >
◆ enableGridAdaptation_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptGrid(), Opm::FvBaseDiscretization< TypeTag >::addAuxiliaryModule(), Opm::FvBaseDiscretization< TypeTag >::advanceTimeLevel(), Opm::FvBaseDiscretization< TypeTag >::enableGridAdaptation(), Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(), Opm::FvBaseDiscretizationFemAdapt< TypeTag >::FvBaseDiscretizationFemAdapt(), and Opm::FvBaseDiscretizationNoAdapt< TypeTag >::FvBaseDiscretizationNoAdapt(). ◆ enableIntensiveQuantityCache_
template<class TypeTag >
◆ enableStorageCache_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretization< TypeTag >::cachedIntensiveQuantities(), Opm::FvBaseDiscretization< TypeTag >::cachedStorage(), Opm::FvBaseDiscretization< TypeTag >::enableStorageCache(), Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(), Opm::FvBaseDiscretization< TypeTag >::setEnableStorageCache(), and Opm::FvBaseDiscretization< TypeTag >::updateCachedStorage(). ◆ enableThermodynamicHints_
template<class TypeTag >
◆ gridTotalVolume_
template<class TypeTag >
◆ gridView_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptGrid(), Opm::FvBaseDiscretization< TypeTag >::applyInitialSolution(), Opm::FvBaseDiscretization< TypeTag >::finishInit(), Opm::FvBaseDiscretization< TypeTag >::globalResidual(), Opm::FvBaseDiscretization< TypeTag >::globalStorage(), Opm::FvBaseDiscretization< TypeTag >::gridView(), Opm::FvBaseDiscretization< TypeTag >::invalidateAndUpdateIntensiveQuantities(), and Opm::FvBaseDiscretization< TypeTag >::verbose_(). ◆ intensiveQuantityCache_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretization< TypeTag >::cachedIntensiveQuantities(), Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(), Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::shiftIntensiveQuantityCache(), and Opm::FvBaseDiscretization< TypeTag >::updateCachedIntensiveQuantities(). ◆ intensiveQuantityCacheUpToDate_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretization< TypeTag >::cachedIntensiveQuantities(), Opm::FvBaseDiscretization< TypeTag >::FvBaseDiscretization(), Opm::FvBaseDiscretization< TypeTag >::invalidateIntensiveQuantitiesCache(), Opm::FvBaseDiscretization< TypeTag >::resizeAndResetIntensiveQuantitiesCache_(), Opm::FvBaseDiscretization< TypeTag >::setIntensiveQuantitiesCacheEntryValidity(), Opm::FvBaseDiscretization< TypeTag >::shiftIntensiveQuantityCache(), and Opm::FvBaseDiscretization< TypeTag >::updateCachedIntensiveQuantities(). ◆ isLocalDof_
template<class TypeTag >
◆ linearizer_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretization< TypeTag >::clearAuxiliaryModules(), Opm::FvBaseDiscretization< TypeTag >::finishInit(), Opm::FvBaseDiscretization< TypeTag >::linearizer(), Opm::FvBaseDiscretization< TypeTag >::resetLinearizer(), and Opm::FvBaseDiscretization< TypeTag >::~FvBaseDiscretization(). ◆ linearizeTimer_
template<class TypeTag >
◆ localLinearizer_
template<class TypeTag >
◆ newtonMethod_
template<class TypeTag >
◆ outputModules_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptGrid(), Opm::FvBaseDiscretization< TypeTag >::addOutputModule(), Opm::FvBaseDiscretization< TypeTag >::appendOutputFields(), Opm::FvBaseDiscretization< TypeTag >::prepareOutputFields(), Opm::FvBaseDiscretization< TypeTag >::registerOutputModules_(), and Opm::FvBaseDiscretization< TypeTag >::~FvBaseDiscretization(). ◆ prePostProcessTimer_
template<class TypeTag >
◆ simulator_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptationManager(), Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptGrid(), Opm::FvBaseDiscretization< TypeTag >::applyInitialSolution(), Opm::FvBaseDiscretization< TypeTag >::checkConservativeness(), Opm::FvBaseDiscretization< TypeTag >::finishInit(), Opm::FvBaseDiscretization< TypeTag >::globalResidual(), Opm::FvBaseDiscretization< TypeTag >::globalStorage(), Opm::FvBaseDiscretization< TypeTag >::invalidateAndUpdateIntensiveQuantities(), Opm::FvBaseDiscretization< TypeTag >::prepareOutputFields(), Opm::FvBaseDiscretization< TypeTag >::registerOutputModules_(), Opm::FvBaseDiscretization< TypeTag >::resetLinearizer(), and Opm::FvBaseDiscretization< TypeTag >::shiftIntensiveQuantityCache(). ◆ solution_
template<class TypeTag >
Referenced by Opm::FvBaseDiscretizationFemAdapt< TypeTag >::adaptationManager(), Opm::FvBaseDiscretizationFemAdapt< TypeTag >::FvBaseDiscretizationFemAdapt(), Opm::FvBaseDiscretizationNoAdapt< TypeTag >::FvBaseDiscretizationNoAdapt(), Opm::FvBaseDiscretization< TypeTag >::mutableSolution(), Opm::FvBaseDiscretization< TypeTag >::operator==(), Opm::FvBaseDiscretization< TypeTag >::serializeOp(), and Opm::FvBaseDiscretization< TypeTag >::solution(). ◆ solveTimer_
template<class TypeTag >
◆ storageCache_
template<class TypeTag >
◆ updateTimer_
template<class TypeTag >
◆ vertexMapper_
template<class TypeTag >
The documentation for this class was generated from the following file: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||