OGS
ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim > Class Template Reference

Detailed Description

template<typename ShapeFunction, int GlobalDim>
class ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >

Definition at line 23 of file StaggeredHTFEM.h.

#include <StaggeredHTFEM.h>

Inheritance diagram for ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >:
[legend]
Collaboration diagram for ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >:
[legend]

Public Member Functions

 StaggeredHTFEM (MeshLib::Element const &element, std::size_t const local_matrix_size, NumLib::GenericIntegrationMethod const &integration_method, bool is_axially_symmetric, HTProcessData const &process_data)
void assembleForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data) override
std::vector< double > const & getIntPtDarcyVelocity (const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const override
Public Member Functions inherited from ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >
 HTFEM (MeshLib::Element const &element, std::size_t const local_matrix_size, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, HTProcessData const &process_data, const unsigned dof_per_node)
void initializeConcrete () override
Eigen::Map< const Eigen::RowVectorXd > getShapeMatrix (const unsigned integration_point) const override
 Provides the shape matrix at the given integration point.
Eigen::Vector3d getFlux (MathLib::Point3d const &pnt_local_coords, double const t, std::vector< double > const &local_x) const override
Public Member Functions inherited from ProcessLib::HT::HTLocalAssemblerInterface
 HTLocalAssemblerInterface ()=default
Public Member Functions inherited from ProcessLib::LocalAssemblerInterface
virtual ~LocalAssemblerInterface ()=default
virtual void setInitialConditions (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, double const t, int const process_id)
virtual void initialize (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)
virtual void preAssemble (double const, double const, std::vector< double > const &)
virtual void assemble (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &local_x_prev, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data)
virtual void assembleWithJacobian (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &local_x_prev, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)
virtual void assembleWithJacobianForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev, int const process_id, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)
virtual void computeSecondaryVariable (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, double const t, double const dt, std::vector< GlobalVector * > const &x, GlobalVector const &x_prev, int const process_id)
virtual void preTimestep (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, double const t, double const delta_t)
virtual void postTimestep (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, double const t, double const dt, int const process_id)
void postNonLinearSolver (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, double const t, double const dt, int const process_id)
virtual Eigen::Vector3d getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double > > const &) const
 Fits to staggered scheme.
virtual int getNumberOfVectorElementsForDeformation () const
Public Member Functions inherited from NumLib::ExtrapolatableElement
virtual ~ExtrapolatableElement ()=default

Private Types

using ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim>
using ShapeMatrices = typename ShapeMatricesType::ShapeMatrices
using LocalMatrixType
using LocalVectorType
using NodalVectorType = typename ShapeMatricesType::NodalVectorType
using NodalMatrixType = typename ShapeMatricesType::NodalMatrixType
using NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType
using GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType
using GlobalDimNodalMatrixType
using GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType

Private Member Functions

void assembleHydraulicEquation (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data)
void assembleHeatTransportEquation (double const t, double const dt, Eigen::VectorXd const &local_x, std::vector< double > &local_M_data, std::vector< double > &local_K_data)

Additional Inherited Members

Protected Member Functions inherited from ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >
double getHeatEnergyCoefficient (MaterialPropertyLib::VariableArray const &vars, const double porosity, const double fluid_density, const double specific_heat_capacity_fluid, ParameterLib::SpatialPosition const &pos, double const t, double const dt)
GlobalDimMatrixType getThermalConductivityDispersivity (MaterialPropertyLib::VariableArray const &vars, const double fluid_density, const double specific_heat_capacity_fluid, const GlobalDimVectorType &velocity, ParameterLib::SpatialPosition const &pos, double const t, double const dt)
std::vector< double > const & getIntPtDarcyVelocityLocal (const double t, std::vector< double > const &local_x, std::vector< double > &cache) const
Protected Attributes inherited from ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >
MeshLib::Element const & _element
HTProcessData const & _process_data
NumLib::GenericIntegrationMethod const & _integration_method
std::vector< IntegrationPointData< GlobalDimNodalMatrixType > > _ip_data
Static Protected Attributes inherited from ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >
static const int pressure_index = ShapeFunction::NPOINTS
static const int pressure_size = ShapeFunction::NPOINTS
static const int temperature_index = 0
static const int temperature_size = ShapeFunction::NPOINTS

Member Typedef Documentation

◆ GlobalDimMatrixType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType
private

Definition at line 41 of file StaggeredHTFEM.h.

◆ GlobalDimNodalMatrixType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::GlobalDimNodalMatrixType
private
Initial value:
MatrixType< GlobalDim, ShapeFunction::NPOINTS > GlobalDimNodalMatrixType

Definition at line 39 of file StaggeredHTFEM.h.

◆ GlobalDimVectorType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType
private

Definition at line 38 of file StaggeredHTFEM.h.

