OGS
|
Definition at line 67 of file LiquidFlowLocalAssembler.h.
#include <LiquidFlowLocalAssembler.h>
Classes | |
struct | AnisotropicCalculator |
struct | IsotropicCalculator |
Public Member Functions | |
LiquidFlowLocalAssembler (MeshLib::Element const &element, std::size_t const, bool const is_axially_symmetric, unsigned const integration_order, LiquidFlowData const &process_data) | |
void | assemble (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data) override |
Eigen::Vector3d | getFlux (MathLib::Point3d const &p_local_coords, double const t, std::vector< double > const &local_x) 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 & | getIntPtDarcyVelocity (const double t, std::vector< GlobalVector * > const &x, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_table, std::vector< double > &velocity_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< 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 > |
using | ShapeMatrices = typename ShapeMatricesType::ShapeMatrices |
using | LocalAssemblerTraits = ProcessLib::LocalAssemblerTraits< ShapeMatricesType, ShapeFunction::NPOINTS, NUM_NODAL_DOF, ShapeFunction::DIM > |
using | NodalMatrixType = typename LocalAssemblerTraits::LocalMatrix |
using | NodalVectorType = typename LocalAssemblerTraits::LocalVector |
using | NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType |
using | DimVectorType = typename ShapeMatricesType::DimVectorType |
using | DimMatrixType = typename ShapeMatricesType::DimMatrixType |
using | GlobalDimNodalMatrixType = typename ShapeMatricesType::GlobalDimNodalMatrixType |
Private Member Functions | |
template<typename LaplacianGravityVelocityCalculator > | |
void | assembleMatrixAndVector (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data) |
template<typename LaplacianGravityVelocityCalculator , typename VelocityCacheType > | |
void | computeProjectedDarcyVelocity (const double t, const double dt, std::vector< double > const &local_x, ParameterLib::SpatialPosition const &pos, VelocityCacheType &darcy_velocity_at_ips) const |
template<typename VelocityCacheType > | |
void | computeDarcyVelocity (bool const is_scalar_permeability, const double t, const double dt, std::vector< double > const &local_x, ParameterLib::SpatialPosition const &pos, VelocityCacheType &darcy_velocity_at_ips) const |
Private Attributes | |
MeshLib::Element const & | _element |
IntegrationMethod const | _integration_method |
std::vector< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType >, Eigen::aligned_allocator< IntegrationPointData< NodalRowVectorType, GlobalDimNodalMatrixType > > > | _ip_data |
const LiquidFlowData & | _process_data |
|
private |
Definition at line 81 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 80 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 82 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 72 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 77 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 79 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 78 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 70 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 69 of file LiquidFlowLocalAssembler.h.
|
inline |
Definition at line 86 of file LiquidFlowLocalAssembler.h.
References ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::_integration_method, ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::_ip_data, and NumLib::initShapeMatrices().
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 26 of file LiquidFlowLocalAssembler-impl.h.
References MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MaterialPropertyLib::reference_temperature, ParameterLib::SpatialPosition::setElementID(), and MaterialPropertyLib::temperature.
|
private |
Definition at line 121 of file LiquidFlowLocalAssembler-impl.h.
References MaterialPropertyLib::density, ProcessLib::TES::fluid_density(), MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MaterialPropertyLib::porosity, MaterialPropertyLib::reference_temperature, ParameterLib::SpatialPosition::setElementID(), ParameterLib::SpatialPosition::setIntegrationPoint(), NumLib::shapeFunctionInterpolate(), MaterialPropertyLib::storage, MaterialPropertyLib::temperature, and MaterialPropertyLib::viscosity.
|
private |
Definition at line 207 of file LiquidFlowLocalAssembler-impl.h.
|
private |
Definition at line 279 of file LiquidFlowLocalAssembler-impl.h.
References MaterialPropertyLib::density, ProcessLib::TES::fluid_density(), MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MaterialPropertyLib::reference_temperature, NumLib::shapeFunctionInterpolate(), MaterialPropertyLib::temperature, and MaterialPropertyLib::viscosity.
|
overridevirtual |
Computes the flux in the point p_local_coords
that is given in local coordinates using the values from local_x
.
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 68 of file LiquidFlowLocalAssembler-impl.h.
References NumLib::computeShapeMatrices(), MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, ParameterLib::SpatialPosition::setElementID(), NumLib::shapeFunctionInterpolate(), and MaterialPropertyLib::viscosity.
|
overridevirtual |
Implements ProcessLib::LiquidFlow::LiquidFlowLocalAssemblerInterface.
Definition at line 227 of file LiquidFlowLocalAssembler-impl.h.
References MathLib::createZeroedMatrix(), NumLib::getIndices(), MaterialPropertyLib::permeability, MaterialPropertyLib::phase_pressure, MaterialPropertyLib::reference_temperature, ParameterLib::SpatialPosition::setElementID(), and MaterialPropertyLib::temperature.
|
inlineoverridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 127 of file LiquidFlowLocalAssembler.h.
References ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::_ip_data.
|
private |
Definition at line 143 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 145 of file LiquidFlowLocalAssembler.h.
Referenced by ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::LiquidFlowLocalAssembler().
|
private |
Definition at line 150 of file LiquidFlowLocalAssembler.h.
Referenced by ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::LiquidFlowLocalAssembler(), and ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >::getShapeMatrix().
|
private |
Definition at line 221 of file LiquidFlowLocalAssembler.h.