OGS
|
Definition at line 34 of file SmallDeformationLocalAssemblerMatrix.h.
#include <SmallDeformationLocalAssemblerMatrix.h>
Public Types | |
using | ShapeMatricesType = ShapeMatrixPolicyType< ShapeFunction, DisplacementDim > |
using | NodalMatrixType = typename ShapeMatricesType::NodalMatrixType |
using | NodalVectorType = typename ShapeMatricesType::NodalVectorType |
using | ShapeMatrices = typename ShapeMatricesType::ShapeMatrices |
using | BMatricesType = BMatrixPolicyType< ShapeFunction, DisplacementDim > |
using | StiffnessMatrixType = typename BMatricesType::StiffnessMatrixType |
using | NodalForceVectorType = typename BMatricesType::NodalForceVectorType |
using | NodalDisplacementVectorType = typename BMatricesType::NodalForceVectorType |
Public Member Functions | |
SmallDeformationLocalAssemblerMatrix (SmallDeformationLocalAssemblerMatrix const &)=delete | |
SmallDeformationLocalAssemblerMatrix (SmallDeformationLocalAssemblerMatrix &&)=delete | |
SmallDeformationLocalAssemblerMatrix (MeshLib::Element const &e, std::size_t const local_matrix_size, bool is_axially_symmetric, unsigned const integration_order, SmallDeformationProcessData< DisplacementDim > &process_data) | |
void | assemble (double const, double const, std::vector< double > const &, std::vector< double > const &, std::vector< double > &, std::vector< double > &, std::vector< double > &) override |
void | assembleWithJacobian (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &, const double, const double, std::vector< double > &, std::vector< double > &, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data) override |
void | preTimestepConcrete (std::vector< double > const &, double const, double const) override |
void | computeSecondaryVariableConcreteWithVector (double const t, Eigen::VectorXd const &local_x) 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 & | getIntPtSigmaXX (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtSigmaYY (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtSigmaZZ (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtSigmaXY (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtSigmaXZ (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtSigmaYZ (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtEpsilonXX (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtEpsilonYY (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtEpsilonZZ (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtEpsilonXY (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtEpsilonXZ (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
std::vector< double > const & | getIntPtEpsilonYZ (const double, std::vector< GlobalVector * > const &, std::vector< NumLib::LocalToGlobalIndexMap const * > const &, std::vector< double > &cache) const override |
Public Member Functions inherited from ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface | |
SmallDeformationLocalAssemblerInterface () | |
SmallDeformationLocalAssemblerInterface (std::size_t n_local_size, std::vector< unsigned > dofIndex_to_localIndex) | |
virtual void | assembleWithJacobian (double const, double const, Eigen::VectorXd const &, Eigen::VectorXd &, Eigen::MatrixXd &) |
void | computeSecondaryVariableConcrete (double const t, double const, Eigen::VectorXd const &local_x, Eigen::VectorXd 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 | 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 Member Functions | |
std::vector< double > const & | getIntPtSigma (std::vector< double > &cache, std::size_t const component) const |
std::vector< double > const & | getIntPtEpsilon (std::vector< double > &cache, std::size_t const component) const |
Private Attributes | |
SmallDeformationProcessData< DisplacementDim > & | _process_data |
std::vector< IntegrationPointDataMatrix< ShapeMatricesType, BMatricesType, DisplacementDim >, Eigen::aligned_allocator< IntegrationPointDataMatrix< ShapeMatricesType, BMatricesType, DisplacementDim > > > | _ip_data |
IntegrationMethod | _integration_method |
MeshLib::Element const & | _element |
bool const | _is_axially_symmetric |
SecondaryData< typename ShapeMatrices::ShapeType > | _secondary_data |
Additional Inherited Members |
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::BMatricesType = BMatrixPolicyType<ShapeFunction, DisplacementDim> |
Definition at line 43 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::NodalDisplacementVectorType = typename BMatricesType::NodalForceVectorType |
Definition at line 47 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::NodalForceVectorType = typename BMatricesType::NodalForceVectorType |
Definition at line 46 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::NodalMatrixType = typename ShapeMatricesType::NodalMatrixType |
Definition at line 40 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::NodalVectorType = typename ShapeMatricesType::NodalVectorType |
Definition at line 41 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::ShapeMatrices = typename ShapeMatricesType::ShapeMatrices |
Definition at line 42 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::ShapeMatricesType = ShapeMatrixPolicyType<ShapeFunction, DisplacementDim> |
Definition at line 38 of file SmallDeformationLocalAssemblerMatrix.h.
using ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::StiffnessMatrixType = typename BMatricesType::StiffnessMatrixType |
Definition at line 45 of file SmallDeformationLocalAssemblerMatrix.h.
|
delete |
|
delete |
ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::SmallDeformationLocalAssemblerMatrix | ( | MeshLib::Element const & | e, |
std::size_t const | local_matrix_size, | ||
bool | is_axially_symmetric, | ||
unsigned const | integration_order, | ||
SmallDeformationProcessData< DisplacementDim > & | process_data | ||
) |
Definition at line 39 of file SmallDeformationLocalAssemblerMatrix-impl.h.
References ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_integration_method, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_ip_data, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_process_data, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_secondary_data, MeshLib::Element::getID(), NumLib::initShapeMatrices(), MathLib::KelvinVector::kelvin_vector_dimensions(), ProcessLib::HeatTransportBHE::SecondaryData< ShapeMatrixType >::N, and MaterialLib::Solids::selectSolidConstitutiveRelation().
|
inlineoverridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 62 of file SmallDeformationLocalAssemblerMatrix.h.
References OGS_FATAL.
|
overridevirtual |
Reimplemented from ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 95 of file SmallDeformationLocalAssemblerMatrix-impl.h.
References ProcessLib::LinearBMatrix::computeBMatrix(), MaterialPropertyLib::mechanical_strain, OGS_FATAL, ParameterLib::SpatialPosition::setElementID(), ParameterLib::SpatialPosition::setIntegrationPoint(), MaterialPropertyLib::stress, and MaterialPropertyLib::temperature.
|
overridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 185 of file SmallDeformationLocalAssemblerMatrix-impl.h.
|
inlineprivate |
Definition at line 242 of file SmallDeformationLocalAssemblerMatrix.h.
Referenced by ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilonXX(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilonXY(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilonXZ(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilonYY(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilonYZ(), and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilonZZ().
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 164 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 191 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 200 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 173 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 210 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 182 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineprivate |
Definition at line 221 of file SmallDeformationLocalAssemblerMatrix.h.
Referenced by ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigmaXX(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigmaXY(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigmaXZ(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigmaYY(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigmaYZ(), and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigmaZZ().
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 108 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 135 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 144 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 117 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 154 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Implements ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface.
Definition at line 126 of file SmallDeformationLocalAssemblerMatrix.h.
|
inlineoverridevirtual |
Provides the shape matrix at the given integration point.
Implements NumLib::ExtrapolatableElement.
Definition at line 99 of file SmallDeformationLocalAssemblerMatrix.h.
References ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_secondary_data, and ProcessLib::HeatTransportBHE::SecondaryData< ShapeMatrixType >::N.
|
inlineoverridevirtual |
Reimplemented from ProcessLib::LocalAssemblerInterface.
Definition at line 83 of file SmallDeformationLocalAssemblerMatrix.h.
References ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_integration_method, and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::_ip_data.
|
private |
Definition at line 272 of file SmallDeformationLocalAssemblerMatrix.h.
|
private |
Definition at line 271 of file SmallDeformationLocalAssemblerMatrix.h.
Referenced by ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::SmallDeformationLocalAssemblerMatrix(), and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::preTimestepConcrete().
|
private |
Definition at line 269 of file SmallDeformationLocalAssemblerMatrix.h.
Referenced by ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::SmallDeformationLocalAssemblerMatrix(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtEpsilon(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getIntPtSigma(), and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::preTimestepConcrete().
|
private |
Definition at line 273 of file SmallDeformationLocalAssemblerMatrix.h.
|
private |
|
private |
Definition at line 274 of file SmallDeformationLocalAssemblerMatrix.h.
Referenced by ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::SmallDeformationLocalAssemblerMatrix(), and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >::getShapeMatrix().