◆ LocalMatrixType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::LocalMatrixType
private
Initial value:
typename ShapeMatricesType::template MatrixType<ShapeFunction::NPOINTS,
ShapeFunction::NPOINTS>

Definition at line 28 of file StaggeredHTFEM.h.

◆ LocalVectorType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::LocalVectorType
private
Initial value:
typename ShapeMatricesType::template VectorType<ShapeFunction::NPOINTS>

Definition at line 31 of file StaggeredHTFEM.h.

◆ NodalMatrixType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::NodalMatrixType = typename ShapeMatricesType::NodalMatrixType
private

Definition at line 35 of file StaggeredHTFEM.h.

◆ NodalRowVectorType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType
private

Definition at line 36 of file StaggeredHTFEM.h.

◆ NodalVectorType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::NodalVectorType = typename ShapeMatricesType::NodalVectorType
private

Definition at line 34 of file StaggeredHTFEM.h.

◆ ShapeMatrices

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::ShapeMatrices = typename ShapeMatricesType::ShapeMatrices
private

Definition at line 26 of file StaggeredHTFEM.h.

◆ ShapeMatricesType

template<typename ShapeFunction, int GlobalDim>
using ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim>
private

Definition at line 25 of file StaggeredHTFEM.h.

Constructor & Destructor Documentation

◆ StaggeredHTFEM()

template<typename ShapeFunction, int GlobalDim>
ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::StaggeredHTFEM ( MeshLib::Element const & element,
std::size_t const local_matrix_size,
NumLib::GenericIntegrationMethod const & integration_method,
bool is_axially_symmetric,
HTProcessData const & process_data )
inline

Definition at line 49 of file StaggeredHTFEM.h.

57 {
58 }
HTFEM(MeshLib::Element const &element, std::size_t const local_matrix_size, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, HTProcessData const &process_data, const unsigned dof_per_node)
Definition HTFEM.h:108

References ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::HTFEM().

Member Function Documentation

◆ assembleForStaggeredScheme()

template<typename ShapeFunction, int GlobalDim>
void ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::assembleForStaggeredScheme ( double const t,
double const dt,
Eigen::VectorXd const & local_x,
Eigen::VectorXd const & local_x_prev,
int const process_id,
std::vector< double > & local_M_data,
std::vector< double > & local_K_data,
std::vector< double > & local_b_data )
overridevirtual

Reimplemented from ProcessLib::LocalAssemblerInterface.

Definition at line 20 of file StaggeredHTFEM-impl.h.

25{
26 if (process_id == this->_process_data.heat_transport_process_id)
27 {
30 return;
31 }
32
35}
HTProcessData const & _process_data
Definition HTFEM.h:268
void assembleHydraulicEquation(double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data)
void assembleHeatTransportEquation(double const t, double const dt, Eigen::VectorXd const &local_x, std::vector< double > &local_M_data, std::vector< double > &local_K_data)

References ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_process_data, assembleHeatTransportEquation(), and assembleHydraulicEquation().

◆ assembleHeatTransportEquation()

template<typename ShapeFunction, int GlobalDim>
void ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::assembleHeatTransportEquation ( double const t,
double const dt,
Eigen::VectorXd const & local_x,
std::vector< double > & local_M_data,
std::vector< double > & local_K_data )
private

Definition at line 170 of file StaggeredHTFEM-impl.h.

