OGS
|
Definition at line 36 of file ThermoRichardsFlowFEM.h.
#include <ThermoRichardsFlowFEM.h>
Public Types | |
using | ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim> |
using | GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType |
using | GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType |
using | IpData = IntegrationPointData<ShapeMatricesType> |
Public Member Functions | |
ThermoRichardsFlowLocalAssembler (ThermoRichardsFlowLocalAssembler const &)=delete | |
ThermoRichardsFlowLocalAssembler (ThermoRichardsFlowLocalAssembler &&)=delete | |
ThermoRichardsFlowLocalAssembler (MeshLib::Element const &e, std::size_t const, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, ThermoRichardsFlowProcessData &process_data) | |
std::size_t | setIPDataInitialConditions (std::string_view const name, double const *values, int const integration_order) override |
void | setInitialConditionsConcrete (Eigen::VectorXd const local_x, double const t, int const process_id) override |
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_rhs_data, std::vector< double > &local_Jac_data) override |
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_rhs_data) override |
void | initializeConcrete () override |
void | postTimestepConcrete (Eigen::VectorXd const &, Eigen::VectorXd const &, double const, double const, int const) override |
void | computeSecondaryVariableConcrete (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_x_prev) override |
Eigen::Map< const Eigen::RowVectorXd > | getShapeMatrix (const unsigned integration_point) const override |
Provides the shape matrix at the given integration point. | |
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 |
std::vector< double > | getSaturation () const override |
std::vector< double > const & | getIntPtSaturation (const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const override |
std::vector< double > | getPorosity () const override |
std::vector< double > const & | getIntPtPorosity (const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtDryDensitySolid (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::ThermoRichardsFlow::LocalAssemblerInterface | |
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 | 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) |
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< double > const &) const |
virtual Eigen::Vector3d | getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double > > const &) const |
Fits to staggered scheme. | |
Public Member Functions inherited from NumLib::ExtrapolatableElement | |
virtual | ~ExtrapolatableElement ()=default |
Private Member Functions | |
unsigned | getNumberOfIntegrationPoints () const override |
Private Attributes | |
ThermoRichardsFlowProcessData & | _process_data |
std::vector< IpData, Eigen::aligned_allocator< IpData > > | _ip_data |
NumLib::GenericIntegrationMethod const & | _integration_method |
MeshLib::Element const & | _element |
bool const | _is_axially_symmetric |
Static Private Attributes | |
static const int | temperature_index = 0 |
static const int | temperature_size = ShapeFunction::NPOINTS |
static const int | pressure_index = temperature_size |
static const int | pressure_size = ShapeFunction::NPOINTS |
using ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType |
Definition at line 43 of file ThermoRichardsFlowFEM.h.
using ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType |
Definition at line 44 of file ThermoRichardsFlowFEM.h.
using ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::IpData = IntegrationPointData<ShapeMatricesType> |
Definition at line 46 of file ThermoRichardsFlowFEM.h.
using ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim> |
Definition at line 41 of file ThermoRichardsFlowFEM.h.
|
delete |
|
delete |
ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler | ( | MeshLib::Element const & | e, |
std::size_t const | , | ||
NumLib::GenericIntegrationMethod const & | integration_method, | ||
bool const | is_axially_symmetric, | ||
ThermoRichardsFlowProcessData & | process_data ) |
Definition at line 34 of file ThermoRichardsFlowFEM-impl.h.
References ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_element, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_integration_method, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_ip_data, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_process_data, MeshLib::Element::getID(), MaterialPropertyLib::MaterialSpatialDistributionMap::getMedium(), NumLib::GenericIntegrationMethod::getNumberOfPoints(), MathLib::WeightedPoint::getWeight(), NumLib::GenericIntegrationMethod::getWeightedPoint(), NumLib::initShapeMatrices(), NumLib::interpolateCoordinates(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowProcessData::media_map, and MaterialPropertyLib::porosity.
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 687 of file ThermoRichardsFlowFEM-impl.h.
References MaterialPropertyLib::VariableArray::capillary_pressure, MathLib::createZeroedMatrix(), MathLib::createZeroedVector(), MaterialPropertyLib::density, MaterialPropertyLib::VariableArray::density, MaterialPropertyLib::VariableArray::effective_pore_pressure, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::formEigenTensor< 3 >(), MaterialPropertyLib::VariableArray::gas_phase_pressure, MaterialPropertyLib::getLiquidThermalExpansivity(), MaterialPropertyLib::VariableArray::grain_compressibility, MaterialPropertyLib::Phase::hasProperty(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, OGS_FATAL, MaterialPropertyLib::VariableArray::porosity, MaterialPropertyLib::Phase::property(), NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::specific_heat_capacity, MaterialPropertyLib::VariableArray::temperature, MaterialPropertyLib::thermal_expansivity, and MaterialPropertyLib::thermal_osmosis_coefficient.
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 154 of file ThermoRichardsFlowFEM-impl.h.
References MaterialPropertyLib::VariableArray::capillary_pressure, MathLib::createZeroedMatrix(), MathLib::createZeroedVector(), MaterialPropertyLib::VariableArray::density, MaterialPropertyLib::VariableArray::effective_pore_pressure, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::formEigenTensor< 3 >(), MaterialPropertyLib::VariableArray::gas_phase_pressure, MaterialPropertyLib::getLiquidThermalExpansivity(), MaterialPropertyLib::VariableArray::grain_compressibility, MaterialPropertyLib::Phase::hasProperty(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, OGS_FATAL, MaterialPropertyLib::VariableArray::porosity, MaterialPropertyLib::Phase::property(), NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::specific_heat_capacity, MaterialPropertyLib::VariableArray::temperature, MaterialPropertyLib::thermal_expansivity, and MaterialPropertyLib::thermal_osmosis_coefficient.
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 1197 of file ThermoRichardsFlowFEM-impl.h.
References MaterialPropertyLib::VariableArray::capillary_pressure, MaterialPropertyLib::VariableArray::effective_pore_pressure, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::gas_phase_pressure, MaterialPropertyLib::VariableArray::grain_compressibility, NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, MaterialPropertyLib::VariableArray::porosity, NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::VariableArray::temperature, and MaterialPropertyLib::thermal_osmosis_coefficient.
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1118 of file ThermoRichardsFlowFEM-impl.h.
References MathLib::createZeroedMatrix().
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1185 of file ThermoRichardsFlowFEM-impl.h.
References ProcessLib::getIntegrationPointScalarData().
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1173 of file ThermoRichardsFlowFEM-impl.h.
References ProcessLib::getIntegrationPointScalarData().
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1152 of file ThermoRichardsFlowFEM-impl.h.
References ProcessLib::getIntegrationPointScalarData().
|
overrideprivatevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1343 of file ThermoRichardsFlowFEM-impl.h.
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1164 of file ThermoRichardsFlowFEM-impl.h.
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 1143 of file ThermoRichardsFlowFEM-impl.h.
|
inlineoverridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 113 of file ThermoRichardsFlowFEM.h.
References ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_ip_data.
|
inlineoverridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 83 of file ThermoRichardsFlowFEM.h.
References ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_integration_method, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_ip_data, and NumLib::GenericIntegrationMethod::getNumberOfPoints().
|
inlineoverridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 95 of file ThermoRichardsFlowFEM.h.
References ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_integration_method, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::_ip_data, and NumLib::GenericIntegrationMethod::getNumberOfPoints().
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 111 of file ThermoRichardsFlowFEM-impl.h.
References MaterialPropertyLib::VariableArray::capillary_pressure, MaterialPropertyLib::VariableArray::gas_phase_pressure, NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, and NumLib::detail::shapeFunctionInterpolate().
|
overridevirtual |
Implements ProcessLib::ThermoRichardsFlow::LocalAssemblerInterface.
Definition at line 82 of file ThermoRichardsFlowFEM-impl.h.
References OGS_FATAL, and ProcessLib::setIntegrationPointScalarData().
|
private |
Definition at line 157 of file ThermoRichardsFlowFEM.h.
Referenced by ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler().
|
private |
Definition at line 156 of file ThermoRichardsFlowFEM.h.
Referenced by ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::initializeConcrete(), and ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::postTimestepConcrete().
|
private |
Definition at line 154 of file ThermoRichardsFlowFEM.h.
Referenced by ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::getShapeMatrix(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::initializeConcrete(), and ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::postTimestepConcrete().
|
private |
Definition at line 158 of file ThermoRichardsFlowFEM.h.
|
private |
Definition at line 152 of file ThermoRichardsFlowFEM.h.
Referenced by ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler().
|
staticprivate |
Definition at line 162 of file ThermoRichardsFlowFEM.h.
|
staticprivate |
Definition at line 163 of file ThermoRichardsFlowFEM.h.
|
staticprivate |
Definition at line 160 of file ThermoRichardsFlowFEM.h.
|
staticprivate |
Definition at line 161 of file ThermoRichardsFlowFEM.h.