From d619fc81a07b98eefecdaa94198717e79e3e2d99 Mon Sep 17 00:00:00 2001 From: Wenqing Wang <wenqing.wang@ufz.de> Date: Wed, 19 Apr 2023 12:40:09 +0200 Subject: [PATCH] [Process] Added two arguments to postTimestep and postTimestepConcrete of local assemblers. --- ProcessLib/ComponentTransport/ComponentTransportFEM.h | 4 +++- .../ComponentTransport/ComponentTransportProcess.cpp | 2 +- ProcessLib/HydroMechanics/HydroMechanicsFEM.h | 5 +++-- ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp | 3 ++- ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp | 2 +- .../LocalAssembler/HydroMechanicsLocalAssemblerInterface.h | 5 +++-- ProcessLib/LocalAssemblerInterface.cpp | 6 ++++-- ProcessLib/LocalAssemblerInterface.h | 7 +++++-- ProcessLib/PhaseField/PhaseFieldFEM.h | 5 +++-- ProcessLib/RichardsMechanics/RichardsMechanicsFEM.h | 5 +++-- ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp | 3 ++- ProcessLib/SmallDeformation/SmallDeformationFEM.h | 4 +++- ProcessLib/SmallDeformation/SmallDeformationProcess.cpp | 3 ++- .../SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h | 4 +++- .../SmallDeformationNonlocalProcess.cpp | 3 ++- ProcessLib/StokesFlow/StokesFlowProcess.cpp | 3 ++- ProcessLib/TH2M/TH2MFEM.h | 5 +++-- ProcessLib/TH2M/TH2MProcess.cpp | 3 ++- ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM.h | 5 +++-- .../ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp | 3 ++- .../ThermoMechanicalPhaseFieldFEM.h | 4 +++- .../ThermoMechanicalPhaseFieldProcess.cpp | 2 +- ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h | 4 +++- ProcessLib/ThermoMechanics/ThermoMechanicsProcess.cpp | 3 ++- ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowFEM.h | 5 +++-- .../ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp | 3 ++- .../ThermoRichardsMechanics/LocalAssemblerInterface.h | 5 +++-- .../ThermoRichardsMechanicsProcess.cpp | 3 ++- 28 files changed, 71 insertions(+), 38 deletions(-) diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h index 13e2f0d3e87..776fc1c74fa 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h +++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h @@ -1807,7 +1807,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp index 652647b12d1..744f7eafad3 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp @@ -443,7 +443,7 @@ void ComponentTransportProcess::postTimestepConcreteProcess( GlobalExecutor::executeSelectedMemberOnDereferenced( &ComponentTransportLocalAssemblerInterface::postTimestep, _local_assemblers, pv.getActiveElementIDs(), dof_tables, x, x_dot, t, - dt); + dt, _use_monolithic_scheme, process_id); if (!_surfaceflux) // computing the surfaceflux is optional { diff --git a/ProcessLib/HydroMechanics/HydroMechanicsFEM.h b/ProcessLib/HydroMechanics/HydroMechanicsFEM.h index 4c8a249bf4b..7c902c4ca2a 100644 --- a/ProcessLib/HydroMechanics/HydroMechanicsFEM.h +++ b/ProcessLib/HydroMechanics/HydroMechanicsFEM.h @@ -257,8 +257,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp b/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp index 21623bc27a3..e7add25eb26 100644 --- a/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp +++ b/ProcessLib/HydroMechanics/HydroMechanicsProcess.cpp @@ -405,7 +405,8 @@ void HydroMechanicsProcess<DisplacementDim>::postTimestepConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerIF::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int DisplacementDim> diff --git a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp index b542000a637..37fa1296607 100644 --- a/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp +++ b/ProcessLib/LIE/HydroMechanics/HydroMechanicsProcess.cpp @@ -469,7 +469,7 @@ void HydroMechanicsProcess<GlobalDim>::postTimestepConcreteProcess( GlobalExecutor::executeSelectedMemberOnDereferenced( &HydroMechanicsLocalAssemblerInterface::postTimestep, _local_assemblers, pv.getActiveElementIDs(), dof_tables, x, x_dot, - t, dt); + t, dt, _use_monolithic_scheme, process_id); } DBUG("Compute the secondary variables for HydroMechanicsProcess."); diff --git a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerInterface.h b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerInterface.h index deee7e49ed8..8abab69a84d 100644 --- a/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerInterface.h +++ b/ProcessLib/LIE/HydroMechanics/LocalAssembler/HydroMechanicsLocalAssemblerInterface.h @@ -101,8 +101,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& local_x_, Eigen::VectorXd const& /*local_x_dot*/, - const double t, - double const dt) override + const double t, double const dt, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { _local_u.setZero(); for (Eigen::Index i = 0; i < local_x_.rows(); i++) diff --git a/ProcessLib/LocalAssemblerInterface.cpp b/ProcessLib/LocalAssemblerInterface.cpp index 87e16e27072..28e3a937e25 100644 --- a/ProcessLib/LocalAssemblerInterface.cpp +++ b/ProcessLib/LocalAssemblerInterface.cpp @@ -132,7 +132,8 @@ void LocalAssemblerInterface::postTimestep( std::size_t const mesh_item_id, std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_tables, std::vector<GlobalVector*> const& x, - std::vector<GlobalVector*> const& x_dot, double const t, double const dt) + std::vector<GlobalVector*> const& x_dot, double const t, double const dt, + bool const use_monolithic_scheme, int const process_id) { std::vector<double> local_x_vec; std::vector<double> local_x_dot_vec; @@ -155,7 +156,8 @@ void LocalAssemblerInterface::postTimestep( auto const local_x = MathLib::toVector(local_x_vec); auto const local_x_dot = MathLib::toVector(local_x_dot_vec); - postTimestepConcrete(local_x, local_x_dot, t, dt); + postTimestepConcrete(local_x, local_x_dot, t, dt, use_monolithic_scheme, + process_id); } void LocalAssemblerInterface::postNonLinearSolver( diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h index fe30f2fd389..5073bbd7bb5 100644 --- a/ProcessLib/LocalAssemblerInterface.h +++ b/ProcessLib/LocalAssemblerInterface.h @@ -92,7 +92,8 @@ public: std::vector<NumLib::LocalToGlobalIndexMap const*> const& dof_tables, std::vector<GlobalVector*> const& x, std::vector<GlobalVector*> const& x_dot, double const t, - double const dt); + double const dt, bool const use_monolithic_scheme, + int const process_id); void postNonLinearSolver(std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const& dof_table, @@ -137,7 +138,9 @@ private: virtual void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, double const /*dt*/) + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) { } diff --git a/ProcessLib/PhaseField/PhaseFieldFEM.h b/ProcessLib/PhaseField/PhaseFieldFEM.h index 3865e5e5b10..888d74db655 100644 --- a/ProcessLib/PhaseField/PhaseFieldFEM.h +++ b/ProcessLib/PhaseField/PhaseFieldFEM.h @@ -291,8 +291,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/RichardsMechanics/RichardsMechanicsFEM.h b/ProcessLib/RichardsMechanics/RichardsMechanicsFEM.h index 0f93231ebeb..7ba7308163c 100644 --- a/ProcessLib/RichardsMechanics/RichardsMechanicsFEM.h +++ b/ProcessLib/RichardsMechanics/RichardsMechanicsFEM.h @@ -154,8 +154,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp b/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp index 5b15d385cc2..783912828cb 100644 --- a/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp +++ b/ProcessLib/RichardsMechanics/RichardsMechanicsProcess.cpp @@ -436,7 +436,8 @@ void RichardsMechanicsProcess<DisplacementDim>::postTimestepConcreteProcess( getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerIF::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } } diff --git a/ProcessLib/SmallDeformation/SmallDeformationFEM.h b/ProcessLib/SmallDeformation/SmallDeformationFEM.h index 235cfea517f..8ad38715276 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationFEM.h +++ b/ProcessLib/SmallDeformation/SmallDeformationFEM.h @@ -391,7 +391,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& local_x, Eigen::VectorXd const& local_x_dot, - double const t, double const dt) override + double const t, double const dt, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp b/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp index 9095b97403e..ea587887a63 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp +++ b/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp @@ -203,7 +203,8 @@ void SmallDeformationProcess<DisplacementDim>::postTimestepConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerInterface::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); std::unique_ptr<GlobalVector> material_forces; ProcessLib::SmallDeformation::writeMaterialForces( diff --git a/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h b/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h index e445b43af46..402d34b43b8 100644 --- a/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h +++ b/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalFEM.h @@ -544,7 +544,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalProcess.cpp b/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalProcess.cpp index 721b7067497..ad0a58b2f0b 100644 --- a/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalProcess.cpp +++ b/ProcessLib/SmallDeformationNonlocal/SmallDeformationNonlocalProcess.cpp @@ -286,7 +286,8 @@ void SmallDeformationNonlocalProcess<DisplacementDim>:: ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerInterface::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int DisplacementDim> diff --git a/ProcessLib/StokesFlow/StokesFlowProcess.cpp b/ProcessLib/StokesFlow/StokesFlowProcess.cpp index 14156ae3901..c0c78aeb6ed 100644 --- a/ProcessLib/StokesFlow/StokesFlowProcess.cpp +++ b/ProcessLib/StokesFlow/StokesFlowProcess.cpp @@ -210,7 +210,8 @@ void StokesFlowProcess<GlobalDim>::postTimestepConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &StokesFlowLocalAssemblerInterface::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int GlobalDim> diff --git a/ProcessLib/TH2M/TH2MFEM.h b/ProcessLib/TH2M/TH2MFEM.h index cc077ef17ea..bab4eaf8dae 100644 --- a/ProcessLib/TH2M/TH2MFEM.h +++ b/ProcessLib/TH2M/TH2MFEM.h @@ -150,8 +150,9 @@ private: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/TH2M/TH2MProcess.cpp b/ProcessLib/TH2M/TH2MProcess.cpp index 537d011d8a4..632606aa0f0 100644 --- a/ProcessLib/TH2M/TH2MProcess.cpp +++ b/ProcessLib/TH2M/TH2MProcess.cpp @@ -373,7 +373,8 @@ void TH2MProcess<DisplacementDim>::postTimestepConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerInterface::postTimestep, local_assemblers_, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int DisplacementDim> diff --git a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM.h b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM.h index 90bb7886c90..21728ec8ab7 100644 --- a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM.h +++ b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsFEM.h @@ -161,8 +161,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp index 3b19cff592d..2d6aa4cdeb9 100644 --- a/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp +++ b/ProcessLib/ThermoHydroMechanics/ThermoHydroMechanicsProcess.cpp @@ -390,7 +390,8 @@ void ThermoHydroMechanicsProcess<DisplacementDim>::postTimestepConcreteProcess( GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerInterface::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int DisplacementDim> diff --git a/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h b/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h index c57fa88ff7f..7470198a693 100644 --- a/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h +++ b/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldFEM.h @@ -254,7 +254,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldProcess.cpp b/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldProcess.cpp index 1a948966d5a..429eab48971 100644 --- a/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldProcess.cpp +++ b/ProcessLib/ThermoMechanicalPhaseField/ThermoMechanicalPhaseFieldProcess.cpp @@ -301,7 +301,7 @@ void ThermoMechanicalPhaseFieldProcess<DisplacementDim>:: GlobalExecutor::executeSelectedMemberOnDereferenced( &ThermoMechanicalPhaseFieldLocalAssemblerInterface::postTimestep, _local_assemblers, pv.getActiveElementIDs(), dof_tables, x, x_dot, t, - dt); + dt, _use_monolithic_scheme, process_id); } template <int DisplacementDim> diff --git a/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h b/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h index eae77e1a27e..72a3660828d 100644 --- a/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h +++ b/ProcessLib/ThermoMechanics/ThermoMechanicsFEM.h @@ -226,7 +226,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/ThermoMechanics/ThermoMechanicsProcess.cpp b/ProcessLib/ThermoMechanics/ThermoMechanicsProcess.cpp index efd54a16250..de19357e8d1 100644 --- a/ProcessLib/ThermoMechanics/ThermoMechanicsProcess.cpp +++ b/ProcessLib/ThermoMechanics/ThermoMechanicsProcess.cpp @@ -351,7 +351,8 @@ void ThermoMechanicsProcess<DisplacementDim>::postTimestepConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerInterface::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int DisplacementDim> diff --git a/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowFEM.h b/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowFEM.h index 0dd5422503e..8478acdc518 100644 --- a/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowFEM.h +++ b/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowFEM.h @@ -97,8 +97,9 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = _integration_method.getNumberOfPoints(); diff --git a/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp b/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp index ea855b43a2f..e251502e914 100644 --- a/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp +++ b/ProcessLib/ThermoRichardsFlow/ThermoRichardsFlowProcess.cpp @@ -188,7 +188,8 @@ void ThermoRichardsFlowProcess::postTimestepConcreteProcess( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerIF::postTimestep, _local_assemblers, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } void ThermoRichardsFlowProcess::computeSecondaryVariableConcrete( diff --git a/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h b/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h index e3ba811b6d4..ceb4d78750b 100644 --- a/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h +++ b/ProcessLib/ThermoRichardsMechanics/LocalAssemblerInterface.h @@ -106,8 +106,9 @@ struct LocalAssemblerInterface : public ProcessLib::LocalAssemblerInterface, void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, Eigen::VectorXd const& /*local_x_dot*/, - double const /*t*/, - double const /*dt*/) override + double const /*t*/, double const /*dt*/, + bool const /*use_monolithic_scheme*/, + int const /*process_id*/) override { unsigned const n_integration_points = integration_method_.getNumberOfPoints(); diff --git a/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp b/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp index c4204f086ac..feebf63accb 100644 --- a/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp +++ b/ProcessLib/ThermoRichardsMechanics/ThermoRichardsMechanicsProcess.cpp @@ -288,7 +288,8 @@ void ThermoRichardsMechanicsProcess<DisplacementDim, ConstitutiveTraits>:: ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0]; GlobalExecutor::executeSelectedMemberOnDereferenced( &LocalAssemblerIF::postTimestep, local_assemblers_, - pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt); + pv.getActiveElementIDs(), dof_tables, x, x_dot, t, dt, + _use_monolithic_scheme, process_id); } template <int DisplacementDim, typename ConstitutiveTraits> -- GitLab