![]() |
OGS
|
#include <HTFEM.h>
Public Member Functions | |
HTFEM (MeshLib::Element const &element, std::size_t const local_matrix_size, bool const is_axially_symmetric, unsigned const integration_order, HTProcessData const &process_data, const unsigned dof_per_node) | |
Eigen::Map< const Eigen::RowVectorXd > | getShapeMatrix (const unsigned integration_point) const override |
Provides the shape matrix at the given integration point. More... | |
Eigen::Vector3d | getFlux (MathLib::Point3d const &pnt_local_coords, double const t, std::vector< double > const &local_x) const override |
![]() | |
HTLocalAssemblerInterface ()=default | |
void | setStaggeredCoupledSolutions (std::size_t const, CoupledSolutionsForStaggeredScheme *const coupling_term) |
virtual std::vector< double > const & | getIntPtDarcyVelocity (const double, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &) const =0 |
![]() | |
virtual | ~LocalAssemblerInterface ()=default |
void | setInitialConditions (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, double const t, bool const use_monolithic_scheme, 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_xdot, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data) |
virtual void | assembleForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_xdot, int const process_id, 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_xdot, const double dxdot_dx, const double dx_dx, std::vector< double > &local_M_data, std::vector< double > &local_K_data, 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_xdot, const double dxdot_dx, const double dx_dx, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, 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_dot, 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, double const t, double const dt) |
void | postNonLinearSolver (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, GlobalVector const &xdot, double const t, double const dt, bool const use_monolithic_scheme, int const process_id) |
virtual std::vector< double > | interpolateNodalValuesToIntegrationPoints (std::vector< double > const &) |
virtual Eigen::Vector3d | getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double >> const &) const |
Fits to staggered scheme. More... | |
![]() | |
virtual | ~ExtrapolatableElement ()=default |
Protected Member Functions | |
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, const GlobalDimMatrixType &I, 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 | |
MeshLib::Element const & | _element |
HTProcessData const & | _process_data |
IntegrationMethod const | _integration_method |
std::vector< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType >, Eigen::aligned_allocator< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType > > > | _ip_data |
![]() | |
CoupledSolutionsForStaggeredScheme * | _coupled_solutions {nullptr} |
Static Protected Attributes | |
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 |
Private Types | |
using | ShapeMatricesType = ShapeMatrixPolicyType< ShapeFunction, GlobalDim > |
using | ShapeMatrices = typename ShapeMatricesType::ShapeMatrices |
using | NodalVectorType = typename ShapeMatricesType::NodalVectorType |
using | NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType |
using | GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType |
using | GlobalDimNodalMatrixType = typename ShapeMatricesType::GlobalDimNodalMatrixType |
using | GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
Definition at line 46 of file HTFEM.h.
References ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_integration_method, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_ip_data, and NumLib::initShapeMatrices().
|
inlineoverridevirtual |
Computes the flux in the point pnt_local_coords
that is given in local coordinates using the values from local_x
.
Implements ProcessLib::HT::HTLocalAssemblerInterface.
Definition at line 93 of file HTFEM.h.
References ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_element, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_process_data, NumLib::computeShapeMatrices(), MaterialPropertyLib::density, MeshLib::Element::getID(), ProcessLib::HT::HTProcessData::has_gravity, ProcessLib::HT::HTProcessData::media_map, MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MathLib::q, ParameterLib::SpatialPosition::setElementID(), NumLib::shapeFunctionInterpolate(), ProcessLib::HT::HTProcessData::specific_body_force, MaterialPropertyLib::temperature, and MaterialPropertyLib::viscosity.
|
inlineprotected |
Definition at line 170 of file HTFEM.h.
References ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_process_data, MaterialPropertyLib::density, ProcessLib::TES::fluid_density(), MeshLib::Element::getID(), ProcessLib::HT::HTProcessData::media_map, and MaterialPropertyLib::specific_heat_capacity.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble().
|
inlineprotected |
Definition at line 239 of file HTFEM.h.
References ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_element, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_integration_method, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_ip_data, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_process_data, MathLib::createZeroedMatrix(), MaterialPropertyLib::density, MeshLib::Element::getID(), ProcessLib::HT::HTProcessData::has_gravity, ProcessLib::HT::HTProcessData::media_map, MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::pressure_index, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::pressure_size, ParameterLib::SpatialPosition::setElementID(), NumLib::shapeFunctionInterpolate(), ProcessLib::HT::HTProcessData::specific_body_force, MaterialPropertyLib::temperature, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::temperature_index, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::temperature_size, and MaterialPropertyLib::viscosity.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocity().
|
inlineoverridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 82 of file HTFEM.h.
References ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_ip_data.
|
inlineprotected |
Definition at line 194 of file HTFEM.h.
References ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_element, ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::_process_data, ProcessLib::TES::fluid_density(), MeshLib::Element::getID(), ProcessLib::HT::HTProcessData::media_map, MaterialPropertyLib::thermal_conductivity, MaterialPropertyLib::thermal_longitudinal_dispersivity, and MaterialPropertyLib::thermal_transversal_dispersivity.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble().
|
protected |
Definition at line 160 of file HTFEM.h.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getFlux(), ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getThermalConductivityDispersivity().
|
protected |
Definition at line 163 of file HTFEM.h.
Referenced by ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::HTFEM(), ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal().
|
protected |
Definition at line 168 of file HTFEM.h.
Referenced by ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::HTFEM(), ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getShapeMatrix().
|
protected |
Definition at line 161 of file HTFEM.h.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getFlux(), ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getHeatEnergyCoefficient(), ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getThermalConductivityDispersivity().
|
staticprotected |
Definition at line 319 of file HTFEM.h.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal().
|
staticprotected |
Definition at line 320 of file HTFEM.h.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal().
|
staticprotected |
Definition at line 321 of file HTFEM.h.
Referenced by ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::assemble(), and ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal().
|
staticprotected |
Definition at line 322 of file HTFEM.h.
Referenced by ProcessLib::HT::HTFEM< ShapeFunction, IntegrationMethod, GlobalDim >::getIntPtDarcyVelocityLocal().