diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp index d9107b04979654a0e1cb4171ded66acbb17a6d4d..34b533e3ab20ae09b166407fe0043108d0f599f4 100644 --- a/ProcessLib/Process.cpp +++ b/ProcessLib/Process.cpp @@ -190,6 +190,15 @@ MathLib::MatrixSpecifications Process::getMatrixSpecifications( &l.getGhostIndices(), &_sparsity_pattern}; } +void Process::checkElementDeactivation(double const time, const int process_id) +{ + auto const& variables_per_process = getProcessVariables(process_id); + for (auto const& variable : variables_per_process) + { + variable.get().checkElementDeactivation(time); + } +} + void Process::preAssemble(const double t, GlobalVector const& x) { preAssembleConcreteProcess(t, x); diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h index 496f136889e3c577094378cf27f8086336f8da0e..8d6984e5bd30485c3b9e3fefdd75738ad58694c8 100644 --- a/ProcessLib/Process.h +++ b/ProcessLib/Process.h @@ -90,6 +90,8 @@ public: _coupled_solutions = coupled_solutions; } + void checkElementDeactivation(double const time, const int process_id); + bool isMonolithicSchemeUsed() const { return _use_monolithic_scheme; } virtual void setCoupledTermForTheStaggeredSchemeToLocalAssemblers() {} void preAssemble(const double t, GlobalVector const& x) override final; @@ -284,7 +286,7 @@ protected: GlobalSparsityPattern _sparsity_pattern; -private: +protected: /// Variables used by this process. For the monolithic scheme or a /// single process, the size of the outer vector is one. For the /// staggered scheme, the size of the outer vector is the number of the @@ -292,7 +294,6 @@ private: std::vector<std::vector<std::reference_wrapper<ProcessVariable>>> _process_variables; -protected: /// Vector for boundary conditions. For the monolithic scheme or a /// single process, the size of the vector is one. For the staggered /// scheme, the size of vector is the number of the coupled processes.