Classes |
Public Member Functions |
Protected Member Functions |
Protected Attributes |
List of all members
Ewoms::FvBaseElementContext< TypeTag > Class Template Reference This class stores an array of IntensiveQuantities objects, one intensive quantities object for each of the element's vertices. More...
Detailed Descriptiontemplate<class TypeTag>
|
|
inlineexplicit |
The constructor.
References Ewoms::FvBaseElementContext< TypeTag >::simulator(), and Ewoms::FvBaseElementContext< TypeTag >::simulatorPtr_.
|
inline |
Return the total volume associated with a degree of freedom.
"Total" means the volume controlled by a degree of freedom disregarding the element. (For example in the vertex-centered finite volume method, a control volume typically encompasses parts of multiple elements.)
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::globalSpaceIndex(), and Ewoms::FvBaseElementContext< TypeTag >::model().
|
inline |
Return the element-local volume associated with a degree of freedom.
In the case of the vertex-centered finite volume method, this is different from the total volume because a finite volume usually spans multiple elements...
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::stencil().
|
inline |
Return the current element.
References Ewoms::FvBaseElementContext< TypeTag >::elemPtr_.
Referenced by Ewoms::FvBaseElementContext< TypeTag >::onBoundary().
|
inline |
Return a reference to the extensive quantities of a sub-control volume face.
fluxIdx | The local index of the sub-control volume face for which the extensive quantities are requested |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::extensiveQuantities_.
|
inline |
Return the global spatial index for a sub-control volume.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::stencil().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::dofTotalVolume(), and Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_().
|
inline |
Return a reference to the gradient calculation class of the chosen spatial discretization.
References Ewoms::FvBaseElementContext< TypeTag >::gradientCalculator_.
|
inline |
Return a reference to the grid view.
References Ewoms::FvBaseElementContext< TypeTag >::gridView_.
|
inline |
Return a reference to the intensive quantities of a sub-control volume at a given time.
If the time step index is not given, return the volume variables for the current time.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, and Ewoms::FvBaseElementContext< TypeTag >::numDof().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_().
|
inline |
Return a reference to the intensive quantities of a sub-control volume at a given time.
If the time step index is not given, return the volume variables for the current time.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, and Ewoms::FvBaseElementContext< TypeTag >::numDof().
|
inline |
Return a reference to the model.
References Ewoms::Simulator< TypeTag >::model(), and Ewoms::FvBaseElementContext< TypeTag >::simulatorPtr_.
Referenced by Ewoms::FvBaseElementContext< TypeTag >::dofTotalVolume(), and Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_().
|
inline |
Return the number of boundary faces which need to be considered for the flux apporixmation.
References Ewoms::FvBaseElementContext< TypeTag >::stencil().
|
inline |
Return the number of sub-control volumes of the current element.
References Ewoms::FvBaseElementContext< TypeTag >::stencil().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::intensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::primaryVars(), Ewoms::FvBaseElementContext< TypeTag >::saveIntensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::thermodynamicHint(), Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities(), and Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_().
|
inline |
Return the number of non-boundary faces which need to be considered for the flux apporixmation.
References Ewoms::FvBaseElementContext< TypeTag >::stencil().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateExtensiveQuantities().
|
inline |
Return the number of primary degrees of freedom of the current element.
References Ewoms::FvBaseElementContext< TypeTag >::stencil().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updatePrimaryIntensiveQuantities().
|
inline |
Returns whether the current element is on the domain's boundary.
References Ewoms::FvBaseElementContext< TypeTag >::element().
|
inline |
Return the position of a local entities in global coordinates.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::stencil_.
|
inline |
Return the primary variables for a given local index.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, and Ewoms::FvBaseElementContext< TypeTag >::numDof().
|
inline |
Return the primary variables for a given local index.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, and Ewoms::FvBaseElementContext< TypeTag >::numDof().
|
inline |
Return a reference to the problem.
References Ewoms::Simulator< TypeTag >::problem(), and Ewoms::FvBaseElementContext< TypeTag >::simulatorPtr_.
|
inline |
Restores the intensive quantities for a degree of freedom from internal memory.
dofIdx | The local index of the degree of freedom in the current element. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, Ewoms::FvBaseElementContext< TypeTag >::intensiveQuantitiesSaved_, and Ewoms::FvBaseElementContext< TypeTag >::priVarsSaved_.
|
inline |
Stash the intensive quantities for a degree of freedom on internal memory.
dofIdx | The local index of the degree of freedom in the current element. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, Ewoms::FvBaseElementContext< TypeTag >::intensiveQuantitiesSaved_, Ewoms::FvBaseElementContext< TypeTag >::numDof(), and Ewoms::FvBaseElementContext< TypeTag >::priVarsSaved_.
|
inline |
Return a reference to the simulator.
References Ewoms::FvBaseElementContext< TypeTag >::simulatorPtr_.
Referenced by Ewoms::FvBaseElementContext< TypeTag >::FvBaseElementContext().
|
inline |
Return the current finite element geometry.
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::stencil_.
Referenced by Ewoms::FvBaseElementContext< TypeTag >::dofVolume(), Ewoms::FvBaseElementContext< TypeTag >::globalSpaceIndex(), Ewoms::FvBaseElementContext< TypeTag >::numBoundaryFaces(), Ewoms::FvBaseElementContext< TypeTag >::numDof(), Ewoms::FvBaseElementContext< TypeTag >::numInteriorFaces(), and Ewoms::FvBaseElementContext< TypeTag >::numPrimaryDof().
|
inline |
Return the thermodynamic hint for a given local index.
dofIdx | The local index of the degree of freedom in the current element. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, and Ewoms::FvBaseElementContext< TypeTag >::numDof().
|
inline |
Construct all volume and extensive quantities of an element from scratch.
elem | The DUNE Codim<0> entity for which the volume variables ought to be calculated |
References Ewoms::FvBaseElementContext< TypeTag >::updateAllExtensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::updateAllIntensiveQuantities(), and Ewoms::FvBaseElementContext< TypeTag >::updateStencil().
|
inline |
Compute the extensive quantities of all sub-control volume faces of the current element for all time indices.
References Ewoms::FvBaseElementContext< TypeTag >::updateExtensiveQuantities().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateAll().
|
inline |
Compute the intensive quantities of all sub-control volumes of the current element for all time indices.
References Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateAll().
|
inline |
Compute the extensive quantities of all sub-control volume faces of the current element for a single time index.
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::extensiveQuantities_, Ewoms::FvBaseElementContext< TypeTag >::gradientCalculator_, and Ewoms::FvBaseElementContext< TypeTag >::numInteriorFaces().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateAllExtensiveQuantities().
|
inline |
Compute the intensive quantities of all sub-control volumes of the current element for a single time index.
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::numDof(), and Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateAllIntensiveQuantities().
|
inline |
Compute the intensive quantities of a single sub-control volume of the current element for a single time index.
priVars | The PrimaryVariables which should be used to calculate the intensive quantities. |
dofIdx | The local index in the current element of the sub-control volume which should be updated. |
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, Ewoms::FvBaseElementContext< TypeTag >::numDof(), and Ewoms::FvBaseElementContext< TypeTag >::updateSingleIntQuants_().
|
inlineprotected |
Update the first 'n' intensive quantities objects from the primary variables.
This method considers the intensive quantities cache.
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, Ewoms::FvBaseElementContext< TypeTag >::globalSpaceIndex(), Ewoms::FvBaseElementContext< TypeTag >::intensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::model(), Ewoms::FvBaseElementContext< TypeTag >::numDof(), and Ewoms::FvBaseElementContext< TypeTag >::updateSingleIntQuants_().
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities(), and Ewoms::FvBaseElementContext< TypeTag >::updatePrimaryIntensiveQuantities().
|
inline |
Compute the intensive quantities of all sub-control volumes of the current element for a single time index.
timeIdx | The index of the solution vector used by the time discretization. |
References Ewoms::FvBaseElementContext< TypeTag >::numPrimaryDof(), and Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_().
|
inlineprotected |
|
inline |
Compute the finite volume geometry for an element.
elem | The grid element for which the finite volume geometry ought to be computed. |
References Ewoms::FvBaseElementContext< TypeTag >::dofVars_, Ewoms::FvBaseElementContext< TypeTag >::elemPtr_, Ewoms::FvBaseElementContext< TypeTag >::extensiveQuantities_, and Ewoms::FvBaseElementContext< TypeTag >::stencil_.
Referenced by Ewoms::FvBaseElementContext< TypeTag >::updateAll().
|
inline |
Update the topological part of the stencil, but nothing else.
elem | The grid element for which the finite volume geometry ought to be computed. |
References Ewoms::FvBaseElementContext< TypeTag >::elemPtr_, and Ewoms::FvBaseElementContext< TypeTag >::stencil_.
|
protected |
Referenced by Ewoms::FvBaseElementContext< TypeTag >::intensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::primaryVars(), Ewoms::FvBaseElementContext< TypeTag >::restoreIntensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::saveIntensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::thermodynamicHint(), Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities(), Ewoms::FvBaseElementContext< TypeTag >::updateIntensiveQuantities_(), Ewoms::FvBaseElementContext< TypeTag >::updateSingleIntQuants_(), and Ewoms::FvBaseElementContext< TypeTag >::updateStencil().
|
protected |
|
protected |
|
protected |
|
protected |
Referenced by Ewoms::FvBaseElementContext< TypeTag >::gridView().
|
protected |
|
protected |
|
protected |
|
protected |