28#ifndef EWOMS_VCFV_DISCRETIZATION_HH
29#define EWOMS_VCFV_DISCRETIZATION_HH
31#include <opm/material/densead/Math.hpp>
44#include <dune/fem/space/common/functionspace.hh>
45#include <dune/fem/space/lagrange.hh>
49template <
class TypeTag>
50class VcfvDiscretization;
54namespace Opm::Properties {
57template<
class TypeTag>
62 using CoordScalar =
typename GridView::ctype;
69template<
class TypeTag>
73template<
class TypeTag>
78template<
class TypeTag>
83template<
class TypeTag>
88template<
class TypeTag>
93template<
class TypeTag>
98template<
class TypeTag>
105 using FunctionSpace = Dune::Fem::FunctionSpace<
typename GridPart::GridType::ctype,
107 GridPart::GridType::dimensionworld,
111 using type = Dune::Fem::LagrangeDiscreteFunctionSpace< FunctionSpace, GridPart, 1 >;
114template <
class TypeTag>
121template <
class TypeTag>
128template<
class TypeTag>
140template<
class TypeTag>
153template<
class TypeTag>
162 enum { dim = GridView::dimension };
166 : ParentType(simulator)
179 {
return static_cast<size_t>(this->gridView_.size(dim)); }
186 {
return this->vertexMapper(); }
195 template <
class Restarter>
197 {
res.template serializeEntities<dim>(asImp_(), this->gridView_); }
206 template <
class Restarter>
209 res.template deserializeEntities<dim>(asImp_(), this->gridView_);
210 this->solution(1) = this->solution(0);
214 Implementation& asImp_()
215 {
return *
static_cast<Implementation*
>(
this); }
216 const Implementation& asImp_()
const
217 {
return *
static_cast<const Implementation*
>(
this); }
Uses communication on the grid to find the initial seed list of indices.
Definition vertexborderlistfromgrid.hh:52
This class calculates gradients of arbitrary quantities at flux integration points using first order ...
Definition p1fegradientcalculator.hh:60
Implements the discretization specific parts of writing files.
Definition vcfvbaseoutputmodule.hh:46
The base class for the vertex centered finite volume discretization scheme.
Definition vcfvdiscretization.hh:155
void serialize(Restarter &res)
Serializes the current state of the model.
Definition vcfvdiscretization.hh:196
size_t numGridDof() const
Returns the number of global degrees of freedom (DOFs) due to the grid.
Definition vcfvdiscretization.hh:178
static std::string discretizationName()
Returns a string of discretization's human-readable name.
Definition vcfvdiscretization.hh:172
const DofMapper & dofMapper() const
Mapper to convert the Dune entities of the discretization's degrees of freedoms are to indices.
Definition vcfvdiscretization.hh:185
void deserialize(Restarter &res)
Deserializes the state of the model.
Definition vcfvdiscretization.hh:207
A class which provides types for DUNE grid handles for communication.
Definition vcfvgridcommhandlefactory.hh:46
Represents the finite volume geometry of a single element in the VCFV discretization.
Definition vcfvstencil.hh:467
The base class for the finite volume discretization schemes.
The base class for the finite volume discretization schemes.
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition blackoilboundaryratevector.hh:37
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:235
This class calculates gradients of arbitrary quantities at flux integration points using first order ...
The class which marks the border indices associated with the degrees of freedom on a process boundary...
Definition basicproperties.hh:125
The part of the VTK ouput modules which is specific to the spatial discretization.
Definition fvbaseproperties.hh:164
The class describing the discrete function space when dune-fem is used, otherwise it points to the st...
Definition fvbaseproperties.hh:74
The type of the spatial discretization used by the model.
Definition fvbaseproperties.hh:88
The mapper to find the global index of a degree of freedom.
Definition fvbaseproperties.hh:219
Definition vcfvdiscretization.hh:115
Calculates gradients of arbitrary quantities at flux integration points.
Definition fvbaseproperties.hh:152
The class to create grid communication handles.
Definition fvbaseproperties.hh:168
Specify if elements that do not belong to the local process' grid partition should be skipped.
Definition fvbaseproperties.hh:101
Property to specify the type of scalar values.
Definition basicproperties.hh:76
The class describing the stencil of the spatial discretization.
Definition fvbaseproperties.hh:70
Use P1 finite-elements gradients instead of two-point gradients.
Definition vcfvproperties.hh:47
Implements the discretization specific parts of writing files.
A class which provides types for DUNE grid handles for communication.
Declares the basic properties used by the common infrastructure of the vertex-centered finite volume ...
Represents the finite volume geometry of a single element in the VCFV discretization.
Uses communication on the grid to find the initial seed list of indices.