OGS
|
Namespaces | |
namespace | anonymous_namespace{DOFTableUtil.cpp} |
namespace | detail |
namespace | IntegrationMethodRegistry |
Typedefs | |
using | AllElementTraitsLagrange |
using | RelativeEpsilon = BaseLib::StrongType<double, struct RelativeEpsilonTag> |
using | MinimumPerturbation |
using | NumericalStabilization |
using | CouplingNodeVariant = std::variant<CouplingNode, RootCouplingNode> |
using | RepeatDtPair = std::tuple<std::size_t, double> |
Enumerations | |
enum class | ComponentOrder { BY_COMPONENT , BY_LOCATION } |
Ordering of components in global matrix/vector. More... | |
enum class | ShapeMatrixType { N , DNDR , N_J , DNDR_J , DNDX , ALL } |
Shape matrix type to be calculated. More... | |
enum class | IterationResult : char { IterationResult::SUCCESS , IterationResult::FAILURE , IterationResult::REPEAT_ITERATION } |
Status flags telling the NonlinearSolver if an iteration succeeded. More... | |
enum class | NonlinearSolverTag : bool { NonlinearSolverTag::Picard , NonlinearSolverTag::Newton } |
Tag used to specify which nonlinear solver will be used. More... | |
enum class | ODESystemTag : char { ODESystemTag::FirstOrderImplicitQuasilinear , ODESystemTag::NeumannBC } |
Tag used to specify the type of ODE. More... | |
Functions | |
NewtonRaphsonSolverParameters | createNewtonRaphsonSolverParameters (BaseLib::ConfigTree const &config) |
GlobalSparsityPattern | computeSparsityPattern (LocalToGlobalIndexMap const &dof_table, MeshLib::Mesh const &mesh) |
Computes a sparsity pattern for the given inputs. | |
double | getNonGhostNodalValue (GlobalVector const &x, MeshLib::Mesh const &mesh, NumLib::LocalToGlobalIndexMap const &dof_table, std::size_t const node_id, std::size_t const global_component_id) |
double | getNodalValue (GlobalVector const &x, MeshLib::Mesh const &mesh, NumLib::LocalToGlobalIndexMap const &dof_table, std::size_t const node_id, std::size_t const global_component_id) |
std::vector< GlobalIndexType > | getIndices (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table) |
NumLib::LocalToGlobalIndexMap::RowColumnIndices | getRowColumnIndices (std::size_t const id, NumLib::LocalToGlobalIndexMap const &dof_table, std::vector< GlobalIndexType > &indices) |
double | norm (GlobalVector const &x, unsigned const global_component, MathLib::VecNormType norm_type, LocalToGlobalIndexMap const &dof_table, MeshLib::Mesh const &mesh) |
Eigen::VectorXd | getLocalX (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x) |
template<typename Functor > | |
void | transformVariableFromGlobalVector (GlobalVector const &input_vector, int const variable_id, NumLib::LocalToGlobalIndexMap const &local_to_global_index_map, MeshLib::PropertyVector< double > &output_vector, Functor map_function) |
template<typename Functor > | |
void | transformVariableFromGlobalVector (GlobalVector const &input_vector_on_bulk_mesh, int const variable_id, NumLib::LocalToGlobalIndexMap const &local_to_global_index_map, MeshLib::PropertyVector< double > &output_vector_on_submesh, std::vector< std::size_t > const &map_submesh_node_id_to_bulk_mesh_node_id, Functor map_function) |
void | cleanupGlobalMatrixProviders () |
template<typename... Ns_t, typename ElementDOFVector > | |
auto | localDOF (ElementDOFVector const &x) |
std::ostream & | operator<< (std::ostream &os, LocalToGlobalIndexMap const &map) |
GlobalIndexType | getGlobalIndexWithTaylorHoodElement (MeshLib::NodePartitionedMesh const &partitioned_mesh, std::size_t const global_node_id, int const number_of_components_at_base_node, int const number_of_components_at_high_order_node, int const component_id_at_base_node, int const component_id_at_high_order_node, bool const is_base_node) |
template<typename LocalAssemblerCollection , typename IntegrationPointValuesMethod > | |
ExtrapolatableLocalAssemblerCollection< LocalAssemblerCollection > | makeExtrapolatable (LocalAssemblerCollection const &local_assemblers, IntegrationPointValuesMethod integration_point_values_method) |
template<class T_N , class T_DNDR , class T_J , class T_DNDX > | |
std::ostream & | operator<< (std::ostream &os, const ShapeMatrices< T_N, T_DNDR, T_J, T_DNDX > &shape) |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Point, ShapePoint1) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Line, ShapeLine2) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Line3, ShapeLine3) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Quad, ShapeQuad4) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Quad8, ShapeQuad8) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Quad9, ShapeQuad9) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Hex, ShapeHex8) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Hex20, ShapeHex20) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Tri, ShapeTri3) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Tri6, ShapeTri6) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Tet, ShapeTet4) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Tet10, ShapeTet10) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Prism, ShapePrism6) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Prism15, ShapePrism15) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Pyramid, ShapePyra5) | |
OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE (Pyramid13, ShapePyra13) | |
template<typename ShapeFunction , typename ShapeMatricesType > | |
NumLib::TemplateIsoparametric< ShapeFunction, ShapeMatricesType > | createIsoparametricFiniteElement (MeshLib::Element const &e) |
template<typename ShapeFunction , typename ShapeMatricesType , int GlobalDim, ShapeMatrixType SelectedShapeMatrixType = ShapeMatrixType::ALL, typename PointContainer > | |
std::vector< typename ShapeMatricesType::ShapeMatrices, Eigen::aligned_allocator< typename ShapeMatricesType::ShapeMatrices > > | computeShapeMatrices (MeshLib::Element const &e, bool const is_axially_symmetric, PointContainer const &points) |
template<typename ShapeFunction , typename ShapeMatricesType , int GlobalDim, ShapeMatrixType SelectedShapeMatrixType = ShapeMatrixType::ALL, typename IntegrationMethod > | |
std::vector< typename ShapeMatricesType::ShapeMatrices, Eigen::aligned_allocator< typename ShapeMatricesType::ShapeMatrices > > | initShapeMatrices (MeshLib::Element const &e, bool const is_axially_symmetric, IntegrationMethod const &integration_method) |
template<typename ShapeFunction , typename ShapeMatricesType > | |
double | interpolateXCoordinate (MeshLib::Element const &e, typename ShapeMatricesType::ShapeMatrices::ShapeType const &N) |
template<typename ShapeFunction , typename ShapeMatricesType > | |
std::array< double, 3 > | interpolateCoordinates (MeshLib::Element const &e, typename ShapeMatricesType::ShapeMatrices::ShapeType const &N) |
DefaultIntegrationMethodProvider | getIntegrationMethodProvider (NumLib::IntegrationOrder const integration_order) |
template<typename NodalValues , typename ShapeMatrix , typename... ScalarTypes> | |
void | shapeFunctionInterpolate (const NodalValues &nodal_values, const ShapeMatrix &shape_matrix_N, double &interpolated_value, ScalarTypes &... interpolated_values) |
template<typename LowerOrderShapeFunction , typename HigherOrderMeshElementType , int GlobalDim, typename EigenMatrixType > | |
void | interpolateToHigherOrderNodes (MeshLib::Element const &element, bool const is_axially_symmetric, Eigen::MatrixBase< EigenMatrixType > const &node_values, MeshLib::PropertyVector< double > &interpolated_values_global_vector) |
template<typename MeshElementType , typename IPData , typename FluxVectorType , typename Derived > | |
void | assembleAdvectionMatrix (NumericalStabilization const &stabilizer, IPData const &ip_data_vector, NumLib::ShapeMatrixCache const &shape_matrix_cache, std::vector< FluxVectorType > const &ip_flux_vector, double const average_velocity, Eigen::MatrixBase< Derived > &laplacian_matrix) |
template<typename IPData , typename FluxVectorType , typename Derived > | |
void | assembleAdvectionMatrix (NumericalStabilization const &stabilizer, IPData const &ip_data_vector, std::vector< FluxVectorType > const &ip_flux_vector, double const average_velocity, Eigen::MatrixBase< Derived > &laplacian_matrix) |
NumericalStabilization | createNumericalStabilization (MeshLib::Mesh const &mesh, BaseLib::ConfigTree const &config) |
void | computeFluxCorrectedTransport (NumericalStabilization const &stabilizer, const double t, const double dt, std::vector< GlobalVector * > const &x, std::vector< GlobalVector * > const &x_prev, int const process_id, const MathLib::MatrixSpecifications &matrix_specification, GlobalMatrix &M, GlobalMatrix &K, GlobalVector &b) |
Eigen::MatrixXd | computeHydrodynamicDispersion (NumericalStabilization const &stabilizer, std::size_t const element_id, Eigen::MatrixXd const &pore_diffusion_coefficient, Eigen::VectorXd const &velocity, double const porosity, double const solute_dispersivity_transverse, double const solute_dispersivity_longitudinal) |
std::unique_ptr< ConvergenceCriterion > | createConvergenceCriterion (BaseLib::ConfigTree const &config) |
Creates a convergence criterion from the given configuration. | |
bool | checkRelativeTolerance (const double reltol, const double numerator, const double denominator) |
std::unique_ptr< ConvergenceCriterionDeltaX > | createConvergenceCriterionDeltaX (const BaseLib::ConfigTree &config) |
std::unique_ptr< ConvergenceCriterionPerComponentDeltaX > | createConvergenceCriterionPerComponentDeltaX (const BaseLib::ConfigTree &config) |
std::unique_ptr< ConvergenceCriterionPerComponentResidual > | createConvergenceCriterionPerComponentResidual (const BaseLib::ConfigTree &config) |
std::unique_ptr< ConvergenceCriterionResidual > | createConvergenceCriterionResidual (const BaseLib::ConfigTree &config) |
template<ODESystemTag ODETag> | |
std::unique_ptr< MatrixTranslator< ODETag > > | createMatrixTranslator (TimeDiscretization const &timeDisc) |
std::pair< std::unique_ptr< NonlinearSolverBase >, NonlinearSolverTag > | createNonlinearSolver (GlobalLinearSolver &linear_solver, BaseLib::ConfigTree const &config) |
std::unique_ptr< TimeDiscretization > | createTimeDiscretization (BaseLib::ConfigTree const &config) |
template<typename ProcessData > | |
void | checkLocalCouplingParameters (std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< LocalCouplingParameters > const &all_local_coupling_parameters) |
template<typename ProcessData > | |
std::vector< CouplingNodeVariant > | createRegularCouplingNodes (std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< LocalCouplingParameters > const &all_local_coupling_parameters, int const global_max_coupling_iterations, std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > &global_coupling_conv_criteria) |
Create coupling nodes that do not have local-coupling nodes. | |
template<typename ProcessData > | |
std::vector< CouplingNodeVariant > | createRootCouplingNodes (std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< LocalCouplingParameters > const &all_local_coupling_parameters, int const global_max_coupling_iterations, std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > &global_coupling_conv_criteria) |
Create coupling nodes that have local-coupling nodes. | |
template<typename ProcessData > | |
std::vector< CouplingNodeVariant > | createCouplingNodes (std::vector< std::unique_ptr< ProcessData > > const &per_process_data, std::vector< LocalCouplingParameters > const &all_local_coupling_parameters, int const global_max_coupling_iterations, std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > &global_coupling_conv_criteria) |
template<typename ProcessData > | |
std::unique_ptr< StaggeredCoupling > | createStaggeredCoupling (BaseLib::ConfigTree const &config, std::vector< std::unique_ptr< ProcessData > > const &per_process_data) |
Create a StaggeredCoupling instance from the given configuration. | |
std::vector< LocalCouplingParameters > | parseLocalCoupling (BaseLib::ConfigTree const &config, const std::size_t max_process_number) |
std::tuple< std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > >, std::vector< LocalCouplingParameters >, int > | parseCoupling (BaseLib::ConfigTree const &config) |
EvolutionaryPIDcontrollerParameters | parseEvolutionaryPIDcontroller (BaseLib::ConfigTree const &config) |
std::unique_ptr< TimeStepAlgorithm > | createEvolutionaryPIDcontroller (EvolutionaryPIDcontrollerParameters const &config, std::vector< double > const &fixed_times_for_output) |
FixedTimeSteppingParameters | parseFixedTimeStepping (BaseLib::ConfigTree const &config) |
std::unique_ptr< TimeStepAlgorithm > | createFixedTimeStepping (FixedTimeSteppingParameters const ¶meters, std::vector< double > const &fixed_times_for_output) |
IterationNumberBasedTimeSteppingParameters | parseIterationNumberBasedTimeStepping (BaseLib::ConfigTree const &config) |
std::unique_ptr< TimeStepAlgorithm > | createIterationNumberBasedTimeStepping (IterationNumberBasedTimeSteppingParameters &¶meters, std::vector< double > const &fixed_times_for_output) |
std::size_t | findDeltatInterval (Time const &t_initial, std::vector< double > const &delta_ts, Time const &fixed_output_time) |
void | incorporateFixedTimesForOutput (NumLib::Time const t_initial, NumLib::Time const t_end, std::vector< double > &delta_ts, std::vector< double > const &fixed_times_for_output) |
double | possiblyClampDtToNextFixedTime (Time const &t, double const dt, std::vector< double > const &fixed_output_times) |
bool | canReduceTimestepSize (TimeStep const ×tep_previous, TimeStep const ×tep_current, double const min_dt) |
std::unique_ptr< TimeStepAlgorithm > | createTimeStepper (BaseLib::ConfigTree const &config, std::vector< double > const &fixed_times_for_output) |
void | updateTimeSteps (double const dt, TimeStep &previous_timestep, TimeStep ¤t_timestep) |
Definition at line 100 of file ElementTraitsLagrange.h.
using NumLib::CouplingNodeVariant = std::variant<CouplingNode, RootCouplingNode> |
Definition at line 22 of file CreateStaggeredCoupling-impl.h.
Definition at line 22 of file NumericalDifferentiation.h.
typedef std::variant< NoStabilization, IsotropicDiffusionStabilization, FullUpwind, FluxCorrectedTransport > NumLib::NumericalStabilization |
Definition at line 31 of file CreateNumericalStabilization.h.
using NumLib::RelativeEpsilon = BaseLib::StrongType<double, struct RelativeEpsilonTag> |
Definition at line 21 of file NumericalDifferentiation.h.
using NumLib::RepeatDtPair = std::tuple<std::size_t, double> |
Definition at line 22 of file FixedTimeStepping.h.
|
strong |
Ordering of components in global matrix/vector.
Enumerator | |
---|---|
BY_COMPONENT | Ordering data by component type. |
BY_LOCATION | Ordering data by spatial location. |
Definition at line 22 of file MeshComponentMap.h.
|
strong |
Shape matrix type to be calculated.
Enumerator | |
---|---|
N | calculates N |
DNDR | calculates dNdr |
N_J | calculates N, dNdr, J, and detJ |
DNDR_J | calculates dNdr, J, and detJ |
DNDX | calculates dNdr, J, detJ, invJ, and dNdx |
ALL | calculates all |
Definition at line 23 of file ShapeMatrices.h.
void NumLib::assembleAdvectionMatrix | ( | NumericalStabilization const & | stabilizer, |
IPData const & | ip_data_vector, | ||
NumLib::ShapeMatrixCache const & | shape_matrix_cache, | ||
std::vector< FluxVectorType > const & | ip_flux_vector, | ||
double const | average_velocity, | ||
Eigen::MatrixBase< Derived > & | laplacian_matrix ) |
Definition at line 109 of file AdvectionMatrixAssembler.h.
References NumLib::detail::applyFullUpwind(), and NumLib::detail::assembleAdvectionMatrix().
void NumLib::assembleAdvectionMatrix | ( | NumericalStabilization const & | stabilizer, |
IPData const & | ip_data_vector, | ||
std::vector< FluxVectorType > const & | ip_flux_vector, | ||
double const | average_velocity, | ||
Eigen::MatrixBase< Derived > & | laplacian_matrix ) |
Definition at line 138 of file AdvectionMatrixAssembler.h.
References NumLib::detail::applyFullUpwind(), and NumLib::detail::assembleAdvectionMatrix().
bool NumLib::canReduceTimestepSize | ( | TimeStep const & | timestep_previous, |
TimeStep const & | timestep_current, | ||
double const | min_dt ) |
Definition at line 40 of file TimeStepAlgorithm.cpp.
References NumLib::TimeStep::dt().
Referenced by NumLib::EvolutionaryPIDcontroller::canReduceTimestepSize(), and NumLib::IterationNumberBasedTimeStepping::canReduceTimestepSize().
void NumLib::checkLocalCouplingParameters | ( | std::vector< std::unique_ptr< ProcessData > > const & | per_process_data, |
std::vector< LocalCouplingParameters > const & | all_local_coupling_parameters ) |
Definition at line 25 of file CreateStaggeredCoupling-impl.h.
References OGS_FATAL.
Referenced by createCouplingNodes().
bool NumLib::checkRelativeTolerance | ( | double const | reltol, |
double const | numerator, | ||
double const | denominator ) |
Returns if |numerator/denominator| < |reltol|. This method copes with the case that denominator = 0 by always adding epsilon to the denominator.
Definition at line 48 of file ConvergenceCriterion.cpp.
Referenced by NumLib::ConvergenceCriterionDeltaX::checkDeltaX(), NumLib::ConvergenceCriterionPerComponentDeltaX::checkDeltaX(), NumLib::ConvergenceCriterionPerComponentResidual::checkResidual(), and NumLib::ConvergenceCriterionResidual::checkResidual().
void NumLib::cleanupGlobalMatrixProviders | ( | ) |
Definition at line 29 of file GlobalMatrixProviders.cpp.
References globalSetupGlobalMatrixVectorProvider.
Referenced by ApplicationsLib::LinearSolverLibrarySetup::~LinearSolverLibrarySetup().
|
inline |
Definition at line 211 of file FluxCorrectedTransport.h.
References NumLib::detail::calculateFluxCorrectedTransport().
Referenced by ProcessLib::ComponentTransport::ComponentTransportProcess::assembleConcreteProcess().
|
inline |
Definition at line 71 of file HydrodynamicDispersion.h.
References NumLib::detail::getHydrodynamicDispersion(), and NumLib::detail::getHydrodynamicDispersionWithArtificialDiffusion().
Referenced by ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::assembleBlockMatrices(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::assembleComponentTransportEquation(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::assembleWithJacobianComponentTransportEquation(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtMolarFlux(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getThermalConductivityDispersivity(), ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::getThermalConductivityDispersivity(), and ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveRelations().
std::vector< typename ShapeMatricesType::ShapeMatrices, Eigen::aligned_allocator< typename ShapeMatricesType::ShapeMatrices > > NumLib::computeShapeMatrices | ( | MeshLib::Element const & | e, |
bool const | is_axially_symmetric, | ||
PointContainer const & | points ) |
Definition at line 25 of file InitShapeMatrices.h.
References createIsoparametricFiniteElement().
Referenced by ProcessLib::PythonBoundaryConditionLocalAssembler< ShapeFunction, LowerOrderShapeFunction, GlobalDim >::computeLowerOrderShapeMatrix(), NumLib::TemplateIsoparametric< ShapeFunctionType_, ShapeMatrixTypes_ >::computeShapeFunctions(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getFlux(), ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::getFlux(), ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, GlobalDim >::getFlux(), ProcessLib::SteadyStateDiffusion::LocalAssemblerData< ShapeFunction, GlobalDim >::getFlux(), initShapeMatrices(), and interpolateToHigherOrderNodes().
GlobalSparsityPattern NumLib::computeSparsityPattern | ( | LocalToGlobalIndexMap const & | dof_table, |
MeshLib::Mesh const & | mesh ) |
Computes a sparsity pattern for the given inputs.
dof_table | maps mesh nodes to global indices |
mesh | mesh for which the two parameters above are defined |
Definition at line 74 of file ComputeSparsityPattern.cpp.
References computeSparsityPatternPETSc().
Referenced by ProcessLib::Process::computeSparsityPattern(), ProcessLib::HydroMechanics::HydroMechanicsProcess< DisplacementDim >::constructDofTable(), ProcessLib::PhaseField::PhaseFieldProcess< DisplacementDim >::constructDofTable(), ProcessLib::RichardsMechanics::RichardsMechanicsProcess< DisplacementDim >::constructDofTable(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsProcess< DisplacementDim >::constructDofTable(), ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldProcess< DisplacementDim >::constructDofTable(), and ProcessLib::ThermoMechanics::ThermoMechanicsProcess< DisplacementDim >::constructDofTable().
std::unique_ptr< ConvergenceCriterion > NumLib::createConvergenceCriterion | ( | const BaseLib::ConfigTree & | config | ) |
Creates a convergence criterion from the given configuration.
Definition at line 22 of file ConvergenceCriterion.cpp.
References createConvergenceCriterionDeltaX(), createConvergenceCriterionPerComponentDeltaX(), createConvergenceCriterionPerComponentResidual(), createConvergenceCriterionResidual(), OGS_FATAL, and BaseLib::ConfigTree::peekConfigParameter().
Referenced by ProcessLib::createPerProcessData().
std::unique_ptr< ConvergenceCriterionDeltaX > NumLib::createConvergenceCriterionDeltaX | ( | const BaseLib::ConfigTree & | config | ) |
Definition at line 61 of file ConvergenceCriterionDeltaX.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), MathLib::convertStringToVecNormType(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), MathLib::INVALID, and OGS_FATAL.
Referenced by createConvergenceCriterion().
std::unique_ptr< ConvergenceCriterionPerComponentDeltaX > NumLib::createConvergenceCriterionPerComponentDeltaX | ( | const BaseLib::ConfigTree & | config | ) |
Definition at line 91 of file ConvergenceCriterionPerComponentDeltaX.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), MathLib::convertStringToVecNormType(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), MathLib::INVALID, and OGS_FATAL.
Referenced by createConvergenceCriterion().
std::unique_ptr< ConvergenceCriterionPerComponentResidual > NumLib::createConvergenceCriterionPerComponentResidual | ( | const BaseLib::ConfigTree & | config | ) |
Definition at line 128 of file ConvergenceCriterionPerComponentResidual.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), MathLib::convertStringToVecNormType(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), MathLib::INVALID, and OGS_FATAL.
Referenced by createConvergenceCriterion().
std::unique_ptr< ConvergenceCriterionResidual > NumLib::createConvergenceCriterionResidual | ( | const BaseLib::ConfigTree & | config | ) |
Definition at line 95 of file ConvergenceCriterionResidual.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), MathLib::convertStringToVecNormType(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), MathLib::INVALID, and OGS_FATAL.
Referenced by createConvergenceCriterion().
std::vector< CouplingNodeVariant > NumLib::createCouplingNodes | ( | std::vector< std::unique_ptr< ProcessData > > const & | per_process_data, |
std::vector< LocalCouplingParameters > const & | all_local_coupling_parameters, | ||
int const | global_max_coupling_iterations, | ||
std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > & | global_coupling_conv_criteria ) |
Definition at line 145 of file CreateStaggeredCoupling-impl.h.
References checkLocalCouplingParameters(), createRegularCouplingNodes(), createRootCouplingNodes(), and OGS_FATAL.
Referenced by createStaggeredCoupling().
std::unique_ptr< TimeStepAlgorithm > NumLib::createEvolutionaryPIDcontroller | ( | EvolutionaryPIDcontrollerParameters const & | config, |
std::vector< double > const & | fixed_times_for_output ) |
Create an EvolutionaryPIDcontroller time stepper from the given configuration
Definition at line 52 of file CreateEvolutionaryPIDcontroller.cpp.
References NumLib::EvolutionaryPIDcontrollerParameters::h0, NumLib::EvolutionaryPIDcontrollerParameters::h_max, NumLib::EvolutionaryPIDcontrollerParameters::h_min, OGS_FATAL, NumLib::EvolutionaryPIDcontrollerParameters::rel_h_max, NumLib::EvolutionaryPIDcontrollerParameters::rel_h_min, NumLib::EvolutionaryPIDcontrollerParameters::t0, NumLib::EvolutionaryPIDcontrollerParameters::t_end, and NumLib::EvolutionaryPIDcontrollerParameters::tol.
Referenced by createTimeStepper().
std::unique_ptr< TimeStepAlgorithm > NumLib::createFixedTimeStepping | ( | FixedTimeSteppingParameters const & | parameters, |
std::vector< double > const & | fixed_times_for_output ) |
Definition at line 86 of file CreateFixedTimeStepping.cpp.
References NumLib::FixedTimeStepping::areRepeatDtPairsValid(), OGS_FATAL, NumLib::FixedTimeSteppingParameters::repeat_dt_pairs, NumLib::FixedTimeSteppingParameters::t_end, and NumLib::FixedTimeSteppingParameters::t_initial.
Referenced by createTimeStepper().
NumLib::TemplateIsoparametric< ShapeFunction, ShapeMatricesType > NumLib::createIsoparametricFiniteElement | ( | MeshLib::Element const & | e | ) |
Creates a TemplateIsoparametric element for the given shape functions and the underlying mesh element.
Definition at line 161 of file TemplateIsoparametric.h.
Referenced by ProcessLib::BoundaryConditionAndSourceTerm::Python::BcAndStLocalAssemblerImpl< BcOrStData, ShapeFunction, LowerOrderShapeFunction, GlobalDim >::assemble(), computeShapeMatrices(), interpolateCoordinates(), and interpolateXCoordinate().
std::unique_ptr< TimeStepAlgorithm > NumLib::createIterationNumberBasedTimeStepping | ( | IterationNumberBasedTimeSteppingParameters && | parameters, |
std::vector< double > const & | fixed_times_for_output ) |
Create a IterationNumberBasedTimeStepping time stepper from the given configuration.
Definition at line 66 of file CreateIterationNumberBasedTimeStepping.cpp.
References OGS_FATAL.
Referenced by createTimeStepper().
NewtonRaphsonSolverParameters NumLib::createNewtonRaphsonSolverParameters | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 17 of file CreateNewtonRaphsonSolverParameters.cpp.
References DBUG(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), and WARN().
Referenced by MaterialLib::Fracture::createCoulomb(), MaterialLib::Solids::Creep::createCreepBGRa(), MaterialLib::Solids::Ehlers::createEhlers(), MaterialLib::Solids::Lubby2::createLubby2(), and ProcessLib::RichardsMechanics::createRichardsMechanicsProcess().
NumericalStabilization NumLib::createNumericalStabilization | ( | MeshLib::Mesh const & | mesh, |
BaseLib::ConfigTree const & | config ) |
Definition at line 20 of file CreateNumericalStabilization.cpp.
References BaseLib::ConfigTree::getConfigSubtreeOptional(), MeshLib::Mesh::getElements(), MeshLib::getMaxiumElementEdgeLengths(), INFO(), and OGS_FATAL.
Referenced by ProcessLib::ComponentTransport::createComponentTransportProcess(), ProcessLib::HT::createHTProcess(), and ProcessLib::ThermoHydroMechanics::createThermoHydroMechanicsProcess().
std::vector< CouplingNodeVariant > NumLib::createRegularCouplingNodes | ( | std::vector< std::unique_ptr< ProcessData > > const & | per_process_data, |
std::vector< LocalCouplingParameters > const & | all_local_coupling_parameters, | ||
int const | global_max_coupling_iterations, | ||
std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > & | global_coupling_conv_criteria ) |
Create coupling nodes that do not have local-coupling nodes.
Definition at line 56 of file CreateStaggeredCoupling-impl.h.
References NumLib::CouplingNode::process_id.
Referenced by createCouplingNodes().
std::vector< CouplingNodeVariant > NumLib::createRootCouplingNodes | ( | std::vector< std::unique_ptr< ProcessData > > const & | per_process_data, |
std::vector< LocalCouplingParameters > const & | all_local_coupling_parameters, | ||
int const | global_max_coupling_iterations, | ||
std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > > & | global_coupling_conv_criteria ) |
Create coupling nodes that have local-coupling nodes.
Definition at line 101 of file CreateStaggeredCoupling-impl.h.
References NumLib::CouplingNode::process_name, and NumLib::RootCouplingNode::sub_coupling_nodes.
Referenced by createCouplingNodes().
std::unique_ptr< StaggeredCoupling > NumLib::createStaggeredCoupling | ( | BaseLib::ConfigTree const & | config, |
std::vector< std::unique_ptr< ProcessData > > const & | per_process_data ) |
Create a StaggeredCoupling instance from the given configuration.
Definition at line 207 of file CreateStaggeredCoupling-impl.h.
References createCouplingNodes(), OGS_FATAL, and parseCoupling().
Referenced by ProcessLib::createTimeLoop().
std::unique_ptr< TimeDiscretization > NumLib::createTimeDiscretization | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 19 of file TimeDiscretizationBuilder.cpp.
References BaseLib::ConfigTree::getConfigParameter(), and OGS_FATAL.
Referenced by ProcessLib::createPerProcessData().
std::unique_ptr< TimeStepAlgorithm > NumLib::createTimeStepper | ( | BaseLib::ConfigTree const & | config, |
std::vector< double > const & | fixed_times_for_output ) |
Definition at line 26 of file CreateTimeStepper.cpp.
References createEvolutionaryPIDcontroller(), createFixedTimeStepping(), createIterationNumberBasedTimeStepping(), BaseLib::ConfigTree::ignoreConfigParameter(), OGS_FATAL, parseEvolutionaryPIDcontroller(), parseFixedTimeStepping(), parseIterationNumberBasedTimeStepping(), and BaseLib::ConfigTree::peekConfigParameter().
Referenced by ProcessLib::createPerProcessData().
std::size_t NumLib::findDeltatInterval | ( | Time const & | t_initial, |
std::vector< double > const & | delta_ts, | ||
Time const & | fixed_output_time ) |
Definition at line 54 of file FixedTimeStepping.cpp.
Referenced by incorporateFixedTimesForOutput().
GlobalIndexType NumLib::getGlobalIndexWithTaylorHoodElement | ( | MeshLib::NodePartitionedMesh const & | partitioned_mesh, |
std::size_t const | global_node_id, | ||
int const | number_of_components_at_base_node, | ||
int const | number_of_components_at_high_order_node, | ||
int const | component_id_at_base_node, | ||
int const | component_id_at_high_order_node, | ||
bool const | is_base_node ) |
Definition at line 323 of file MeshComponentMap.cpp.
References MeshLib::NodePartitionedMesh::getNumberOfRegularBaseNodesAtRank(), MeshLib::NodePartitionedMesh::getNumberOfRegularHighOrderNodesAtRank(), and MeshLib::NodePartitionedMesh::getPartitionID().
Referenced by NumLib::MeshComponentMap::createParallelMeshComponentMap().
std::vector< GlobalIndexType > NumLib::getIndices | ( | std::size_t const | mesh_item_id, |
NumLib::LocalToGlobalIndexMap const & | dof_table ) |
Returns nodal indices for the item identified by mesh_item_id
from the given dof_table
.
Definition at line 120 of file DOFTableUtil.cpp.
References NumLib::LocalToGlobalIndexMap::getNumberOfGlobalComponents(), and NumLib::LocalToGlobalIndexMap::size().
Referenced by ProcessLib::BoundaryConditionAndSourceTerm::Python::BcAndStLocalAssemblerImpl< BcOrStData, ShapeFunction, LowerOrderShapeFunction, GlobalDim >::assemble(), ProcessLib::HCNonAdvectiveFreeComponentFlowBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::NeumannBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::NormalTractionBoundaryCondition::NormalTractionBoundaryConditionLocalAssembler< ShapeFunctionDisplacement, GlobalDim >::assemble(), ProcessLib::RobinBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::VariableDependentNeumannBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::VectorMatrixAssembler::assemble(), ProcessLib::WellboreCompensateNeumannBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::ComponentTransport::ComponentTransportLocalAssemblerInterface::assembleReactionEquation(), ProcessLib::VectorMatrixAssembler::assembleWithJacobian(), anonymous_namespace{ParallelVectorMatrixAssembler.cpp}::assembleWithJacobianForStaggeredSchemeOneElement(), anonymous_namespace{ParallelVectorMatrixAssembler.cpp}::assembleWithJacobianOneElement(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, DisplacementDim >::computeCrackIntegral(), ProcessLib::LocalAssemblerInterface::computeSecondaryVariable(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::HT::MonolithicHTFEM< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::HT::StaggeredHTFEM< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::getIntPtDarcyVelocity(), ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::RichardsFlow::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::SteadyStateDiffusion::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::TES::TESLocalAssembler< ShapeFunction_, GlobalDim >::getIntPtDarcyVelocity(), ProcessLib::HeatConduction::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtHeatFlux(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtMolarFlux(), ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::getIntPtSaturation(), getLocalX(), ProcessLib::ComponentTransport::ComponentTransportLocalAssemblerInterface::initializeChemicalSystem(), ProcessLib::AnchorTerm< GlobalDim >::integrate(), ProcessLib::VolumetricSourceTermLocalAssembler< ShapeFunction, GlobalDim >::integrate(), ProcessLib::VectorMatrixAssembler::preAssemble(), ProcessLib::LocalAssemblerInterface::preTimestep(), ProcessLib::ComponentTransport::ComponentTransportLocalAssemblerInterface::setChemicalSystem(), and ProcessLib::SmallDeformation::writeMaterialForces().
|
inline |
Used in template functions to get the DefaultIntegrationMethodProvider
for the given integration_order
.
Definition at line 55 of file IntegrationMethodProvider.h.
Eigen::VectorXd NumLib::getLocalX | ( | std::size_t const | mesh_item_id, |
std::vector< NumLib::LocalToGlobalIndexMap const * > const & | dof_tables, | ||
std::vector< GlobalVector * > const & | x ) |
Definition at line 176 of file DOFTableUtil.cpp.
References getIndices(), and MathLib::toVector().
Referenced by ProcessLib::LocalAssemblerInterface::computeSecondaryVariable(), ProcessLib::LocalAssemblerInterface::postNonLinearSolver(), ProcessLib::LocalAssemblerInterface::postTimestep(), and ProcessLib::LocalAssemblerInterface::setInitialConditions().
double NumLib::getNodalValue | ( | GlobalVector const & | x, |
MeshLib::Mesh const & | mesh, | ||
NumLib::LocalToGlobalIndexMap const & | dof_table, | ||
std::size_t const | node_id, | ||
std::size_t const | global_component_id ) |
Returns the value for the given node_id
and global_component_id
from the vector x
.
Definition at line 106 of file DOFTableUtil.cpp.
References MathLib::EigenVector::get(), NumLib::LocalToGlobalIndexMap::getGlobalIndex(), MeshLib::Mesh::getID(), MeshLib::Node, and NumLib::MeshComponentMap::nop.
Referenced by ProcessLib::TES::TESProcess::computeEquilibriumLoading(), ProcessLib::TES::TESProcess::computeRelativeHumidity(), and ProcessLib::TES::TESProcess::computeVapourPartialPressure().
double NumLib::getNonGhostNodalValue | ( | GlobalVector const & | x, |
MeshLib::Mesh const & | mesh, | ||
NumLib::LocalToGlobalIndexMap const & | dof_table, | ||
std::size_t const | node_id, | ||
std::size_t const | global_component_id ) |
Returns the value for the given node_id
and global_component_id
from the vector x
in case the node is not a ghost node. Else 0.0 is returned.
Definition at line 87 of file DOFTableUtil.cpp.
References MathLib::EigenVector::get(), NumLib::LocalToGlobalIndexMap::getGlobalIndex(), MeshLib::Mesh::getID(), MeshLib::Node, and NumLib::MeshComponentMap::nop.
Referenced by NumLib::anonymous_namespace{DOFTableUtil.cpp}::norm().
LocalToGlobalIndexMap::RowColumnIndices NumLib::getRowColumnIndices | ( | std::size_t const | id, |
NumLib::LocalToGlobalIndexMap const & | dof_table, | ||
std::vector< GlobalIndexType > & | indices ) |
Returns row/column indices for the item identified by id
from the given dof_table
.
Definition at line 139 of file DOFTableUtil.cpp.
References NumLib::LocalToGlobalIndexMap::getNumberOfGlobalComponents(), and NumLib::LocalToGlobalIndexMap::size().
Referenced by ProcessLib::ComponentTransport::ComponentTransportProcess::getFlux(), ProcessLib::HT::HTProcess::getFlux(), ProcessLib::LiquidFlow::LiquidFlowProcess::getFlux(), ProcessLib::SteadyStateDiffusion::SteadyStateDiffusion::getFlux(), and ProcessLib::TES::TESProcess::postIterationConcreteProcess().
void NumLib::incorporateFixedTimesForOutput | ( | NumLib::Time const | t_initial, |
NumLib::Time const | t_end, | ||
std::vector< double > & | delta_ts, | ||
std::vector< double > const & | fixed_times_for_output ) |
Definition at line 77 of file FixedTimeStepping.cpp.
References findDeltatInterval(), and WARN().
Referenced by NumLib::FixedTimeStepping::FixedTimeStepping().
std::vector< typename ShapeMatricesType::ShapeMatrices, Eigen::aligned_allocator< typename ShapeMatricesType::ShapeMatrices > > NumLib::initShapeMatrices | ( | MeshLib::Element const & | e, |
bool const | is_axially_symmetric, | ||
IntegrationMethod const & | integration_method ) |
Definition at line 53 of file InitShapeMatrices.h.
References computeShapeMatrices().
Referenced by ProcessLib::ConstraintDirichletBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::ConstraintDirichletBoundaryConditionLocalAssembler(), ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, BHEType >::HeatTransportBHELocalAssemblerBHE(), ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerSoil< ShapeFunction >::HeatTransportBHELocalAssemblerSoil(), ProcessLib::HT::HTFEM< ShapeFunction, GlobalDim >::HTFEM(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::HydroMechanicsLocalAssembler(), ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerFracture< ShapeFunctionDisplacement, ShapeFunctionPressure, GlobalDim >::HydroMechanicsLocalAssemblerFracture(), ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerMatrix< ShapeFunctionDisplacement, ShapeFunctionPressure, GlobalDim >::HydroMechanicsLocalAssemblerMatrix(), ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::LargeDeformationLocalAssembler(), ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, GlobalDim >::LiquidFlowLocalAssembler(), ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::LocalAssemblerData(), ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, GlobalDim >::LocalAssemblerData(), ProcessLib::RichardsFlow::LocalAssemblerData< ShapeFunction, GlobalDim >::LocalAssemblerData(), ProcessLib::StokesFlow::LocalAssemblerData< ShapeFunctionLiquidVelocity, ShapeFunctionPressure, GlobalDim >::LocalAssemblerData(), ProcessLib::NormalTractionBoundaryCondition::NormalTractionBoundaryConditionLocalAssembler< ShapeFunctionDisplacement, GlobalDim >::NormalTractionBoundaryConditionLocalAssembler(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::PhaseFieldLocalAssembler(), NumLib::ShapeMatrixCache::ShapeMatrixCache(), ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssembler(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssemblerMatrix(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrixNearFracture< ShapeFunction, DisplacementDim >::SmallDeformationLocalAssemblerMatrixNearFracture(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, DisplacementDim >::SmallDeformationNonlocalLocalAssembler(), ProcessLib::SurfaceFluxLocalAssembler< ShapeFunction, GlobalDim >::SurfaceFluxLocalAssembler(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::TH2MLocalAssembler(), ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssembler< ShapeFunction, GlobalDim >::ThermalTwoPhaseFlowWithPPLocalAssembler(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::ThermoHydroMechanicsLocalAssembler(), ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::ThermoMechanicalPhaseFieldLocalAssembler(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::ThermoMechanicsLocalAssembler(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::ThermoRichardsMechanicsLocalAssembler(), ProcessLib::TwoPhaseFlowWithPP::TwoPhaseFlowWithPPLocalAssembler< ShapeFunction, GlobalDim >::TwoPhaseFlowWithPPLocalAssembler(), ProcessLib::VolumetricSourceTermLocalAssembler< ShapeFunction, GlobalDim >::VolumetricSourceTermLocalAssembler(), ProcessLib::WellboreSimulator::WellboreSimulatorFEM< ShapeFunction, GlobalDim >::WellboreSimulatorFEM(), MeshToolsLib::computeElementVolumeNumerically(), ProcessLib::BoundaryConditionAndSourceTerm::Python::computeNsAndWeights(), ProcessLib::GenericNaturalBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::initNsAndWeights(), and anonymous_namespace{ShapeMatrixCache.cpp}::initShapeMatrices().
std::array< double, 3 > NumLib::interpolateCoordinates | ( | MeshLib::Element const & | e, |
typename ShapeMatricesType::ShapeMatrices::ShapeType const & | N ) |
Definition at line 82 of file InitShapeMatrices.h.
References createIsoparametricFiniteElement(), and N.
Referenced by ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::ThermoRichardsFlowLocalAssembler(), ProcessLib::HeatConduction::LocalAssemblerData< ShapeFunction, GlobalDim >::assemble(), ProcessLib::NeumannBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::RobinBoundaryConditionLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assemble(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::assemble(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::assembleWithJacobian(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::assembleWithJacobian(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::computeSecondaryVariableConcrete(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::computeSecondaryVariableConcrete(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::initializeConcrete(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::initializeConcrete(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::initializeConcrete(), ProcessLib::VolumetricSourceTermLocalAssembler< ShapeFunction, GlobalDim >::integrate(), interpolateElementCoords(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::postTimestepConcrete(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::setInitialConditionsConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::setInitialConditionsConcrete(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, GlobalDim >::setInitialConditionsConcrete(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::setInitialConditionsConcrete(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveVariables(), and ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveVariablesDerivatives().
void NumLib::interpolateToHigherOrderNodes | ( | MeshLib::Element const & | element, |
bool const | is_axially_symmetric, | ||
Eigen::MatrixBase< EigenMatrixType > const & | node_values, | ||
MeshLib::PropertyVector< double > & | interpolated_values_global_vector ) |
Interpolates scalar node_values
given in lower order element nodes (e.g. the base nodes) to higher order element's nodes (e.g. quadratic nodes) and writes the result into the global property vector.
The base nodes' values are copied. For each higher order node the shape matrices are evaluated for the lower order element (the base nodes), and used for the the scalar quantity interpolation.
Definition at line 107 of file Interpolation.h.
References computeShapeMatrices(), MeshLib::Element::getNumberOfBaseNodes(), MeshLib::Element::getNumberOfNodes(), and N.
Referenced by ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::StokesFlow::LocalAssemblerData< ShapeFunctionLiquidVelocity, ShapeFunctionPressure, GlobalDim >::computeSecondaryVariableConcrete(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::computeSecondaryVariableConcrete(), and ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerMatrix< ShapeFunctionDisplacement, ShapeFunctionPressure, GlobalDim >::postTimestepConcreteWithBlockVectors().
double NumLib::interpolateXCoordinate | ( | MeshLib::Element const & | e, |
typename ShapeMatricesType::ShapeMatrices::ShapeType const & | N ) |
Definition at line 71 of file InitShapeMatrices.h.
References createIsoparametricFiniteElement(), and N.
Referenced by ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assemble(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assemble(), ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerMatrix< ShapeFunctionDisplacement, ShapeFunctionPressure, GlobalDim >::assembleBlockMatricesWithJacobian(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrixNearFracture< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobian(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobian(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::assembleWithJacobianForDeformationEquations(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobianForDeformationEquations(), ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobianForDeformationEquations(), ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobianForDeformationEquations(), ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, DisplacementDim >::assembleWithJacobianPhaseFieldEquations(), ProcessLib::LinearBMatrix::computeDilatationalBbar(), ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::computeSecondaryVariableConcrete(), ProcessLib::SmallDeformation::getMaterialForces(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, DisplacementDim >::getNodalValues(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::postNonLinearSolverConcrete(), ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::postTimestepConcrete(), ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::postTimestepConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::postTimestepConcrete(), ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerMatrix< ShapeFunctionDisplacement, ShapeFunctionPressure, GlobalDim >::postTimestepConcreteWithBlockVectors(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, DisplacementDim >::preAssemble(), ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::setInitialConditionsConcrete(), ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::setInitialConditionsConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveRelations(), and ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::updateConstitutiveVariables().
auto NumLib::localDOF | ( | ElementDOFVector const & | x | ) |
Decomposes the passed d.o.f.s of an entire finite element into d.o.f.s belonging to individual unknowns—such as pressure, temperature, or displacement—via the passed shape functions.
Definition at line 64 of file LocalDOF.h.
References NumLib::detail::localDOFImpl().
Referenced by ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::localDOF(), ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::localDOF(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, DisplacementDim >::localDOF(), and ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, DisplacementDim, ConstitutiveTraits >::localDOF().
ExtrapolatableLocalAssemblerCollection< LocalAssemblerCollection > NumLib::makeExtrapolatable | ( | LocalAssemblerCollection const & | local_assemblers, |
IntegrationPointValuesMethod | integration_point_values_method ) |
Creates an ExtrapolatableLocalAssemblerCollection, which can be used to provide information to an Extrapolator.
Definition at line 149 of file ExtrapolatableElementCollection.h.
Referenced by ProcessLib::makeExtrapolator().
double NumLib::norm | ( | GlobalVector const & | x, |
unsigned const | global_component, | ||
MathLib::VecNormType | norm_type, | ||
LocalToGlobalIndexMap const & | dof_table, | ||
MeshLib::Mesh const & | mesh ) |
Computes the specified norm of the given global component of the given vector x.
x
is typically the solution vector of a monolithically coupled process with several primary variables. Definition at line 159 of file DOFTableUtil.cpp.
References MathLib::INFINITY_N, MathLib::NORM1, MathLib::NORM2, and OGS_FATAL.
Referenced by NumLib::ConvergenceCriterionPerComponentDeltaX::checkDeltaX(), NumLib::ConvergenceCriterionPerComponentResidual::checkDeltaX(), NumLib::ConvergenceCriterionPerComponentResidual::checkResidual(), NumLib::anonymous_namespace{DOFTableUtil.cpp}::norm1(), NumLib::anonymous_namespace{DOFTableUtil.cpp}::norm2(), and NumLib::anonymous_namespace{DOFTableUtil.cpp}::normInfinity().
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Hex | , |
ShapeHex8 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Hex20 | , |
ShapeHex20 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Line | , |
ShapeLine2 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Line3 | , |
ShapeLine3 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Point | , |
ShapePoint1 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Prism | , |
ShapePrism6 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Prism15 | , |
ShapePrism15 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Pyramid | , |
ShapePyra5 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Pyramid13 | , |
ShapePyra13 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Quad | , |
ShapeQuad4 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Quad8 | , |
ShapeQuad8 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Quad9 | , |
ShapeQuad9 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Tet | , |
ShapeTet4 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Tet10 | , |
ShapeTet10 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Tri | , |
ShapeTri3 | ) |
NumLib::OGS_SPECIALIZE_ELEMENT_TRAITS_LAGRANGE | ( | Tri6 | , |
ShapeTri6 | ) |
std::ostream & NumLib::operator<< | ( | std::ostream & | os, |
const ShapeMatrices< T_N, T_DNDR, T_J, T_DNDX > & | shape ) |
Definition at line 129 of file ShapeMatrices-impl.h.
References NumLib::ShapeMatrices< T_N, T_DNDR, T_J, T_DNDX >::write().
std::ostream & NumLib::operator<< | ( | std::ostream & | os, |
LocalToGlobalIndexMap const & | map ) |
Definition at line 441 of file LocalToGlobalIndexMap.cpp.
std::tuple< std::vector< std::unique_ptr< NumLib::ConvergenceCriterion > >, std::vector< LocalCouplingParameters >, int > NumLib::parseCoupling | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 105 of file CreateStaggeredCoupling.cpp.
References BaseLib::ConfigTree::getConfigSubtreeOptional(), and parseLocalCoupling().
Referenced by createStaggeredCoupling().
EvolutionaryPIDcontrollerParameters NumLib::parseEvolutionaryPIDcontroller | ( | BaseLib::ConfigTree const & | config | ) |
Parse an EvolutionaryPIDcontroller time stepper from the given configuration
Definition at line 23 of file CreateEvolutionaryPIDcontroller.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), and BaseLib::ConfigTree::getConfigParameter().
Referenced by createTimeStepper().
FixedTimeSteppingParameters NumLib::parseFixedTimeStepping | ( | BaseLib::ConfigTree const & | config | ) |
Create a FixedTimeStepping time stepper from the given configuration
Definition at line 21 of file CreateFixedTimeStepping.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), BaseLib::ConfigTree::getConfigParameter(), BaseLib::ConfigTree::getConfigParameterOptional(), BaseLib::ConfigTree::getConfigSubtree(), BaseLib::ConfigTree::getConfigSubtreeList(), and OGS_FATAL.
Referenced by createTimeStepper().
IterationNumberBasedTimeSteppingParameters NumLib::parseIterationNumberBasedTimeStepping | ( | BaseLib::ConfigTree const & | config | ) |
Definition at line 23 of file CreateIterationNumberBasedTimeStepping.cpp.
References BaseLib::ConfigTree::checkConfigParameter(), BaseLib::ConfigTree::getConfigParameter(), and OGS_FATAL.
Referenced by createTimeStepper().
std::vector< LocalCouplingParameters > NumLib::parseLocalCoupling | ( | BaseLib::ConfigTree const & | config, |
const std::size_t | max_process_number ) |
The function returns a set of process names and the maximum iteration number of a sub-coupling or nothing.
Definition at line 24 of file CreateStaggeredCoupling.cpp.
References BaseLib::ConfigTree::getConfigSubtreeList(), INFO(), and OGS_FATAL.
Referenced by parseCoupling().
double NumLib::possiblyClampDtToNextFixedTime | ( | Time const & | t, |
double const | dt, | ||
std::vector< double > const & | fixed_output_times ) |
If any of the fixed times will be reached with given time increment, it will be reduced, otherwise the input will be returned.
t | Current time. |
dt | Suggested time increment. |
fixed_output_times | Sorted list of times which are to be reached. |
Definition at line 19 of file TimeStepAlgorithm.cpp.
Referenced by ProcessLib::TimeLoop::generateOutputTimeStepConstraints().
void NumLib::shapeFunctionInterpolate | ( | const NodalValues & | nodal_values, |
const ShapeMatrix & | shape_matrix_N, | ||
double & | interpolated_value, | ||
ScalarTypes &... | interpolated_values ) |
Interpolates variables given at element nodes according to the given shape matrix.
This function simply does the usual finite-element interpolation, i.e. multiplication of nodal values with the shape function.
nodal_values | vector of nodal values, ordered by component |
shape_matrix_N | shape matrix of the point to which will be interpolated |
interpolated_value | interpolated value of the first d.o.f. (output parameter) |
interpolated_values | interpolated value of further d.o.f. (output parameter) |
NodalValues | type of the container where nodal values are stored |
ShapeMatrix | type of the shape matrix \(N\). |
ScalarValues | all of the types in this pack must currently be double . |
nodal_values
have to be ordered by component and it is assumed that all passed d.o.f. are single-component and are interpolated using the same shape function. Definition at line 80 of file Interpolation.h.
References NumLib::detail::shapeFunctionInterpolate().
void NumLib::transformVariableFromGlobalVector | ( | GlobalVector const & | input_vector, |
int const | variable_id, | ||
NumLib::LocalToGlobalIndexMap const & | local_to_global_index_map, | ||
MeshLib::PropertyVector< double > & | output_vector, | ||
Functor | map_function ) |
Copies part of a global vector for the given variable into output_vector while applying a function to each value.
Definition at line 61 of file DOFTableUtil.h.
References MeshLib::PropertyVector< PROP_VAL_TYPE >::getComponent(), NumLib::LocalToGlobalIndexMap::getGlobalIndex(), MeshLib::MeshSubset::getMeshID(), NumLib::LocalToGlobalIndexMap::getMeshSubset(), NumLib::LocalToGlobalIndexMap::getNumberOfVariableComponents(), MeshLib::Node, and MathLib::LinAlg::setLocalAccessibleVector().
void NumLib::transformVariableFromGlobalVector | ( | GlobalVector const & | input_vector_on_bulk_mesh, |
int const | variable_id, | ||
NumLib::LocalToGlobalIndexMap const & | local_to_global_index_map, | ||
MeshLib::PropertyVector< double > & | output_vector_on_submesh, | ||
std::vector< std::size_t > const & | map_submesh_node_id_to_bulk_mesh_node_id, | ||
Functor | map_function ) |
Overload that can be used to transform and project nodal data from the bulk mesh to submeshes, e.g., for the output if residuum vectors on submeshes.
Definition at line 99 of file DOFTableUtil.h.
References MeshLib::PropertyVector< PROP_VAL_TYPE >::getComponent(), NumLib::LocalToGlobalIndexMap::getGlobalIndex(), MeshLib::MeshSubset::getMeshID(), NumLib::LocalToGlobalIndexMap::getMeshSubset(), NumLib::LocalToGlobalIndexMap::getNumberOfVariableComponents(), MeshLib::Node, NumLib::MeshComponentMap::nop, and MathLib::LinAlg::setLocalAccessibleVector().
|
inline |
Definition at line 100 of file TimeStep.h.
Referenced by ProcessLib::TimeLoop::computeTimeStepping().