Skip to content

Commit 9e65f78

Browse files
committed
Remove pre_evaluate for fluid and poro
1 parent d333138 commit 9e65f78

12 files changed

+29
-137
lines changed

src/fluid/4C_fluid_implicit_integration.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
#include "4C_fluid_ele.hpp"
2424
#include "4C_fluid_ele_action.hpp"
2525
#include "4C_fluid_ele_intfaces_calc.hpp"
26+
#include "4C_fluid_ele_parameter_intface.hpp"
2627
#include "4C_fluid_impedancecondition.hpp"
2728
#include "4C_fluid_meshtying.hpp"
2829
#include "4C_fluid_result_test.hpp"
@@ -5494,8 +5495,6 @@ void FLD::FluidImplicitTimeInt::set_face_general_fluid_parameter()
54945495
{
54955496
Teuchos::ParameterList faceparams;
54965497

5497-
faceparams.set<FLD::Action>("action", FLD::set_general_face_fluid_parameter);
5498-
54995498
// set general fluid face parameters are contained in the following two sublists
55005499
faceparams.sublist("EDGE-BASED STABILIZATION") = params_->sublist("EDGE-BASED STABILIZATION");
55015500

@@ -5509,9 +5508,10 @@ void FLD::FluidImplicitTimeInt::set_face_general_fluid_parameter()
55095508
if (physicaltype_ == Inpar::FLUID::oseen)
55105509
faceparams.set<int>("OSEENFIELDFUNCNO", params_->get<int>("OSEENFIELDFUNCNO"));
55115510

5512-
5513-
Discret::Elements::FluidIntFaceType::instance().pre_evaluate(
5514-
*discret_, faceparams, nullptr, nullptr, nullptr, nullptr, nullptr);
5511+
Discret::Elements::FluidEleParameterIntFace* fldintfacepara =
5512+
Discret::Elements::FluidEleParameterIntFace::instance();
5513+
fldintfacepara->set_face_general_fluid_parameter(
5514+
faceparams, Core::Communication::my_mpi_rank(discret_->get_comm()));
55155515
}
55165516

55175517
// -------------------------------------------------------------------

src/fluid/4C_fluid_timint_poro.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
#include "4C_fem_general_node.hpp"
1111
#include "4C_fluid_ele_action.hpp"
12+
#include "4C_fluid_ele_parameter_poro.hpp"
1213
#include "4C_global_data.hpp"
1314
#include "4C_io.hpp"
1415
#include "4C_linalg_utils_sparse_algebra_math.hpp"
@@ -78,8 +79,6 @@ void FLD::TimIntPoro::set_element_custom_parameter()
7879
{
7980
Teuchos::ParameterList eleparams;
8081

81-
eleparams.set<FLD::Action>("action", FLD::set_poro_parameter);
82-
8382
// set general element parameters
8483
eleparams.set("form of convective term", convform_);
8584
eleparams.set<Inpar::FLUID::LinearisationAction>("Linearisation", newton_);
@@ -96,8 +95,10 @@ void FLD::TimIntPoro::set_element_custom_parameter()
9695
params_->sublist("RESIDUAL-BASED STABILIZATION");
9796
eleparams.sublist("EDGE-BASED STABILIZATION") = params_->sublist("EDGE-BASED STABILIZATION");
9897

99-
// call standard loop over elements
100-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
98+
Discret::Elements::FluidEleParameterPoro* fldpara =
99+
Discret::Elements::FluidEleParameterPoro::instance();
100+
fldpara->set_element_poro_parameter(
101+
eleparams, Core::Communication::my_mpi_rank(discret_->get_comm()));
101102
}
102103

103104
void FLD::TimIntPoro::set_initial_porosity_field(

src/fluid_ele/4C_fluid_ele.hpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -725,14 +725,6 @@ namespace Discret
725725
return nullspace;
726726
}
727727

728-
/// pre-evaluation
729-
void pre_evaluate(Core::FE::Discretization& dis, Teuchos::ParameterList& p,
730-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix1,
731-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix2,
732-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector1,
733-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector2,
734-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector3) override;
735-
736728
private:
737729
static FluidIntFaceType instance_;
738730
};

src/fluid_ele/4C_fluid_ele_action.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,10 @@ namespace FLD
5252
project_fluid_field,
5353
project_hdg_force_on_dof_vec_for_hit,
5454
project_hdg_initial_field_for_hit,
55-
set_general_face_fluid_parameter,
56-
set_general_face_xfem_parameter,
5755
set_general_fluid_parameter,
5856
set_general_fluid_xfem_parameter,
5957
set_loma_parameter,
6058
set_mean_Cai,
61-
set_poro_parameter,
6259
set_time_parameter,
6360
set_turbulence_parameter,
6461
tauw_via_gradient,

