![]() |
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, NumLib::GenericIntegrationMethod const &integration_method, bool const is_axially_symmetric, 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. | |
| 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 |
| 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< 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 | NodalMatrixType = typename LocalAssemblerTraits::LocalMatrix |
| using | NodalVectorType = typename LocalAssemblerTraits::LocalVector |
| using | NodalRowVectorType = typename ShapeMatricesType::NodalRowVectorType |
| using | GlobalDimVectorType = typename ShapeMatricesType::GlobalDimVectorType |
| using | GlobalDimMatrixType = typename ShapeMatricesType::GlobalDimMatrixType |
| using | 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 |
| NumLib::GenericIntegrationMethod const & | _integration_method |
| std::vector< IntegrationPointData< GlobalDimNodalMatrixType > > | _ip_data |
| const LiquidFlowData & | _process_data |
|
private |
Definition at line 79 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 80 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 78 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 72 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 75 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 77 of file LiquidFlowLocalAssembler.h.
|
private |
Definition at line 76 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 84 of file LiquidFlowLocalAssembler.h.
References _element, _integration_method, _ip_data, _process_data, NumLib::initShapeMatrices(), and ParameterLib::SpatialPosition::setElementID().
|
overridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 27 of file LiquidFlowLocalAssembler-impl.h.
References _element, _process_data, assembleMatrixAndVector(), MaterialPropertyLib::formEigenTensor(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::permeability, MaterialPropertyLib::reference_temperature, and MaterialPropertyLib::VariableArray::temperature.
|
private |
Definition at line 121 of file LiquidFlowLocalAssembler-impl.h.
References _element, _integration_method, _ip_data, _process_data, MathLib::createZeroedMatrix(), MathLib::createZeroedVector(), MaterialPropertyLib::density, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::gas_phase_pressure, MaterialPropertyLib::getFluidDensityAndViscosity(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::permeability, MaterialPropertyLib::porosity, MaterialPropertyLib::reference_temperature, ParameterLib::SpatialPosition::setElementID(), MaterialPropertyLib::storage, MaterialPropertyLib::VariableArray::temperature, MathLib::toVector(), and ProcessLib::LiquidFlow::volume.
Referenced by assemble().
|
private |
Definition at line 222 of file LiquidFlowLocalAssembler-impl.h.
References computeProjectedDarcyVelocity().
Referenced by getIntPtDarcyVelocity().
|
private |
Definition at line 301 of file LiquidFlowLocalAssembler-impl.h.
References _element, _integration_method, _ip_data, _process_data, MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::gas_phase_pressure, MaterialPropertyLib::getFluidDensityAndViscosity(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::permeability, MaterialPropertyLib::reference_temperature, MaterialPropertyLib::VariableArray::temperature, and MathLib::toVector().
Referenced by computeDarcyVelocity().
|
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 74 of file LiquidFlowLocalAssembler-impl.h.
References _element, _process_data, NumLib::computeShapeMatrices(), MaterialPropertyLib::formEigenTensor(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::permeability, ParameterLib::SpatialPosition::setElementID(), NumLib::detail::shapeFunctionInterpolate(), and MaterialPropertyLib::viscosity.
|
overridevirtual |
Implements ProcessLib::LiquidFlow::LiquidFlowLocalAssemblerInterface.
Definition at line 242 of file LiquidFlowLocalAssembler-impl.h.
References _element, _integration_method, _process_data, computeDarcyVelocity(), MathLib::createZeroedMatrix(), MaterialPropertyLib::formEigenTensor(), NumLib::getIndices(), NumLib::interpolateCoordinates(), MaterialPropertyLib::VariableArray::liquid_phase_pressure, MaterialPropertyLib::permeability, MaterialPropertyLib::reference_temperature, and MaterialPropertyLib::VariableArray::temperature.
|
inlineoverridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 134 of file LiquidFlowLocalAssembler.h.
References _process_data.
|
private |
Definition at line 153 of file LiquidFlowLocalAssembler.h.
Referenced by LiquidFlowLocalAssembler(), assemble(), assembleMatrixAndVector(), computeProjectedDarcyVelocity(), getFlux(), and getIntPtDarcyVelocity().
|
private |
Definition at line 155 of file LiquidFlowLocalAssembler.h.
Referenced by LiquidFlowLocalAssembler(), assembleMatrixAndVector(), computeProjectedDarcyVelocity(), and getIntPtDarcyVelocity().
|
private |
Definition at line 156 of file LiquidFlowLocalAssembler.h.
Referenced by LiquidFlowLocalAssembler(), assembleMatrixAndVector(), and computeProjectedDarcyVelocity().
|
private |
Definition at line 225 of file LiquidFlowLocalAssembler.h.
Referenced by LiquidFlowLocalAssembler(), assemble(), assembleMatrixAndVector(), computeProjectedDarcyVelocity(), getFlux(), getIntPtDarcyVelocity(), and getShapeMatrix().