From 9ecbea010f90509a4793c667ca4bbb2052e5fd79 Mon Sep 17 00:00:00 2001 From: Dmitri Naumov <github@naumov.de> Date: Sat, 9 Mar 2019 18:52:28 +0100 Subject: [PATCH] [PL] Update boundary conditions/source terms. --- ProcessLib/BoundaryCondition/BoundaryCondition.h | 6 ++++-- .../BoundaryConditionCollection.h | 6 ++++-- .../ConstraintDirichletBoundaryCondition.cpp | 13 +++++++------ .../ConstraintDirichletBoundaryCondition.h | 10 +++++----- ...intDirichletBoundaryConditionLocalAssembler.h | 2 +- .../CreateBoundaryCondition.cpp | 2 +- .../BoundaryCondition/CreateBoundaryCondition.h | 10 ++++++---- .../DirichletBoundaryCondition.cpp | 14 ++++++++------ .../DirichletBoundaryCondition.h | 14 +++++++++----- ...ichletBoundaryConditionAuxiliaryFunctions.cpp | 9 +++++---- ...irichletBoundaryConditionAuxiliaryFunctions.h | 8 ++++++-- ...ichletBoundaryConditionWithinTimeInterval.cpp | 15 +++++++++------ ...irichletBoundaryConditionWithinTimeInterval.h | 16 +++++++++++----- .../NeumannBoundaryCondition.cpp | 7 ++++--- .../BoundaryCondition/NeumannBoundaryCondition.h | 10 ++++++---- .../NeumannBoundaryConditionLocalAssembler.h | 6 +++--- .../NormalTractionBoundaryCondition-impl.h | 10 ++++++---- .../NormalTractionBoundaryCondition.h | 8 +++++--- ...rmalTractionBoundaryConditionLocalAssembler.h | 6 +++--- ...IrreversibleDamageOracleBoundaryCondition.cpp | 3 +-- ...ldIrreversibleDamageOracleBoundaryCondition.h | 2 +- .../Python/PythonBoundaryCondition.cpp | 1 - .../BoundaryCondition/RobinBoundaryCondition.cpp | 10 ++++++---- .../BoundaryCondition/RobinBoundaryCondition.h | 3 ++- .../RobinBoundaryConditionLocalAssembler.h | 8 ++++---- ...VariableDependentNeumannBoundaryCondition.cpp | 16 ++++++++++------ .../VariableDependentNeumannBoundaryCondition.h | 3 ++- ...ndentNeumannBoundaryConditionLocalAssembler.h | 10 +++++----- ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp | 7 ++++--- ProcessLib/SourceTerms/CreateNodalSourceTerm.h | 10 +++++++--- ProcessLib/SourceTerms/CreateSourceTerm.cpp | 2 +- ProcessLib/SourceTerms/CreateSourceTerm.h | 5 +++-- .../SourceTerms/CreateVolumetricSourceTerm.cpp | 9 ++++----- .../SourceTerms/CreateVolumetricSourceTerm.h | 11 +++++++---- ProcessLib/SourceTerms/NodalSourceTerm.cpp | 4 ++-- ProcessLib/SourceTerms/NodalSourceTerm.h | 4 ++-- .../SourceTerms/Python/PythonSourceTerm.cpp | 1 - ProcessLib/SourceTerms/SourceTerm.h | 2 +- ProcessLib/SourceTerms/SourceTermCollection.h | 6 ++++-- ProcessLib/SourceTerms/VolumetricSourceTerm.cpp | 2 +- ProcessLib/SourceTerms/VolumetricSourceTerm.h | 4 ++-- ProcessLib/SourceTerms/VolumetricSourceTermFEM.h | 8 ++++---- 42 files changed, 176 insertions(+), 127 deletions(-) diff --git a/ProcessLib/BoundaryCondition/BoundaryCondition.h b/ProcessLib/BoundaryCondition/BoundaryCondition.h index 127bbe49f24..c9f201807c7 100644 --- a/ProcessLib/BoundaryCondition/BoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/BoundaryCondition.h @@ -22,11 +22,13 @@ class LocalToGlobalIndexMap; template <typename> struct IndexValueVector; } - +namespace ParameterLib +{ +struct ParameterBase; +} namespace ProcessLib { struct BoundaryConditionConfig; -struct ParameterBase; class Process; class BoundaryCondition diff --git a/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h b/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h index b6bebef421b..8db720690fb 100644 --- a/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h +++ b/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h @@ -20,7 +20,8 @@ class BoundaryConditionCollection final { public: explicit BoundaryConditionCollection( - std::vector<std::unique_ptr<ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters) : _parameters(parameters) { } @@ -62,7 +63,8 @@ public: private: mutable std::vector<NumLib::IndexValueVector<GlobalIndexType>> _dirichlet_bcs; std::vector<std::unique_ptr<BoundaryCondition>> _boundary_conditions; - std::vector<std::unique_ptr<ParameterBase>> const& _parameters; + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + _parameters; }; } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.cpp index 51e87faf7f4..1000972862e 100644 --- a/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.cpp @@ -13,15 +13,15 @@ #include <vector> #include <logog/include/logog.hpp> -#include "MeshLib/Node.h" #include "MeshLib/MeshSearch/NodeSearch.h" // for getUniqueNodes +#include "MeshLib/Node.h" +#include "ParameterLib/Utils.h" #include "ProcessLib/Utils/CreateLocalAssemblers.h" -#include "ProcessLib/Utils/ProcessUtils.h" namespace ProcessLib { ConstraintDirichletBoundaryCondition::ConstraintDirichletBoundaryCondition( - Parameter<double> const& parameter, + ParameterLib::Parameter<double> const& parameter, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id, MeshLib::Mesh const& bc_mesh, unsigned const integration_order, MeshLib::Mesh const& bulk_mesh, @@ -128,7 +128,7 @@ void ConstraintDirichletBoundaryCondition::getEssentialBCValues( const double t, const GlobalVector& /*x*/, NumLib::IndexValueVector<GlobalIndexType>& bc_values) const { - SpatialPosition pos; + ParameterLib::SpatialPosition pos; bc_values.ids.clear(); bc_values.values.clear(); @@ -228,7 +228,7 @@ createConstraintDirichletBoundaryCondition( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, unsigned const integration_order, int const component_id, - std::vector<std::unique_ptr<ProcessLib::ParameterBase>> const& parameters, + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters, Process const& constraining_process) { DBUG("Constructing ConstraintDirichletBoundaryCondition from config."); @@ -298,7 +298,8 @@ createConstraintDirichletBoundaryCondition( auto const param_name = config.getConfigParameter<std::string>("parameter"); DBUG("Using parameter %s", param_name.c_str()); - auto& param = findParameter<double>(param_name, parameters, 1); + auto& param = + ParameterLib::findParameter<double>(param_name, parameters, 1); // In case of partitioned mesh the boundary could be empty, i.e. there is no // boundary condition. diff --git a/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.h b/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.h index 5d05b6e4bfd..186542d89d2 100644 --- a/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryCondition.h @@ -9,10 +9,10 @@ #pragma once +#include "BoundaryCondition.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" #include "NumLib/IndexValueVector.h" -#include "ProcessLib/Parameter/Parameter.h" -#include "BoundaryCondition.h" +#include "ParameterLib/Parameter.h" #include "ConstraintDirichletBoundaryConditionLocalAssembler.h" @@ -49,7 +49,7 @@ public: /// @note The function has to be stored by value, else the process value is /// not captured properly. ConstraintDirichletBoundaryCondition( - Parameter<double> const& parameter, + ParameterLib::Parameter<double> const& parameter, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id, MeshLib::Mesh const& bc_mesh, unsigned const integration_order, @@ -67,7 +67,7 @@ public: NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override; private: - Parameter<double> const& _parameter; + ParameterLib::Parameter<double> const& _parameter; /// Local dof table, a subset of the global one restricted to the /// participating number of elements of the boundary condition. @@ -123,6 +123,6 @@ createConstraintDirichletBoundaryCondition( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, unsigned const integration_order, int const component_id, - std::vector<std::unique_ptr<ProcessLib::ParameterBase>> const& parameters, + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters, Process const& constraining_process); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryConditionLocalAssembler.h index 87a351ca4aa..9c214e163e3 100644 --- a/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryConditionLocalAssembler.h +++ b/ProcessLib/BoundaryCondition/ConstraintDirichletBoundaryConditionLocalAssembler.h @@ -13,8 +13,8 @@ #include "NumLib/DOF/DOFTableUtil.h" +#include "ParameterLib/Parameter.h" #include "ProcessLib/Process.h" -#include "ProcessLib/Parameter/Parameter.h" #include "ProcessLib/Utils/InitShapeMatrices.h" #include "MeshLib/Elements/MapBulkElementPoint.h" diff --git a/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp index 4efc1805fef..844d1e4586a 100644 --- a/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/CreateBoundaryCondition.cpp @@ -33,7 +33,7 @@ std::unique_ptr<BoundaryCondition> createBoundaryCondition( const NumLib::LocalToGlobalIndexMap& dof_table, const MeshLib::Mesh& bulk_mesh, const int variable_id, const unsigned integration_order, const unsigned shapefunction_order, - const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters, + const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters, const Process& process) { // Surface mesh and bulk mesh must have equal axial symmetry flags! diff --git a/ProcessLib/BoundaryCondition/CreateBoundaryCondition.h b/ProcessLib/BoundaryCondition/CreateBoundaryCondition.h index 752d7a574a7..7c36f45fab9 100644 --- a/ProcessLib/BoundaryCondition/CreateBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/CreateBoundaryCondition.h @@ -20,13 +20,15 @@ class Mesh; namespace NumLib { class LocalToGlobalIndexMap; -} // namespace NumLib - +} +namespace ParameterLib +{ +struct ParameterBase; +} namespace ProcessLib { class BoundaryCondition; struct BoundaryConditionConfig; -struct ParameterBase; class Process; std::unique_ptr<BoundaryCondition> createBoundaryCondition( @@ -34,7 +36,7 @@ std::unique_ptr<BoundaryCondition> createBoundaryCondition( const NumLib::LocalToGlobalIndexMap& dof_table, const MeshLib::Mesh& bulk_mesh, const int variable_id, const unsigned integration_order, const unsigned shapefunction_order, - const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters, + const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters, const Process& process); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.cpp index c714a531dec..1385562e9bd 100644 --- a/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.cpp @@ -16,15 +16,16 @@ #include "DirichletBoundaryConditionAuxiliaryFunctions.h" #include "BaseLib/ConfigTree.h" -#include "NumLib/IndexValueVector.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" -#include "ProcessLib/Parameter/Parameter.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "NumLib/IndexValueVector.h" +#include "ParameterLib/Parameter.h" +#include "ParameterLib/Utils.h" namespace ProcessLib { DirichletBoundaryCondition::DirichletBoundaryCondition( - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id) : _parameter(parameter), @@ -57,7 +58,7 @@ std::unique_ptr<DirichletBoundaryCondition> createDirichletBoundaryCondition( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id, - const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters) + const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters) { DBUG("Constructing DirichletBoundaryCondition from config."); //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type} @@ -67,7 +68,8 @@ std::unique_ptr<DirichletBoundaryCondition> createDirichletBoundaryCondition( auto const param_name = config.getConfigParameter<std::string>("parameter"); DBUG("Using parameter %s", param_name.c_str()); - auto& parameter = findParameter<double>(param_name, parameters, 1); + auto& parameter = + ParameterLib::findParameter<double>(param_name, parameters, 1); if (parameter.mesh() && *parameter.mesh() != bc_mesh) { diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.h b/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.h index 123ef2924cd..1f3681199e0 100644 --- a/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/DirichletBoundaryCondition.h @@ -15,12 +15,14 @@ namespace BaseLib { class ConfigTree; } - -namespace ProcessLib +namespace ParameterLib { template <typename T> struct Parameter; +} +namespace ProcessLib +{ // TODO docu /// The DirichletBoundaryCondition class describes a constant in space /// and time Dirichlet boundary condition. @@ -30,7 +32,8 @@ class DirichletBoundaryCondition final : public BoundaryCondition { public: DirichletBoundaryCondition( - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id); @@ -39,7 +42,7 @@ public: NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override; private: - Parameter<double> const& _parameter; + ParameterLib::Parameter<double> const& _parameter; MeshLib::Mesh const& _bc_mesh; std::unique_ptr<NumLib::LocalToGlobalIndexMap const> _dof_table_boundary; @@ -51,6 +54,7 @@ std::unique_ptr<DirichletBoundaryCondition> createDirichletBoundaryCondition( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id, - const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters); + const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.cpp b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.cpp index 58f9714b057..05ff01e5848 100644 --- a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.cpp +++ b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.cpp @@ -15,9 +15,9 @@ #include "MeshLib/Mesh.h" #include "MeshLib/Node.h" -#include "NumLib/IndexValueVector.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" -#include "ProcessLib/Parameter/Parameter.h" +#include "NumLib/IndexValueVector.h" +#include "ParameterLib/Parameter.h" namespace ProcessLib { @@ -56,14 +56,15 @@ void checkParametersOfDirichletBoundaryCondition( } void getEssentialBCValuesLocal( - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, std::vector<MeshLib::Node*> const& nodes_in_bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_boundary, int const variable_id, int const component_id, const double t, GlobalVector const& /*x*/, NumLib::IndexValueVector<GlobalIndexType>& bc_values) { - SpatialPosition pos; + ParameterLib::SpatialPosition pos; bc_values.ids.clear(); bc_values.values.clear(); diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.h b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.h index db69d1b76a4..8de251719ce 100644 --- a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.h +++ b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionAuxiliaryFunctions.h @@ -33,11 +33,14 @@ template <typename> struct IndexValueVector; } -namespace ProcessLib +namespace ParameterLib { template <typename T> struct Parameter; +} +namespace ProcessLib +{ void checkParametersOfDirichletBoundaryCondition( MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, @@ -45,7 +48,8 @@ void checkParametersOfDirichletBoundaryCondition( int const component_id); void getEssentialBCValuesLocal( - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, std::vector<MeshLib::Node*> const& nodes_in_bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_boundary, int const variable_id, int const component_id, const double t, diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.cpp b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.cpp index 2392094e8bc..1631031eada 100644 --- a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.cpp +++ b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.cpp @@ -21,15 +21,16 @@ #include "NumLib/DOF/LocalToGlobalIndexMap.h" #include "NumLib/IndexValueVector.h" -#include "ProcessLib/Parameter/Parameter.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "ParameterLib/Parameter.h" +#include "ParameterLib/Utils.h" namespace ProcessLib { DirichletBoundaryConditionWithinTimeInterval:: DirichletBoundaryConditionWithinTimeInterval( std::unique_ptr<BaseLib::TimeInterval> time_interval, - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id) : _parameter(parameter), @@ -45,7 +46,8 @@ DirichletBoundaryConditionWithinTimeInterval:: DirichletBoundaryConditionWithinTimeInterval:: DirichletBoundaryConditionWithinTimeInterval( std::unique_ptr<BaseLib::TimeInterval> time_interval, - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, std::vector<MeshLib::Node*> const& nodes_in_bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id) @@ -95,7 +97,7 @@ createDirichletBoundaryConditionWithinTimeInterval( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id, - const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters) + const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& parameters) { DBUG( "Constructing DirichletBoundaryConditionWithinTimeInterval from " @@ -108,7 +110,8 @@ createDirichletBoundaryConditionWithinTimeInterval( auto const param_name = config.getConfigParameter<std::string>("parameter"); DBUG("Using parameter %s", param_name.c_str()); - auto& param = findParameter<double>(param_name, parameters, 1); + auto& param = + ParameterLib::findParameter<double>(param_name, parameters, 1); // In case of partitioned mesh the boundary could be empty, i.e. there is no // boundary condition. diff --git a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h index f5e9c2a70f1..89a4cc61233 100644 --- a/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h +++ b/ProcessLib/BoundaryCondition/DirichletBoundaryConditionWithinTimeInterval.h @@ -28,24 +28,29 @@ namespace MeshLib class Node; } -namespace ProcessLib +namespace ParameterLib { template <typename T> struct Parameter; +} +namespace ProcessLib +{ class DirichletBoundaryConditionWithinTimeInterval final : public BoundaryCondition { public: DirichletBoundaryConditionWithinTimeInterval( std::unique_ptr<BaseLib::TimeInterval> time_interval, - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id); DirichletBoundaryConditionWithinTimeInterval( std::unique_ptr<BaseLib::TimeInterval> time_interval, - Parameter<double> const& parameter, MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& parameter, + MeshLib::Mesh const& bc_mesh, std::vector<MeshLib::Node*> const& nodes_in_bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id); @@ -55,7 +60,7 @@ public: NumLib::IndexValueVector<GlobalIndexType>& bc_values) const override; private: - Parameter<double> const& _parameter; + ParameterLib::Parameter<double> const& _parameter; MeshLib::Mesh const& _bc_mesh; /// Some nodes in _bc_mesh @@ -75,6 +80,7 @@ createDirichletBoundaryConditionWithinTimeInterval( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, int const component_id, - const std::vector<std::unique_ptr<ProcessLib::ParameterBase>>& parameters); + const std::vector<std::unique_ptr<ParameterLib::ParameterBase>>& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.cpp index a94d1f6588b..7f5d8b79194 100644 --- a/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.cpp @@ -8,7 +8,7 @@ */ #include "NeumannBoundaryCondition.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "ParameterLib/Utils.h" namespace ProcessLib { @@ -17,7 +17,7 @@ std::unique_ptr<NeumannBoundaryCondition> createNeumannBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters) { DBUG("Constructing Neumann BC from config."); //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type} @@ -27,7 +27,8 @@ std::unique_ptr<NeumannBoundaryCondition> createNeumannBoundaryCondition( auto const param_name = config.getConfigParameter<std::string>("parameter"); DBUG("Using parameter %s", param_name.c_str()); - auto const& param = findParameter<double>(param_name, parameters, 1); + auto const& param = + ParameterLib::findParameter<double>(param_name, parameters, 1); // In case of partitioned mesh the boundary could be empty, i.e. there is no // boundary condition. diff --git a/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.h b/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.h index e9dd44035d2..3b67bd65e79 100644 --- a/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/NeumannBoundaryCondition.h @@ -9,20 +9,22 @@ #pragma once -#include "ProcessLib/Parameter/Parameter.h" #include "GenericNaturalBoundaryCondition.h" #include "NeumannBoundaryConditionLocalAssembler.h" +#include "ParameterLib/Parameter.h" namespace ProcessLib { -using NeumannBoundaryCondition = GenericNaturalBoundaryCondition< - Parameter<double> const&, NeumannBoundaryConditionLocalAssembler>; +using NeumannBoundaryCondition = + GenericNaturalBoundaryCondition<ParameterLib::Parameter<double> const&, + NeumannBoundaryConditionLocalAssembler>; std::unique_ptr<NeumannBoundaryCondition> createNeumannBoundaryCondition( BaseLib::ConfigTree const& config, MeshLib::Mesh const& bc_mesh, NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters); + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h index 0f09c01d8a8..9296b1db422 100644 --- a/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h +++ b/ProcessLib/BoundaryCondition/NeumannBoundaryConditionLocalAssembler.h @@ -12,7 +12,7 @@ #include "GenericNaturalBoundaryConditionLocalAssembler.h" #include "NumLib/DOF/DOFTableUtil.h" #include "NumLib/Fem/ShapeMatrixPolicy.h" -#include "ProcessLib/Parameter/Parameter.h" +#include "ParameterLib/Parameter.h" #include "ProcessLib/Utils/InitShapeMatrices.h" namespace ProcessLib @@ -36,7 +36,7 @@ public: std::size_t const local_matrix_size, bool const is_axially_symmetric, unsigned const integration_order, - Parameter<double> const& neumann_bc_parameter) + ParameterLib::Parameter<double> const& neumann_bc_parameter) : Base(e, is_axially_symmetric, integration_order), _neumann_bc_parameter(neumann_bc_parameter), _local_rhs(local_matrix_size) @@ -73,7 +73,7 @@ public: } private: - Parameter<double> const& _neumann_bc_parameter; + ParameterLib::Parameter<double> const& _neumann_bc_parameter; NodalVectorType _local_rhs; public: diff --git a/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition-impl.h b/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition-impl.h index 68faa079cc9..d02bff937f6 100644 --- a/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition-impl.h +++ b/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition-impl.h @@ -13,8 +13,8 @@ #include <numeric> #include "MeshLib/MeshSearch/NodeSearch.h" +#include "ParameterLib/Utils.h" #include "ProcessLib/Utils/CreateLocalAssemblers.h" -#include "ProcessLib/Utils/ProcessUtils.h" #include "NormalTractionBoundaryConditionLocalAssembler.h" @@ -29,7 +29,8 @@ NormalTractionBoundaryCondition<LocalAssemblerImplementation>:: unsigned const integration_order, unsigned const shapefunction_order, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, unsigned const global_dim, - MeshLib::Mesh const& bc_mesh, Parameter<double> const& pressure) + MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& pressure) : _bc_mesh(bc_mesh), _integration_order(integration_order), _pressure(pressure) @@ -79,7 +80,7 @@ createNormalTractionBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters) { DBUG("Constructing NormalTractionBoundaryCondition from config."); //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type} @@ -90,7 +91,8 @@ createNormalTractionBoundaryCondition( config.getConfigParameter<std::string>("parameter"); DBUG("Using parameter %s", parameter_name.c_str()); - auto const& pressure = findParameter<double>(parameter_name, parameters, 1); + auto const& pressure = + ParameterLib::findParameter<double>(parameter_name, parameters, 1); return std::make_unique<NormalTractionBoundaryCondition< NormalTractionBoundaryConditionLocalAssembler>>( integration_order, shapefunction_order, dof_table, variable_id, diff --git a/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition.h b/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition.h index 9caeea9009d..b13faa3dbff 100644 --- a/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/NormalTractionBoundaryCondition.h @@ -39,7 +39,8 @@ public: unsigned const integration_order, unsigned const shapefunction_order, NumLib::LocalToGlobalIndexMap const& dof_table_bulk, int const variable_id, unsigned const global_dim, - MeshLib::Mesh const& bc_mesh, Parameter<double> const& pressure); + MeshLib::Mesh const& bc_mesh, + ParameterLib::Parameter<double> const& pressure); /// Calls local assemblers which calculate their contributions to the global /// matrix and the right-hand-side. @@ -67,7 +68,7 @@ private: std::unique_ptr<NormalTractionBoundaryConditionLocalAssemblerInterface>> _local_assemblers; - Parameter<double> const& _pressure; + ParameterLib::Parameter<double> const& _pressure; }; std::unique_ptr<NormalTractionBoundaryCondition< @@ -77,7 +78,8 @@ createNormalTractionBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters); + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters); } // namespace NormalTractionBoundaryCondition } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h index 368a45ef2e8..b6365f24975 100644 --- a/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h +++ b/ProcessLib/BoundaryCondition/NormalTractionBoundaryConditionLocalAssembler.h @@ -13,7 +13,7 @@ #include "MathLib/LinAlg/Eigen/EigenMapTools.h" #include "MeshLib/Elements/FaceRule.h" #include "NumLib/DOF/DOFTableUtil.h" -#include "ProcessLib/Parameter/Parameter.h" +#include "ParameterLib/Parameter.h" #include "GenericNaturalBoundaryConditionLocalAssembler.h" @@ -64,7 +64,7 @@ public: std::size_t const local_matrix_size, bool const is_axially_symmetric, unsigned const integration_order, - Parameter<double> const& pressure) + ParameterLib::Parameter<double> const& pressure) : _integration_method(integration_order), _pressure(pressure), _element(e) @@ -154,7 +154,7 @@ public: private: IntegrationMethod const _integration_method; - Parameter<double> const& _pressure; + ParameterLib::Parameter<double> const& _pressure; static const int displacement_size = ShapeFunctionDisplacement::NPOINTS * GlobalDim; diff --git a/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.cpp index 2de4055ed37..8e2d1e336ef 100644 --- a/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.cpp @@ -12,7 +12,6 @@ #include <algorithm> #include <logog/include/logog.hpp> #include <vector> -#include "ProcessLib/Utils/ProcessUtils.h" namespace ProcessLib { @@ -20,7 +19,7 @@ void PhaseFieldIrreversibleDamageOracleBoundaryCondition::getEssentialBCValues( const double /*t*/, GlobalVector const& /*x*/, NumLib::IndexValueVector<GlobalIndexType>& bc_values) const { - SpatialPosition pos; + ParameterLib::SpatialPosition pos; bc_values.ids.clear(); bc_values.values.clear(); diff --git a/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.h b/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.h index 47f0fd0c2f0..10fe3f2bd93 100644 --- a/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/PhaseFieldIrreversibleDamageOracleBoundaryCondition.h @@ -12,7 +12,7 @@ #include "BoundaryCondition.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" #include "NumLib/IndexValueVector.h" -#include "ProcessLib/Parameter/Parameter.h" +#include "ParameterLib/Parameter.h" namespace ProcessLib { diff --git a/ProcessLib/BoundaryCondition/Python/PythonBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/Python/PythonBoundaryCondition.cpp index 83764467e52..6797cfb6fff 100644 --- a/ProcessLib/BoundaryCondition/Python/PythonBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/Python/PythonBoundaryCondition.cpp @@ -14,7 +14,6 @@ #include "MeshLib/MeshSearch/NodeSearch.h" #include "ProcessLib/Utils/CreateLocalAssemblers.h" -#include "ProcessLib/Utils/ProcessUtils.h" #include "PythonBoundaryConditionLocalAssembler.h" namespace diff --git a/ProcessLib/BoundaryCondition/RobinBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/RobinBoundaryCondition.cpp index 3f7870f9dbd..8d2d0331e7f 100644 --- a/ProcessLib/BoundaryCondition/RobinBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/RobinBoundaryCondition.cpp @@ -8,7 +8,7 @@ */ #include "RobinBoundaryCondition.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "ParameterLib/Utils.h" namespace ProcessLib { @@ -17,7 +17,7 @@ std::unique_ptr<RobinBoundaryCondition> createRobinBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters) { DBUG("Constructing RobinBcConfig from config."); //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type} @@ -28,8 +28,10 @@ std::unique_ptr<RobinBoundaryCondition> createRobinBoundaryCondition( //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__Robin__u_0} auto const u_0_name = config.getConfigParameter<std::string>("u_0"); - auto const& alpha = findParameter<double>(alpha_name, parameters, 1); - auto const& u_0 = findParameter<double>(u_0_name, parameters, 1); + auto const& alpha = + ParameterLib::findParameter<double>(alpha_name, parameters, 1); + auto const& u_0 = + ParameterLib::findParameter<double>(u_0_name, parameters, 1); // In case of partitioned mesh the boundary could be empty, i.e. there is no // boundary condition. diff --git a/ProcessLib/BoundaryCondition/RobinBoundaryCondition.h b/ProcessLib/BoundaryCondition/RobinBoundaryCondition.h index 30b8c941df7..1f91cf1f497 100644 --- a/ProcessLib/BoundaryCondition/RobinBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/RobinBoundaryCondition.h @@ -34,6 +34,7 @@ std::unique_ptr<RobinBoundaryCondition> createRobinBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters); + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h index 434afb14b34..762f6470493 100644 --- a/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h +++ b/ProcessLib/BoundaryCondition/RobinBoundaryConditionLocalAssembler.h @@ -9,15 +9,15 @@ #pragma once -#include "NumLib/DOF/DOFTableUtil.h" -#include "ProcessLib/Parameter/Parameter.h" #include "GenericNaturalBoundaryConditionLocalAssembler.h" +#include "NumLib/DOF/DOFTableUtil.h" +#include "ParameterLib/Parameter.h" namespace ProcessLib { struct RobinBoundaryConditionData final { - Parameter<double> const& alpha; - Parameter<double> const& u_0; + ParameterLib::Parameter<double> const& alpha; + ParameterLib::Parameter<double> const& u_0; }; template <typename ShapeFunction, typename IntegrationMethod, diff --git a/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.cpp b/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.cpp index 36f30cd6753..58ca3b6e185 100644 --- a/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.cpp +++ b/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.cpp @@ -9,7 +9,7 @@ #include "VariableDependentNeumannBoundaryCondition.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "ParameterLib/Utils.h" namespace ProcessLib { @@ -19,7 +19,7 @@ createVariableDependentNeumannBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters) { DBUG("Constructing VariableDependentNeumann BC from config."); //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__type} @@ -35,28 +35,32 @@ createVariableDependentNeumannBoundaryCondition( auto const constant_name = //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__VariableDependentNeumann__constant_name} config.getConfigParameter<std::string>("constant_name"); - auto const& constant = findParameter<double>(constant_name, parameters, 1); + auto const& constant = + ParameterLib::findParameter<double>(constant_name, parameters, 1); auto const coefficient_current_variable_name = //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__VariableDependentNeumann__coefficient_current_variable_name} config.getConfigParameter<std::string>( "coefficient_current_variable_name"); auto const& coefficient_current_variable = - findParameter<double>(coefficient_current_variable_name, parameters, 1); + ParameterLib::findParameter<double>(coefficient_current_variable_name, + parameters, 1); auto const coefficient_other_variable_name = //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__VariableDependentNeumann__coefficient_other_variable_name} config.getConfigParameter<std::string>( "coefficient_other_variable_name"); auto const& coefficient_other_variable = - findParameter<double>(coefficient_other_variable_name, parameters, 1); + ParameterLib::findParameter<double>(coefficient_other_variable_name, + parameters, 1); auto const coefficient_mixed_variables_name = //! \ogs_file_param{prj__process_variables__process_variable__boundary_conditions__boundary_condition__VariableDependentNeumann__coefficient_mixed_variables_name} config.getConfigParameter<std::string>( "coefficient_mixed_variables_name"); auto const& coefficient_mixed_variables = - findParameter<double>(coefficient_mixed_variables_name, parameters, 1); + ParameterLib::findParameter<double>(coefficient_mixed_variables_name, + parameters, 1); std::vector<MeshLib::Node*> const& bc_nodes = bc_mesh.getNodes(); MeshLib::MeshSubset bc_mesh_subset(bc_mesh, bc_nodes); diff --git a/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.h b/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.h index 82f1170ff5c..0b3606cfcba 100644 --- a/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryCondition.h @@ -26,6 +26,7 @@ createVariableDependentNeumannBoundaryCondition( NumLib::LocalToGlobalIndexMap const& dof_table, int const variable_id, int const component_id, unsigned const integration_order, unsigned const shapefunction_order, unsigned const global_dim, - std::vector<std::unique_ptr<ParameterBase>> const& parameters); + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryConditionLocalAssembler.h index b5e0b0112f1..471c2974b50 100644 --- a/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryConditionLocalAssembler.h +++ b/ProcessLib/BoundaryCondition/VariableDependentNeumannBoundaryConditionLocalAssembler.h @@ -12,7 +12,7 @@ #include "MeshLib/PropertyVector.h" #include "NumLib/DOF/DOFTableUtil.h" #include "NumLib/Function/Interpolation.h" -#include "ProcessLib/Parameter/MeshNodeParameter.h" +#include "ParameterLib/MeshNodeParameter.h" #include "GenericNaturalBoundaryConditionLocalAssembler.h" @@ -20,10 +20,10 @@ namespace ProcessLib { struct VariableDependentNeumannBoundaryConditionData { - Parameter<double> const& constant; - Parameter<double> const& coefficient_current_variable; - Parameter<double> const& coefficient_other_variable; - Parameter<double> const& coefficient_mixed_variables; + ParameterLib::Parameter<double> const& constant; + ParameterLib::Parameter<double> const& coefficient_current_variable; + ParameterLib::Parameter<double> const& coefficient_other_variable; + ParameterLib::Parameter<double> const& coefficient_mixed_variables; // Used for mapping boundary nodes to bulk nodes. NumLib::LocalToGlobalIndexMap const& dof_table_boundary_other_variable; }; diff --git a/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp b/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp index 2c8c5d3e14b..5e9e2afcab0 100644 --- a/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp +++ b/ProcessLib/SourceTerms/CreateNodalSourceTerm.cpp @@ -12,7 +12,7 @@ #include <logog/include/logog.hpp> #include "BaseLib/ConfigTree.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "ParameterLib/Utils.h" #include "NodalSourceTerm.h" @@ -23,7 +23,7 @@ std::unique_ptr<SourceTerm> createNodalSourceTerm( std::unique_ptr<NumLib::LocalToGlobalIndexMap> dof_table, std::size_t const source_term_mesh_id, const int variable_id, const int component_id, - std::vector<std::unique_ptr<ProcessLib::ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters) { DBUG("Constructing NodalSourceTerm from config."); //! \ogs_file_param{prj__process_variables__process_variable__source_terms__source_term__type} @@ -33,7 +33,8 @@ std::unique_ptr<SourceTerm> createNodalSourceTerm( auto const param_name = config.getConfigParameter<std::string>("parameter"); DBUG("Using parameter %s as nodal source term.", param_name.c_str()); - auto& param = findParameter<double>(param_name, parameters, 1); + auto& param = + ParameterLib::findParameter<double>(param_name, parameters, 1); return std::make_unique<NodalSourceTerm>(std::move(dof_table), source_term_mesh_id, st_mesh, diff --git a/ProcessLib/SourceTerms/CreateNodalSourceTerm.h b/ProcessLib/SourceTerms/CreateNodalSourceTerm.h index 7d56a0a1b68..31413ceddca 100644 --- a/ProcessLib/SourceTerms/CreateNodalSourceTerm.h +++ b/ProcessLib/SourceTerms/CreateNodalSourceTerm.h @@ -24,11 +24,14 @@ namespace NumLib { class LocalToGlobalIndexMap; } +namespace ParameterLib +{ +struct ParameterBase; +} namespace ProcessLib { class SourceTerm; -struct ParameterBase; -} // namespace ProcessLib +} namespace ProcessLib { @@ -36,6 +39,7 @@ std::unique_ptr<SourceTerm> createNodalSourceTerm( BaseLib::ConfigTree const& config, MeshLib::Mesh const& st_mesh, std::unique_ptr<NumLib::LocalToGlobalIndexMap> dof_table, std::size_t mesh_id, const int variable_id, const int component_id, - std::vector<std::unique_ptr<ProcessLib::ParameterBase>> const& parameters); + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/SourceTerms/CreateSourceTerm.cpp b/ProcessLib/SourceTerms/CreateSourceTerm.cpp index 2649720dd71..93e148daed4 100644 --- a/ProcessLib/SourceTerms/CreateSourceTerm.cpp +++ b/ProcessLib/SourceTerms/CreateSourceTerm.cpp @@ -24,7 +24,7 @@ std::unique_ptr<SourceTerm> createSourceTerm( const NumLib::LocalToGlobalIndexMap& dof_table_bulk, const MeshLib::Mesh& source_term_mesh, const int variable_id, const unsigned integration_order, const unsigned shapefunction_order, - std::vector<std::unique_ptr<ProcessLib::ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters) { //! \ogs_file_param{prj__process_variables__process_variable__source_terms__source_term__type} auto const type = config.config.peekConfigParameter<std::string>("type"); diff --git a/ProcessLib/SourceTerms/CreateSourceTerm.h b/ProcessLib/SourceTerms/CreateSourceTerm.h index e6a60639b1a..0d0939294ca 100644 --- a/ProcessLib/SourceTerms/CreateSourceTerm.h +++ b/ProcessLib/SourceTerms/CreateSourceTerm.h @@ -12,7 +12,7 @@ #include <vector> #include <memory> -#include "ProcessLib/Parameter/Parameter.h" +#include "ParameterLib/Parameter.h" namespace MeshLib { @@ -38,6 +38,7 @@ std::unique_ptr<SourceTerm> createSourceTerm( const NumLib::LocalToGlobalIndexMap& dof_table, const MeshLib::Mesh& mesh, const int variable_id, const unsigned integration_order, const unsigned shapefunction_order, - std::vector<std::unique_ptr<ProcessLib::ParameterBase>> const& parameters); + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters); } // namespace ProcessLib diff --git a/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.cpp b/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.cpp index 8f59ff3b262..bcb98b017ca 100644 --- a/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.cpp +++ b/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.cpp @@ -13,16 +13,15 @@ #include "BaseLib/FileTools.h" #include "MeshLib/Mesh.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" -#include "ProcessLib/Utils/ProcessUtils.h" +#include "ParameterLib/Utils.h" #include "VolumetricSourceTerm.h" namespace ProcessLib { std::unique_ptr<SourceTerm> createVolumetricSourceTerm( - BaseLib::ConfigTree const& config, - MeshLib::Mesh const& source_term_mesh, + BaseLib::ConfigTree const& config, MeshLib::Mesh const& source_term_mesh, std::unique_ptr<NumLib::LocalToGlobalIndexMap> source_term_dof_table, - std::vector<std::unique_ptr<ParameterBase>> const& parameters, + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters, unsigned const integration_order, unsigned const shapefunction_order) { //! \ogs_file_param{prj__process_variables__process_variable__source_terms__source_term__type} @@ -34,7 +33,7 @@ std::unique_ptr<SourceTerm> createVolumetricSourceTerm( auto const& volumetric_source_term_parameter_name = //! \ogs_file_param{prj__process_variables__process_variable__source_terms__source_term__Volumetric__parameter} config.getConfigParameter<std::string>("parameter"); - auto& volumetric_source_term = findParameter<double>( + auto& volumetric_source_term = ParameterLib::findParameter<double>( volumetric_source_term_parameter_name, parameters, 1); DBUG("Using '%s` as volumetric source term parameter.", diff --git a/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.h b/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.h index 18d2568388a..f60fa69cc51 100644 --- a/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.h +++ b/ProcessLib/SourceTerms/CreateVolumetricSourceTerm.h @@ -27,16 +27,19 @@ namespace NumLib class LocalToGlobalIndexMap; } -namespace ProcessLib +namespace ParameterLib { struct ParameterBase; +} + +namespace ProcessLib +{ class SourceTerm; std::unique_ptr<SourceTerm> createVolumetricSourceTerm( - BaseLib::ConfigTree const& config, - MeshLib::Mesh const& source_term_mesh, + BaseLib::ConfigTree const& config, MeshLib::Mesh const& source_term_mesh, std::unique_ptr<NumLib::LocalToGlobalIndexMap> source_term_dof_table, - std::vector<std::unique_ptr<ParameterBase>> const& parameters, + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters, unsigned const integration_order, unsigned const shapefunction_order); } // namespace ProcessLib diff --git a/ProcessLib/SourceTerms/NodalSourceTerm.cpp b/ProcessLib/SourceTerms/NodalSourceTerm.cpp index e32cd1a2a19..93ba965e2cb 100644 --- a/ProcessLib/SourceTerms/NodalSourceTerm.cpp +++ b/ProcessLib/SourceTerms/NodalSourceTerm.cpp @@ -19,7 +19,7 @@ NodalSourceTerm::NodalSourceTerm( MeshLib::Mesh const& st_mesh, const int variable_id, const int component_id, - Parameter<double> const& parameter) + ParameterLib::Parameter<double> const& parameter) : SourceTerm(std::move(source_term_dof_table)), _source_term_mesh_id(source_term_mesh_id), _st_mesh(st_mesh), @@ -43,7 +43,7 @@ void NodalSourceTerm::integrate(const double t, GlobalVector const& /*x*/, auto const index = _source_term_dof_table->getGlobalIndex( l, _variable_id, _component_id); - SpatialPosition pos; + ParameterLib::SpatialPosition pos; pos.setNodeID(node_id); b.add(index, _parameter(t, pos).front()); diff --git a/ProcessLib/SourceTerms/NodalSourceTerm.h b/ProcessLib/SourceTerms/NodalSourceTerm.h index 78f74842b97..931577ec6e9 100644 --- a/ProcessLib/SourceTerms/NodalSourceTerm.h +++ b/ProcessLib/SourceTerms/NodalSourceTerm.h @@ -20,7 +20,7 @@ public: std::unique_ptr<NumLib::LocalToGlobalIndexMap> dof_table, std::size_t const source_term_mesh_id, MeshLib::Mesh const& st_mesh, const int variable_id, const int component_id, - Parameter<double> const& parameter); + ParameterLib::Parameter<double> const& parameter); void integrate(const double t, GlobalVector const& x, GlobalVector& b, GlobalMatrix* jac) const override; @@ -30,7 +30,7 @@ private: MeshLib::Mesh const& _st_mesh; int const _variable_id; int const _component_id; - Parameter<double> const& _parameter; + ParameterLib::Parameter<double> const& _parameter; }; } // namespace ProcessLib diff --git a/ProcessLib/SourceTerms/Python/PythonSourceTerm.cpp b/ProcessLib/SourceTerms/Python/PythonSourceTerm.cpp index ae85a23db8c..06401a8660b 100644 --- a/ProcessLib/SourceTerms/Python/PythonSourceTerm.cpp +++ b/ProcessLib/SourceTerms/Python/PythonSourceTerm.cpp @@ -15,7 +15,6 @@ #include "MeshLib/MeshSearch/NodeSearch.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" #include "ProcessLib/Utils/CreateLocalAssemblers.h" -#include "ProcessLib/Utils/ProcessUtils.h" #include "PythonSourceTermLocalAssembler.h" namespace diff --git a/ProcessLib/SourceTerms/SourceTerm.h b/ProcessLib/SourceTerms/SourceTerm.h index 9ae1248df78..1174e24f38d 100644 --- a/ProcessLib/SourceTerms/SourceTerm.h +++ b/ProcessLib/SourceTerms/SourceTerm.h @@ -12,7 +12,7 @@ #include <memory> #include "NumLib/DOF/LocalToGlobalIndexMap.h" -#include "ProcessLib/Parameter/Parameter.h" +#include "ParameterLib/Parameter.h" namespace ProcessLib { diff --git a/ProcessLib/SourceTerms/SourceTermCollection.h b/ProcessLib/SourceTerms/SourceTermCollection.h index b27a51e8788..5351feb1c3d 100644 --- a/ProcessLib/SourceTerms/SourceTermCollection.h +++ b/ProcessLib/SourceTerms/SourceTermCollection.h @@ -18,7 +18,8 @@ class SourceTermCollection final { public: explicit SourceTermCollection( - std::vector<std::unique_ptr<ParameterBase>> const& parameters) + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + parameters) : _parameters(parameters) { } @@ -34,7 +35,8 @@ public: private: std::vector<std::unique_ptr<SourceTerm>> _source_terms; - std::vector<std::unique_ptr<ParameterBase>> const& _parameters; + std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& + _parameters; }; } // namespace ProcessLib diff --git a/ProcessLib/SourceTerms/VolumetricSourceTerm.cpp b/ProcessLib/SourceTerms/VolumetricSourceTerm.cpp index 55db90e52df..a973196058c 100644 --- a/ProcessLib/SourceTerms/VolumetricSourceTerm.cpp +++ b/ProcessLib/SourceTerms/VolumetricSourceTerm.cpp @@ -17,7 +17,7 @@ VolumetricSourceTerm::VolumetricSourceTerm( MeshLib::Mesh const& source_term_mesh, std::unique_ptr<NumLib::LocalToGlobalIndexMap> source_term_dof_table, unsigned const integration_order, unsigned const shapefunction_order, - Parameter<double> const& volumetric_source_term) + ParameterLib::Parameter<double> const& volumetric_source_term) : SourceTerm(std::move(source_term_dof_table)), _volumetric_source_term(volumetric_source_term) { diff --git a/ProcessLib/SourceTerms/VolumetricSourceTerm.h b/ProcessLib/SourceTerms/VolumetricSourceTerm.h index 92e3bb7c740..dcf3e55ae81 100644 --- a/ProcessLib/SourceTerms/VolumetricSourceTerm.h +++ b/ProcessLib/SourceTerms/VolumetricSourceTerm.h @@ -24,13 +24,13 @@ public: MeshLib::Mesh const& source_term_mesh, std::unique_ptr<NumLib::LocalToGlobalIndexMap> source_term_dof_table, unsigned const integration_order, unsigned const shapefunction_order, - Parameter<double> const& volumetric_source_term); + ParameterLib::Parameter<double> const& volumetric_source_term); void integrate(const double t, GlobalVector const& x, GlobalVector& b, GlobalMatrix* jac) const override; private: - Parameter<double> const& _volumetric_source_term; + ParameterLib::Parameter<double> const& _volumetric_source_term; std::vector<std::unique_ptr<VolumetricSourceTermLocalAssemblerInterface>> _local_assemblers; }; diff --git a/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h b/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h index 9e3d91ed394..b369b7f02c1 100644 --- a/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h +++ b/ProcessLib/SourceTerms/VolumetricSourceTermFEM.h @@ -14,8 +14,8 @@ #include "MathLib/LinAlg/Eigen/EigenMapTools.h" #include "NumLib/DOF/DOFTableUtil.h" #include "NumLib/Fem/FiniteElement/TemplateIsoparametric.h" +#include "ParameterLib/Parameter.h" #include "ProcessLib/LocalAssemblerTraits.h" -#include "ProcessLib/Parameter/Parameter.h" #include "ProcessLib/Utils/InitShapeMatrices.h" namespace ProcessLib @@ -65,7 +65,7 @@ public: std::size_t const local_matrix_size, bool is_axially_symmetric, unsigned const integration_order, - Parameter<double> const& volumetric_source_term) + ParameterLib::Parameter<double> const& volumetric_source_term) : _volumetric_source_term(volumetric_source_term), _integration_method(integration_order), _local_rhs(local_matrix_size) @@ -97,7 +97,7 @@ public: unsigned const n_integration_points = _integration_method.getNumberOfPoints(); - SpatialPosition pos; + ParameterLib::SpatialPosition pos; pos.setElementID(id); for (unsigned ip = 0; ip < n_integration_points; ip++) @@ -113,7 +113,7 @@ public: } private: - Parameter<double> const& _volumetric_source_term; + ParameterLib::Parameter<double> const& _volumetric_source_term; IntegrationMethod const _integration_method; std::vector< -- GitLab