src/fluid_ele/4C_fluid_ele_evaluate.cpp

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -756,37 +756,4 @@ int Discret::Elements::Fluid::evaluate_neumann(Teuchos::ParameterList& params,
756756
return 0;
757757
}
758758

759-
760-
/*----------------------------------------------------------------------*
761-
| pre-evaluation of FluidIntFaceType class (public) schott Jun14|
762-
*----------------------------------------------------------------------*/
763-
void Discret::Elements::FluidIntFaceType::pre_evaluate(Core::FE::Discretization& dis,
764-
Teuchos::ParameterList& p, std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix1,
765-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix2,
766-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector1,
767-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector2,
768-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector3)
769-
{
770-
const auto action = Teuchos::getIntegralValue<FLD::Action>(p, "action");
771-
772-
if (action == FLD::set_general_face_fluid_parameter)
773-
{
774-
Discret::Elements::FluidEleParameterIntFace* fldintfacepara =
775-
Discret::Elements::FluidEleParameterIntFace::instance();
776-
fldintfacepara->set_face_general_fluid_parameter(
777-
p, Core::Communication::my_mpi_rank(dis.get_comm()));
778-
}
779-
else if (action == FLD::set_general_face_xfem_parameter)
780-
{
781-
Discret::Elements::FluidEleParameterIntFace* fldintfacepara =
782-
Discret::Elements::FluidEleParameterIntFace::instance();
783-
fldintfacepara->set_face_general_xfem_parameter(
784-
p, Core::Communication::my_mpi_rank(dis.get_comm()));
785-
}
786-
else
787-
FOUR_C_THROW("unknown action type for FluidIntFaceType::pre_evaluate");
788-
789-
return;
790-
}
791-
792759
FOUR_C_NAMESPACE_CLOSE

src/fluid_ele/4C_fluid_ele_poro_evaluate.cpp

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,9 @@ void Discret::Elements::FluidPoroEleType::pre_evaluate(Core::FE::Discretization&
2222
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector2,
2323
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector3)
2424
{
25-
const auto action = Teuchos::getIntegralValue<FLD::Action>(p, "action");
26-
27-
// poro specific actions
28-
if (action == FLD::set_poro_parameter)
29-
{
30-
Discret::Elements::FluidEleParameterPoro* fldpara =
31-
Discret::Elements::FluidEleParameterPoro::instance();
32-
fldpara->set_element_poro_parameter(p, Core::Communication::my_mpi_rank(dis.get_comm()));
33-
}
34-
else
35-
{
36-
// call standard fluid type
37-
FluidType::pre_evaluate(
38-
dis, p, systemmatrix1, systemmatrix2, systemvector1, systemvector2, systemvector3);
39-
}
25+
// call standard fluid type
26+
FluidType::pre_evaluate(
27+
dis, p, systemmatrix1, systemmatrix2, systemvector1, systemvector2, systemvector3);
4028
}
4129

