![]() |
OGS
|
Definition at line 94 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
#include <ThermalTwoPhaseFlowWithPPLocalAssembler.h>
Public Member Functions | |
ThermalTwoPhaseFlowWithPPLocalAssembler (MeshLib::Element const &element, std::size_t const, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, ThermalTwoPhaseFlowWithPPProcessData const &process_data) | |
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) 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 & | getIntPtSaturation (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &) const override |
std::vector< double > const & | getIntPtWettingPressure (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &) const override |
std::vector< double > const & | getIntPtLiquidMolFracContaminant (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &) const override |
std::vector< double > const & | getIntPtGasMolFracWater (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &) const override |
std::vector< double > const & | getIntPtGasMolFracContaminant (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &) const override |
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 | 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< double > const &) const |
virtual Eigen::Vector3d | getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double > > const &) const |
Fits to staggered scheme. | |
virtual std::optional< VectorSegment > | getVectorDeformationSegment () const |
Public Member Functions inherited from NumLib::ExtrapolatableElement | |
virtual | ~ExtrapolatableElement ()=default |
Private Types | |
using | ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, GlobalDim> |
using | ShapeMatrices = typename ShapeMatricesType::ShapeMatrices |
using | LocalAssemblerTraits |
using | NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType |
using | GlobalDimNodalMatrixType |
using | NodalMatrixType = typename ShapeMatricesType::NodalMatrixType |
using | NodalVectorType = typename ShapeMatricesType::NodalVectorType |
using | GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType |
using | GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType |
using | LocalMatrixType = typename LocalAssemblerTraits::LocalMatrix |
using | LocalVectorType = typename LocalAssemblerTraits::LocalVector |
Private Attributes | |
MeshLib::Element const & | _element |
NumLib::GenericIntegrationMethod const & | _integration_method |
ThermalTwoPhaseFlowWithPPProcessData const & | _process_data |
std::vector< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType, NodalMatrixType >, Eigen::aligned_allocator< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType, NodalMatrixType > > > | _ip_data |
std::vector< double > | _saturation |
std::vector< double > | _pressure_wetting |
std::vector< double > | _liquid_molar_fraction_contaminant |
std::vector< double > | _gas_molar_fraction_water |
std::vector< double > | _gas_molar_fraction_contaminant |
Static Private Attributes | |
static const int | nonwet_pressure_matrix_index = 0 |
static const int | cap_pressure_matrix_index = ShapeFunction::NPOINTS |
static const int | contaminant_matrix_index = 2 * ShapeFunction::NPOINTS |
static const int | temperature_matrix_index = 3 * ShapeFunction::NPOINTS |
static const int | nonwet_pressure_size = ShapeFunction::NPOINTS |
static const int | cap_pressure_size = ShapeFunction::NPOINTS |
static const int | contaminant_size = ShapeFunction::NPOINTS |
static const int | temperature_size = ShapeFunction::NPOINTS |
|
private |
Definition at line 108 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 104 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 109 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 100 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 110 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 111 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 106 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 102 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 107 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 98 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
private |
Definition at line 97 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
inline |
Definition at line 114 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _element, _gas_molar_fraction_contaminant, _gas_molar_fraction_water, _integration_method, _ip_data, _liquid_molar_fraction_contaminant, _pressure_wetting, _process_data, _saturation, and NumLib::initShapeMatrices().
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 27 of file ThermalTwoPhaseFlowWithPPLocalAssembler-impl.h.
References _element, _gas_molar_fraction_contaminant, _gas_molar_fraction_water, _integration_method, _ip_data, _liquid_molar_fraction_contaminant, _pressure_wetting, _process_data, _saturation, cap_pressure_matrix_index, MaterialPropertyLib::capillary_pressure, MaterialPropertyLib::VariableArray::capillary_pressure, MaterialLib::PhysicalConstant::CelsiusZeroInKelvin, contaminant_matrix_index, MathLib::createZeroedMatrix(), MathLib::createZeroedVector(), MaterialPropertyLib::density, MaterialPropertyLib::VariableArray::enthalpy_of_evaporation, MaterialPropertyLib::formEffectiveThermalConductivity(), MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::gas_phase_pressure, MaterialPropertyLib::henry_coefficient, MaterialLib::PhysicalConstant::IdealGasConstant, NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_saturation, MaterialPropertyLib::longitudinal_dispersivity, MaterialPropertyLib::molar_mass, MaterialPropertyLib::VariableArray::molar_mass, nonwet_pressure_matrix_index, ProcessLib::ThermalTwoPhaseFlowWithPP::NUM_NODAL_DOF, MaterialPropertyLib::permeability, MaterialPropertyLib::pore_diffusion, MaterialPropertyLib::porosity, MaterialPropertyLib::relative_permeability, MaterialPropertyLib::saturation, NumLib::detail::shapeFunctionInterpolate(), MaterialPropertyLib::specific_heat_capacity, MaterialPropertyLib::specific_latent_heat, MaterialPropertyLib::temperature, MaterialPropertyLib::VariableArray::temperature, temperature_matrix_index, MaterialPropertyLib::thermal_conductivity, MaterialPropertyLib::transversal_dispersivity, MaterialPropertyLib::vapour_pressure, and MaterialPropertyLib::viscosity.
|
inlineoverridevirtual |
Implements ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssemblerInterface.
Definition at line 212 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _gas_molar_fraction_contaminant.
|
inlineoverridevirtual |
Implements ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssemblerInterface.
Definition at line 202 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _gas_molar_fraction_water.
|
inlineoverridevirtual |
Implements ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssemblerInterface.
Definition at line 192 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _liquid_molar_fraction_contaminant.
|
inlineoverridevirtual |
Implements ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssemblerInterface.
Definition at line 172 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _saturation.
|
inlineoverridevirtual |
Implements ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssemblerInterface.
Definition at line 182 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _pressure_wetting.
|
inlineoverridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 163 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
References _ip_data.
|
private |
Definition at line 223 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), and assemble().
|
private |
Definition at line 239 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), assemble(), and getIntPtGasMolFracContaminant().
|
private |
Definition at line 238 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), assemble(), and getIntPtGasMolFracWater().
|
private |
Definition at line 225 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), and assemble().
|
private |
Definition at line 233 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), assemble(), and getShapeMatrix().
|
private |
Definition at line 237 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), assemble(), and getIntPtLiquidMolFracContaminant().
|
private |
Definition at line 236 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), assemble(), and getIntPtWettingPressure().
|
private |
Definition at line 227 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), and assemble().
|
private |
Definition at line 235 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by ThermalTwoPhaseFlowWithPPLocalAssembler(), assemble(), and getIntPtSaturation().
|
staticprivate |
Definition at line 242 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by assemble().
|
staticprivate |
Definition at line 247 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
staticprivate |
Definition at line 243 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by assemble().
|
staticprivate |
Definition at line 248 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
staticprivate |
Definition at line 241 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by assemble().
|
staticprivate |
Definition at line 246 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
|
staticprivate |
Definition at line 244 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.
Referenced by assemble().
|
staticprivate |
Definition at line 249 of file ThermalTwoPhaseFlowWithPPLocalAssembler.h.