OGS
|
Definition at line 76 of file RichardsComponentTransportFEM.h.
#include <RichardsComponentTransportFEM.h>
Public Member Functions | |
LocalAssemblerData (MeshLib::Element const &element, std::size_t const local_matrix_size, bool is_axially_symmetric, unsigned const integration_order, RichardsComponentTransportProcessData const &process_data, ProcessVariable const &transport_process_variable) | |
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) 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 |
Eigen::Map< const Eigen::RowVectorXd > | getShapeMatrix (const unsigned integration_point) const override |
Provides the shape matrix at the given integration point. More... | |
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 |
Public Member Functions inherited from ProcessLib::LocalAssemblerInterface | |
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 | 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< double > const &) const |
virtual Eigen::Vector3d | getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double >> const &) const |
Fits to staggered scheme. More... | |
Public Member Functions inherited from NumLib::ExtrapolatableElement | |
virtual | ~ExtrapolatableElement ()=default |
Private Types | |
using | ShapeMatricesType = ShapeMatrixPolicyType< ShapeFunction, GlobalDim > |
using | ShapeMatrices = typename ShapeMatricesType::ShapeMatrices |
using | LocalMatrixType = typename ShapeMatricesType::template MatrixType< NUM_NODAL_DOF *ShapeFunction::NPOINTS, NUM_NODAL_DOF *ShapeFunction::NPOINTS > |
using | LocalVectorType = typename ShapeMatricesType::template VectorType< NUM_NODAL_DOF *ShapeFunction::NPOINTS > |
using | NodalVectorType = typename ShapeMatricesType::NodalVectorType |
using | NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType |
using | GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType |
using | GlobalDimNodalMatrixType = typename ShapeMatricesType::GlobalDimNodalMatrixType |
using | NodalMatrixType = typename ShapeMatricesType::NodalMatrixType |
using | GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType |
Private Attributes | |
unsigned const | _element_id |
RichardsComponentTransportProcessData const & | _process_data |
IntegrationMethod const | _integration_method |
ProcessVariable const & | _transport_process_variable |
std::vector< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType, NodalMatrixType >, Eigen::aligned_allocator< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType, NodalMatrixType > > > | _ip_data |
Static Private Attributes | |
static const int | concentration_index = 0 |
static const int | concentration_size = ShapeFunction::NPOINTS |
static const int | pressure_index = ShapeFunction::NPOINTS |
static const int | pressure_size = ShapeFunction::NPOINTS |
|
private |
Definition at line 96 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 93 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 92 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 82 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 85 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 95 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 90 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 89 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 80 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 79 of file RichardsComponentTransportFEM.h.
ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >::LocalAssemblerData | ( | MeshLib::Element const & | element, |
std::size_t const | local_matrix_size, | ||
bool | is_axially_symmetric, | ||
unsigned const | integration_order, | ||
RichardsComponentTransportProcessData const & | process_data, | ||
ProcessVariable const & | transport_process_variable | ||
) |
Definition at line 23 of file RichardsComponentTransportFEM-impl.h.
References ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >::_integration_method, ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >::_ip_data, and ProcessLib::RichardsComponentTransport::NUM_NODAL_DOF.
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 63 of file RichardsComponentTransportFEM-impl.h.
References MaterialPropertyLib::capillary_pressure, MaterialPropertyLib::concentration, MaterialPropertyLib::decay_rate, MaterialPropertyLib::density, MaterialPropertyLib::liquid_saturation, MaterialPropertyLib::longitudinal_dispersivity, ProcessLib::RichardsComponentTransport::NUM_NODAL_DOF, MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MaterialPropertyLib::pore_diffusion, MaterialPropertyLib::porosity, MaterialPropertyLib::relative_permeability, MaterialPropertyLib::retardation_factor, MaterialPropertyLib::saturation, ParameterLib::SpatialPosition::setElementID(), ParameterLib::SpatialPosition::setIntegrationPoint(), NumLib::shapeFunctionInterpolate(), MaterialPropertyLib::storage, MaterialPropertyLib::transversal_dispersivity, and MaterialPropertyLib::viscosity.
|
overridevirtual |
Implements ProcessLib::RichardsComponentTransport::RichardsComponentTransportLocalAssemblerInterface.
Definition at line 234 of file RichardsComponentTransportFEM-impl.h.
References MaterialPropertyLib::capillary_pressure, MaterialPropertyLib::concentration, MathLib::createZeroedMatrix(), MaterialPropertyLib::density, NumLib::getIndices(), MaterialPropertyLib::liquid_saturation, MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MaterialPropertyLib::relative_permeability, MaterialPropertyLib::saturation, ParameterLib::SpatialPosition::setElementID(), NumLib::shapeFunctionInterpolate(), and MaterialPropertyLib::viscosity.
|
overridevirtual |
Implements ProcessLib::RichardsComponentTransport::RichardsComponentTransportLocalAssemblerInterface.
Definition at line 329 of file RichardsComponentTransportFEM-impl.h.
References MaterialPropertyLib::capillary_pressure, NumLib::getIndices(), MaterialPropertyLib::saturation, ParameterLib::SpatialPosition::setElementID(), and NumLib::shapeFunctionInterpolate().
|
overridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 318 of file RichardsComponentTransportFEM-impl.h.
|
private |
Definition at line 130 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 133 of file RichardsComponentTransportFEM.h.
Referenced by ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >::LocalAssemblerData().
|
private |
Definition at line 141 of file RichardsComponentTransportFEM.h.
Referenced by ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >::LocalAssemblerData().
|
private |
Definition at line 131 of file RichardsComponentTransportFEM.h.
|
private |
Definition at line 134 of file RichardsComponentTransportFEM.h.
|
staticprivate |
Definition at line 143 of file RichardsComponentTransportFEM.h.
|
staticprivate |
Definition at line 144 of file RichardsComponentTransportFEM.h.
|
staticprivate |
Definition at line 145 of file RichardsComponentTransportFEM.h.
|
staticprivate |
Definition at line 146 of file RichardsComponentTransportFEM.h.