25#ifndef DUMUX_GEOMECHANICS_ELASTIC_LOCAL_RESIDUAL_HH
26#define DUMUX_GEOMECHANICS_ELASTIC_LOCAL_RESIDUAL_HH
40template<
class TypeTag>
46 using Element =
typename GridView::template Codim<0>::Entity;
51 using SubControlVolume =
typename FVElementGeometry::SubControlVolume;
52 using SubControlVolumeFace =
typename FVElementGeometry::SubControlVolumeFace;
56 using VolumeVariables =
typename ElementVolumeVariables::VolumeVariables;
62 using ParentType::ParentType;
73 const SubControlVolume& scv,
74 const VolumeVariables& volVars)
const
76 return NumEqVector(0.0);
91 const Element& element,
92 const FVElementGeometry& fvGeometry,
93 const ElementVolumeVariables& elemVolVars,
94 const SubControlVolumeFace& scvf,
95 const ElementFluxVariablesCache& elemFluxVarsCache)
const
98 return StressType::force(problem, element, fvGeometry, elemVolVars, scvf, elemFluxVarsCache);
115 const Element& element,
116 const FVElementGeometry& fvGeometry,
117 const ElementVolumeVariables& elemVolVars,
118 const SubControlVolume &scv)
const
120 NumEqVector source(0.0);
123 source += problem.source(element, fvGeometry, elemVolVars, scv);
126 source += problem.scvPointSources(element, fvGeometry, elemVolVars, scv);
129 static const bool gravity = getParamFromGroup<bool>(problem.paramGroup(),
"Problem.EnableGravity");
132 const auto& g = problem.spatialParams().gravity(scv.center());
133 for (
int dir = 0; dir < GridView::dimensionworld; ++dir)
134 source[Indices::momentum(dir)] += elemVolVars[scv].solidDensity()*g[dir];
A helper to deduce a vector with the same size as numbers of equations.
The infrastructure to retrieve run-time parameters from Dune::ParameterTrees.
typename NumEqVectorTraits< PrimaryVariables >::type NumEqVector
A vector with the same size as numbers of equations This is the default implementation and has to be ...
Definition: numeqvector.hh:46
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property
Definition: propertysystem.hh:150
Element-wise calculation of the local residual for problems using the elastic model considering linea...
Definition: geomechanics/elastic/localresidual.hh:42
NumEqVector computeFlux(const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolumeFace &scvf, const ElementFluxVariablesCache &elemFluxVarsCache) const
Evaluates the force in all grid directions acting on a face of a sub-control volume.
Definition: geomechanics/elastic/localresidual.hh:90
NumEqVector computeStorage(const Problem &problem, const SubControlVolume &scv, const VolumeVariables &volVars) const
For the elastic model the storage term is zero since we neglect inertia forces.
Definition: geomechanics/elastic/localresidual.hh:72
NumEqVector computeSource(const Problem &problem, const Element &element, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars, const SubControlVolume &scv) const
Calculate the source term of the equation.
Definition: geomechanics/elastic/localresidual.hh:114
Declares all properties used in Dumux.