4230
int Discret::Elements::FluidPoro::evaluate(Teuchos::ParameterList& params,
@@ -119,8 +107,6 @@ int Discret::Elements::FluidPoro::evaluate(Teuchos::ParameterList& params,
119107
->evaluate_service(
120108
this, params, mat, discretization, lm, elemat1, elemat2, elevec1, elevec2, elevec3);
121109
}
122-
case FLD::set_poro_parameter:
123-
break;
124110
default:
125111
// call evaluate of standard fluid
126112
return Fluid::evaluate(

src/fluid_xfluid/4C_fluid_xfluid.cpp

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "4C_fluid_ele_action.hpp"
1919
#include "4C_fluid_ele_factory.hpp"
2020
#include "4C_fluid_ele_interface.hpp"
21+
#include "4C_fluid_ele_parameter_intface.hpp"
2122
#include "4C_fluid_utils_infnormscaling.hpp"
2223
#include "4C_fluid_utils_mapextractor.hpp"
2324
#include "4C_fluid_xfluid_outputservice.hpp"
@@ -464,8 +465,6 @@ void FLD::XFluid::set_face_general_fluid_xfem_parameter()
464465
{
465466
Teuchos::ParameterList faceparams;
466467

467-
faceparams.set<FLD::Action>("action", FLD::set_general_face_fluid_parameter);
468-
469468
faceparams.sublist("EDGE-BASED STABILIZATION") = params_->sublist("EDGE-BASED STABILIZATION");
470469

471470
faceparams.set<Inpar::FLUID::StabType>(
@@ -480,21 +479,26 @@ void FLD::XFluid::set_face_general_fluid_xfem_parameter()
480479

481480
Discret::Elements::FluidIntFaceType::instance().pre_evaluate(
482481
*discret_, faceparams, nullptr, nullptr, nullptr, nullptr, nullptr);
482+
483+
Discret::Elements::FluidEleParameterIntFace* fldintfacepara =
484+
Discret::Elements::FluidEleParameterIntFace::instance();
485+
fldintfacepara->set_face_general_fluid_parameter(
486+
faceparams, Core::Communication::my_mpi_rank(discret_->get_comm()));
483487
}
484488

485489
//------------------------------------------------------------------------------------------------------
486490
// set XFEM specific parameter for faces
487491
{
488492
Teuchos::ParameterList faceparams;
489493

490-
faceparams.set<FLD::Action>("action", FLD::set_general_face_xfem_parameter);
491-
492494
// set general fluid face parameters are contained in the following two sublists
493495
faceparams.sublist("XFLUID DYNAMIC/STABILIZATION") =
494496
params_->sublist("XFLUID DYNAMIC/STABILIZATION");
495497

496-
Discret::Elements::FluidIntFaceType::instance().pre_evaluate(
497-
*discret_, faceparams, nullptr, nullptr, nullptr, nullptr, nullptr);
498+
Discret::Elements::FluidEleParameterIntFace* fldintfacepara =
499+
Discret::Elements::FluidEleParameterIntFace::instance();
500+
fldintfacepara->set_face_general_xfem_parameter(
501+
faceparams, Core::Communication::my_mpi_rank(discret_->get_comm()));
498502
}
499503

500504
return;

src/porofluid_pressure_based/4C_porofluid_pressure_based_timint_implicit.cpp

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
#include "4C_mat_fluidporo_multiphase.hpp"
2323
#include "4C_porofluid_pressure_based_ele.hpp"
2424
#include "4C_porofluid_pressure_based_ele_action.hpp"
25+
#include "4C_porofluid_pressure_based_ele_parameter.hpp"
2526
#include "4C_porofluid_pressure_based_meshtying_strategy_artery.hpp"
2627
#include "4C_porofluid_pressure_based_meshtying_strategy_std.hpp"
2728
#include "4C_porofluid_pressure_based_resulttest.hpp"
@@ -339,8 +340,6 @@ void POROFLUIDMULTIPHASE::TimIntImpl::set_element_general_parameters() const
339340
{
340341
Teuchos::ParameterList eleparams;
341342

342-
eleparams.set<POROFLUIDMULTIPHASE::Action>("action", POROFLUIDMULTIPHASE::set_general_parameter);
343-
344343
eleparams.set<bool>("isale", isale_);
345344
eleparams.set<int>("nds_disp", nds_disp_);
346345
eleparams.set<int>("nds_vel", nds_vel_);
@@ -356,10 +355,8 @@ void POROFLUIDMULTIPHASE::TimIntImpl::set_element_general_parameters() const
356355
for (int ifunct = 0; ifunct < num_domainint_funct_; ifunct++)
357356
eleparams.set<int>("domainint_funct_" + std::to_string(ifunct), domainint_funct_[ifunct]);
358357

359-
// call standard loop over elements
360-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
361-
362-
return;
358+
Discret::Elements::PoroFluidMultiPhaseEleParameter::instance(discret_->name())
359+
->set_general_parameters(eleparams);
363360
}
364361

365362

src/porofluid_pressure_based/4C_porofluid_pressure_based_timint_ost.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "4C_global_data.hpp"
1111
#include "4C_io.hpp"
1212
#include "4C_porofluid_pressure_based_ele_action.hpp"
13+
#include "4C_porofluid_pressure_based_ele_parameter.hpp"
1314

1415
FOUR_C_NAMESPACE_OPEN
1516

@@ -36,16 +37,14 @@ void POROFLUIDMULTIPHASE::TimIntOneStepTheta::set_element_time_step_parameter()
3637
{
3738
Teuchos::ParameterList eleparams;
3839

39-
eleparams.set<POROFLUIDMULTIPHASE::Action>("action", POROFLUIDMULTIPHASE::set_timestep_parameter);
40-
4140
// the total time definitely changes
4241
eleparams.set<double>("total time", time_);
4342
// we set the time step and related, just in case we want adaptive time stepping
4443
eleparams.set<double>("time-step length", dt_);
4544
eleparams.set<double>("time factor", theta_ * dt_);
4645

47-
// call standard loop over elements
48-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
46+
Discret::Elements::PoroFluidMultiPhaseEleParameter::instance(discret_->name())
47+
->set_time_step_parameters(eleparams);
4948
}
5049

5150

src/porofluid_pressure_based_ele/4C_porofluid_pressure_based_ele.hpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,6 @@ namespace Discret
5454
/// initialize element
5555
int initialize(Core::FE::Discretization& dis) override;
5656

57-
/// pre-evaluation
58-
void pre_evaluate(Core::FE::Discretization& dis, Teuchos::ParameterList& p,
59-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix1,
60-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix2,
61-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector1,
62-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector2,
63-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector3) override;
64-
6557
private:
6658
/// the actual instance
6759
static PoroFluidMultiPhaseType instance_;

0 commit comments

Comments
 (0)