From e13210fb4402f8d26827cfbe04933b9dc9f22ecf Mon Sep 17 00:00:00 2001 From: Christoph Lehmann <christoph.lehmann@ufz.de> Date: Wed, 17 Aug 2016 17:16:54 +0200 Subject: [PATCH] [PL] BC renamed apply -> applyNaturalBC --- ProcessLib/BoundaryCondition/BoundaryCondition.h | 12 +++++++++--- .../BoundaryConditionCollection.cpp | 9 +++++---- .../BoundaryCondition/BoundaryConditionCollection.h | 4 ++-- .../GenericNaturalBoundaryCondition-impl.h | 8 ++++---- .../GenericNaturalBoundaryCondition.h | 8 ++++---- .../UniformDirichletBoundaryCondition.h | 5 ----- ProcessLib/Process.cpp | 2 +- 7 files changed, 25 insertions(+), 23 deletions(-) diff --git a/ProcessLib/BoundaryCondition/BoundaryCondition.h b/ProcessLib/BoundaryCondition/BoundaryCondition.h index c284739c87b..960f830ca5c 100644 --- a/ProcessLib/BoundaryCondition/BoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/BoundaryCondition.h @@ -34,14 +34,20 @@ class BoundaryCondition public: //! Applies natural BCs (i.e. non-Dirichlet BCs) to the stiffness matrix //! \c K and the vector \c b. - virtual void apply(const double t, GlobalVector const& x, GlobalMatrix& K, - GlobalVector& b) = 0; + virtual void applyNaturalBC(const double /*t*/, GlobalVector const& /*x*/, + GlobalMatrix& /*K*/, GlobalVector& /*b*/) + { + // By default it is assumed that the BC is not a natural BC. Therefore + // there is nothing to do here. + } - // TODO docu + //! Writes the values of Dirichlet BCs to \c bc_values. virtual void getDirichletBCValues( const double /*t*/, NumLib::IndexValueVector<GlobalIndexType>& /*bc_values*/) const { + // By default it is assumed that the BC is not a Dirichlet BC. Therefore + // there is nothing to do here. } virtual ~BoundaryCondition() = default; diff --git a/ProcessLib/BoundaryCondition/BoundaryConditionCollection.cpp b/ProcessLib/BoundaryCondition/BoundaryConditionCollection.cpp index 889d6cd1a3b..bd6e4f844a1 100644 --- a/ProcessLib/BoundaryCondition/BoundaryConditionCollection.cpp +++ b/ProcessLib/BoundaryCondition/BoundaryConditionCollection.cpp @@ -11,12 +11,13 @@ namespace ProcessLib { -void BoundaryConditionCollection::apply(const double t, GlobalVector const& x, - GlobalMatrix& K, - GlobalVector& b) +void BoundaryConditionCollection::applyNaturalBC(const double t, + GlobalVector const& x, + GlobalMatrix& K, + GlobalVector& b) { for (auto const& bc : _boundary_conditions) - bc->apply(t, x, K, b); + bc->applyNaturalBC(t, x, K, b); } void BoundaryConditionCollection::addBCsForProcessVariables( diff --git a/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h b/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h index 140721a5289..902418c758e 100644 --- a/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h +++ b/ProcessLib/BoundaryCondition/BoundaryConditionCollection.h @@ -24,8 +24,8 @@ public: { } - void apply(const double t, GlobalVector const& x, GlobalMatrix& K, - GlobalVector& b); + void applyNaturalBC(const double t, GlobalVector const& x, GlobalMatrix& K, + GlobalVector& b); std::vector<NumLib::IndexValueVector<GlobalIndexType>> const* getKnownSolutions(double const t) const diff --git a/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition-impl.h b/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition-impl.h index 769b72e06ce..8c0db0201b8 100644 --- a/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition-impl.h +++ b/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition-impl.h @@ -74,10 +74,10 @@ template <typename BoundaryConditionData, class LocalAssemblerImplementation> void GenericNaturalBoundaryCondition< BoundaryConditionData, - LocalAssemblerImplementation>::apply(const double t, - const GlobalVector& x, - GlobalMatrix& K, - GlobalVector& b) + LocalAssemblerImplementation>::applyNaturalBC(const double t, + const GlobalVector& x, + GlobalMatrix& K, + GlobalVector& b) { GlobalExecutor::executeMemberOnDereferenced( &GenericNaturalBoundaryConditionLocalAssemblerInterface::assemble, diff --git a/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition.h b/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition.h index bf930784154..f40fc809009 100644 --- a/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/GenericNaturalBoundaryCondition.h @@ -41,10 +41,10 @@ public: /// Calls local assemblers which calculate their contributions to the global /// matrix and the right-hand-side. - void apply(const double t, - GlobalVector const& x, - GlobalMatrix& K, - GlobalVector& b) override; + void applyNaturalBC(const double t, + GlobalVector const& x, + GlobalMatrix& K, + GlobalVector& b) override; private: /// Data used in the assembly of the specific boundary condition. diff --git a/ProcessLib/BoundaryCondition/UniformDirichletBoundaryCondition.h b/ProcessLib/BoundaryCondition/UniformDirichletBoundaryCondition.h index 5044da0ba3b..79479f13705 100644 --- a/ProcessLib/BoundaryCondition/UniformDirichletBoundaryCondition.h +++ b/ProcessLib/BoundaryCondition/UniformDirichletBoundaryCondition.h @@ -29,11 +29,6 @@ public: { } - void apply(const double, GlobalVector const&, GlobalMatrix&, - GlobalVector&) override - { - } - void getDirichletBCValues( const double /*t*/, NumLib::IndexValueVector<GlobalIndexType>& bc_values) const diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp index 1b325595532..478919f7fc5 100644 --- a/ProcessLib/Process.cpp +++ b/ProcessLib/Process.cpp @@ -112,7 +112,7 @@ void Process::assemble(const double t, GlobalVector const& x, GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b) { assembleConcreteProcess(t, x, M, K, b); - _boundary_conditions.apply(t, x, K, b); + _boundary_conditions.applyNaturalBC(t, x, K, b); } void Process::assembleJacobian(const double t, GlobalVector const& x, -- GitLab