OGS
|
Definition at line 31 of file StaggeredHTFEM.h.
#include <StaggeredHTFEM.h>
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) | |
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. | |
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 |
|
private |
Definition at line 49 of file StaggeredHTFEM.h.
|
private |
Definition at line 47 of file StaggeredHTFEM.h.
|
private |
Definition at line 46 of file StaggeredHTFEM.h.
|
private |
Definition at line 36 of file StaggeredHTFEM.h.
|
private |
Definition at line 39 of file StaggeredHTFEM.h.
|
private |
Definition at line 43 of file StaggeredHTFEM.h.
|
private |
Definition at line 44 of file StaggeredHTFEM.h.
|
private |
Definition at line 42 of file StaggeredHTFEM.h.
|
private |
Definition at line 34 of file StaggeredHTFEM.h.
|
private |
Definition at line 33 of file StaggeredHTFEM.h.
|
inline |
Definition at line 57 of file StaggeredHTFEM.h.
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 26 of file StaggeredHTFEM-impl.h.
|
private |
Definition at line 177 of file StaggeredHTFEM-impl.h.
References NumLib::detail::assembleAdvectionMatrix(), MathLib::createZeroedMatrix(), MaterialPropertyLib::density, MaterialPropertyLib::VariableArray::density, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, MaterialPropertyLib::permeability, MaterialPropertyLib::porosity, MaterialPropertyLib::VariableArray::porosity, ParameterLib::SpatialPosition::setElementID(), ParameterLib::SpatialPosition::setIntegrationPoint(), NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::specific_heat_capacity, MaterialPropertyLib::VariableArray::temperature, and MaterialPropertyLib::viscosity.
|
private |
Definition at line 44 of file StaggeredHTFEM-impl.h.
References MathLib::createZeroedMatrix(), MathLib::createZeroedVector(), MaterialPropertyLib::density, MaterialPropertyLib::VariableArray::density, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::VariableArray::liquid_saturation, MaterialPropertyLib::permeability, MaterialPropertyLib::porosity, ParameterLib::SpatialPosition::setElementID(), ParameterLib::SpatialPosition::setIntegrationPoint(), NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::storage, MaterialPropertyLib::temperature, MaterialPropertyLib::VariableArray::temperature, and MaterialPropertyLib::viscosity.
|
overridevirtual |
Implements ProcessLib::HT::HTLocalAssemblerInterface.
Definition at line 299 of file StaggeredHTFEM-impl.h.
References ProcessLib::getCoupledLocalSolutions(), and NumLib::getIndices().