176{
177 auto const local_p =
179 auto const local_T =
181
186
187 auto const& process_data = this->_process_data;
188 auto const& medium =
189 *process_data.media_map.getMedium(this->_element.getID());
190 auto const& liquid_phase =
192
193 auto const& b =
195 .projected_specific_body_force_vectors[this->_element.getID()];
196
198
199 unsigned const n_integration_points =
200 this->_integration_method.getNumberOfPoints();
201
203 double average_velocity_norm = 0.0;
205
206 auto const& Ns =
207 process_data.shape_matrix_cache
209
210 for (unsigned ip(0); ip < n_integration_points; ip++)
211 {
212 auto const& ip_data = this->_ip_data[ip];
213 auto const& dNdx = ip_data.dNdx;
214 auto const& N = Ns[ip];
215 auto const& w = ip_data.integration_weight;
216
218 std::nullopt, this->_element.getID(),
221 this->_element, N))};
222
223 double p_at_xi = 0.;
225 double T_at_xi = 0.;
227
228 vars.temperature = T_at_xi;
229 vars.liquid_phase_pressure = p_at_xi;
230
231 vars.liquid_saturation = 1.0;
232
233 auto const porosity =
235 .template value<double>(vars, pos, t, dt);
236 vars.porosity = porosity;
237
238 // Use the fluid density model to compute the density
239 auto const fluid_density =
241 .template value<double>(vars, pos, t, dt);
242 vars.density = fluid_density;
245 .template value<double>(vars, pos, t, dt);
246
247 // Assemble mass matrix
248 local_M.noalias() += w *
252 N.transpose() * N;
253
254 // Assemble Laplace matrix
255 auto const viscosity =
257 .template value<double>(vars, pos, t, dt);
258
259 auto const intrinsic_permeability =
262 .value(vars, pos, t, dt));
263
267 process_data.has_gravity
269 (dNdx * local_p - fluid_density * b))
271
275 pos, t, dt);
276
277 local_K.noalias() +=
279
280 ip_flux_vector.emplace_back(velocity * fluid_density *
283 }
284
286 process_data.stabilizer, this->_ip_data,
287 process_data.shape_matrix_cache, ip_flux_vector,
288 average_velocity_norm / static_cast<double>(n_integration_points),
289 local_K);
290}
NumLib::GenericIntegrationMethod const & _integration_method
Definition HTFEM.h:270
static const int temperature_index
Definition HTFEM.h:424
static const int temperature_size
Definition HTFEM.h:425
double getHeatEnergyCoefficient(MaterialPropertyLib::VariableArray const &vars, const double porosity, const double fluid_density, const double specific_heat_capacity_fluid, ParameterLib::SpatialPosition const &pos, double const t, double const dt)
Definition HTFEM.h:273
GlobalDimMatrixType getThermalConductivityDispersivity(MaterialPropertyLib::VariableArray const &vars, const double fluid_density, const double specific_heat_capacity_fluid, const GlobalDimVectorType &velocity, ParameterLib::SpatialPosition const &pos, double const t, double const dt)
Definition HTFEM.h:298
MeshLib::Element const & _element
Definition HTFEM.h:267
std::vector< IntegrationPointData< GlobalDimNodalMatrixType > > _ip_data
Definition HTFEM.h:271
static const int pressure_index
Definition HTFEM.h:422
typename ShapeMatricesType::GlobalDimVectorType GlobalDimVectorType
typename ShapeMatricesType::GlobalDimMatrixType GlobalDimMatrixType
ShapeMatrixPolicyType< ShapeFunction, GlobalDim > ShapeMatricesType
constexpr Eigen::Matrix< double, GlobalDim, GlobalDim > formEigenTensor(MaterialPropertyLib::PropertyDataType const &values)
Eigen::Map< Matrix > createZeroedMatrix(std::vector< double > &data, Eigen::MatrixXd::Index rows, Eigen::MatrixXd::Index cols)
void shapeFunctionInterpolate(const NodalValues &, const ShapeMatrix &)
void assembleAdvectionMatrix(IPData const &ip_data_vector, NumLib::ShapeMatrixCache const &shape_matrix_cache, std::vector< FluxVectorType > const &ip_flux_vector, Eigen::MatrixBase< Derived > &laplacian_matrix)

References ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_element, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_integration_method, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_ip_data, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_process_data, MaterialPropertyLib::AqueousLiquid, NumLib::detail::assembleAdvectionMatrix(), MathLib::createZeroedMatrix(), MaterialPropertyLib::density, MaterialPropertyLib::VariableArray::density, MaterialPropertyLib::formEigenTensor(), ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::getHeatEnergyCoefficient(), ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::getThermalConductivityDispersivity(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, MaterialPropertyLib::permeability, MaterialPropertyLib::porosity, MaterialPropertyLib::VariableArray::porosity, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::pressure_index, NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::specific_heat_capacity, MaterialPropertyLib::VariableArray::temperature, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::temperature_index, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::temperature_size, and MaterialPropertyLib::viscosity.

Referenced by assembleForStaggeredScheme().

◆ assembleHydraulicEquation()

template<typename ShapeFunction, int GlobalDim>
void ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::assembleHydraulicEquation ( double const t,
double const dt,
Eigen::VectorXd const & local_x,
Eigen::VectorXd const & local_x_prev,
std::vector< double > & local_M_data,
std::vector< double > & local_K_data,
std::vector< double > & local_b_data )
private

Definition at line 38 of file StaggeredHTFEM-impl.h.

42{
43 auto const local_p =
45 auto const local_T =
47
48 auto const local_T_prev =
50
57
58 auto const& process_data = this->_process_data;
59 auto const& medium =
60 *this->_process_data.media_map.getMedium(this->_element.getID());
61 auto const& liquid_phase =
63 auto const& solid_phase =
65 bool const has_solid_thermal_expansivity = solid_phase.hasProperty(
67
68 auto const& b =
70 .projected_specific_body_force_vectors[this->_element.getID()];
71
73
74 unsigned const n_integration_points =
75 this->_integration_method.getNumberOfPoints();
76
77 auto const& Ns =
78 process_data.shape_matrix_cache
80
81 for (unsigned ip(0); ip < n_integration_points; ip++)
82 {
83 auto const& ip_data = this->_ip_data[ip];
84 auto const& dNdx = ip_data.dNdx;
85 auto const& N = Ns[ip];
86 auto const& w = ip_data.integration_weight;
87
89 std::nullopt, this->_element.getID(),
92 this->_element, N))};
93
94 double p_int_pt = 0.0;
95 double T_int_pt = 0.0;
98
99 vars.temperature = T_int_pt;
100 vars.liquid_phase_pressure = p_int_pt;
101
102 vars.liquid_saturation = 1.0;
103
104 auto const porosity =
106 .template value<double>(vars, pos, t, dt);
107 vars.porosity = porosity;
108
109 auto const fluid_density =
111 .template value<double>(vars, pos, t, dt);
112
113 vars.density = fluid_density;
114 const double dfluid_density_dp =
116 .template dValue<double>(
118 pos, t, dt);
119
120 // Use the viscosity model to compute the viscosity
121 auto const viscosity =
123 .template value<double>(vars, pos, t, dt);
124
125 auto const specific_storage =
127 .template value<double>(vars, pos, t, dt);
128
129 auto const intrinsic_permeability =
132 .value(vars, pos, t, dt));
135
136 double const scaling_factor =
137 process_data.is_volume_balance_equation_type ? 1.0 : fluid_density;
138
139 // matrix assembly
140 local_M.noalias() += (scaling_factor * w *
143 N.transpose() * N;
144
145 local_K.noalias() +=
146 (scaling_factor * w) * dNdx.transpose() * K_over_mu * dNdx;
147
148 if (process_data.has_gravity)
149 {
150 local_b.noalias() += (scaling_factor * w * fluid_density) *
151 dNdx.transpose() * K_over_mu * b;
152 }
153
154 // Add the thermal expansion term
155 {
156 double const eff_thermal_expansivity =
160
161 double const Tdot_int_pt = (T_int_pt - local_T_prev.dot(N)) / dt;
162 local_b.noalias() +=
164 N;
165 }
166 }
167}
static const int pressure_size
Definition HTFEM.h:423
Eigen::Map< Vector > createZeroedVector(std::vector< double > &data, Eigen::VectorXd::Index size)
double evalEffectiveThermalExpansivity(double const t, double const dt, ParameterLib::SpatialPosition const &pos, MaterialPropertyLib::VariableArray const &vars, MaterialPropertyLib::Medium const &medium, MaterialPropertyLib::Phase const &liquid_phase, MaterialPropertyLib::Phase const &solid_phase, bool const has_solid_thermal_expansivity, double const specific_storage)
Definition HTFEM.cpp:43

References ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_element, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_integration_method, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_ip_data, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_process_data, MaterialPropertyLib::AqueousLiquid, MathLib::createZeroedMatrix(), MathLib::createZeroedVector(), MaterialPropertyLib::density, MaterialPropertyLib::VariableArray::density, ProcessLib::HT::evalEffectiveThermalExpansivity(), MaterialPropertyLib::formEigenTensor(), NumLib::interpolateCoordinates(), MaterialPropertyLib::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, MaterialPropertyLib::permeability, MaterialPropertyLib::porosity, MaterialPropertyLib::VariableArray::porosity, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::pressure_index, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::pressure_size, NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::Solid, MaterialPropertyLib::storage, MaterialPropertyLib::VariableArray::temperature, ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::temperature_index, MaterialPropertyLib::thermal_expansivity, and MaterialPropertyLib::viscosity.

Referenced by assembleForStaggeredScheme().

◆ getIntPtDarcyVelocity()

template<typename ShapeFunction, int GlobalDim>
std::vector< double > const & ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity ( const double t,
std::vector< GlobalVector * > const & x,
std::vector< NumLib::LocalToGlobalIndexMap const * > const & dof_table,
std::vector< double > & cache ) const
overridevirtual

Implements ProcessLib::HT::HTLocalAssemblerInterface.

Definition at line 294 of file StaggeredHTFEM-impl.h.

299{
300 assert(x.size() == dof_table.size());
301 auto const n_processes = dof_table.size();
302
306 {
307 auto const indices =
309 assert(!indices.empty());
311 }
312 auto const local_xs =
314
316}
std::vector< double > const & getIntPtDarcyVelocityLocal(const double t, std::vector< double > const &local_x, std::vector< double > &cache) const
Definition HTFEM.h:339
std::vector< GlobalIndexType > getIndices(std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)
std::vector< double > getCoupledLocalSolutions(std::vector< GlobalVector * > const &global_solutions, std::vector< std::vector< GlobalIndexType > > const &indices)

References ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::_element, ProcessLib::getCoupledLocalSolutions(), NumLib::getIndices(), and ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::getIntPtDarcyVelocityLocal().


The documentation for this class was generated from the following files: