Skip to content

Commit b07d82e

Browse files
committed
Remove pre_evaluate in fluid
1 parent 4a80e44 commit b07d82e

15 files changed

+26
-183
lines changed

src/fluid/4C_fluid_implicit_integration.cpp

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#include "4C_fluid_ele_action.hpp"
2525
#include "4C_fluid_ele_intfaces_calc.hpp"
2626
#include "4C_fluid_ele_parameter_intface.hpp"
27+
#include "4C_fluid_ele_parameter_std.hpp"
2728
#include "4C_fluid_impedancecondition.hpp"
2829
#include "4C_fluid_meshtying.hpp"
2930
#include "4C_fluid_result_test.hpp"
@@ -5446,8 +5447,6 @@ void FLD::FluidImplicitTimeInt::set_element_general_fluid_parameter()
54465447
{
54475448
Teuchos::ParameterList eleparams;
54485449

5449-
eleparams.set<FLD::Action>("action", FLD::set_general_fluid_parameter);
5450-
54515450
// set general element parameters
54525451
eleparams.set("form of convective term", convform_);
54535452
eleparams.set<Inpar::FLUID::LinearisationAction>("Linearisation", newton_);
@@ -5462,8 +5461,8 @@ void FLD::FluidImplicitTimeInt::set_element_general_fluid_parameter()
54625461
if (physicaltype_ == Inpar::FLUID::oseen)
54635462
eleparams.set<int>("OSEENFIELDFUNCNO", params_->get<int>("OSEENFIELDFUNCNO"));
54645463

5465-
// call standard loop over elements
5466-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
5464+
Discret::Elements::FluidEleParameterStd::instance()->set_element_general_fluid_parameter(
5465+
eleparams, Core::Communication::my_mpi_rank(discret_->get_comm()));
54675466
}
54685467

54695468
// -------------------------------------------------------------------
@@ -5473,7 +5472,6 @@ void FLD::FluidImplicitTimeInt::set_element_turbulence_parameters()
54735472
{
54745473
Teuchos::ParameterList eleparams;
54755474

5476-
eleparams.set<FLD::Action>("action", FLD::set_turbulence_parameter);
54775475
eleparams.set<Inpar::FLUID::PhysicalType>("Physical Type", physicaltype_);
54785476

54795477
// set general parameters for turbulent flow
@@ -5484,8 +5482,7 @@ void FLD::FluidImplicitTimeInt::set_element_turbulence_parameters()
54845482
eleparams.sublist("MULTIFRACTAL SUBGRID SCALES") =
54855483
params_->sublist("MULTIFRACTAL SUBGRID SCALES");
54865484

5487-
// call standard loop over elements
5488-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
5485+
Discret::Elements::FluidEleParameterStd::instance()->set_element_turbulence_parameters(eleparams);
54895486
}
54905487

54915488
// -------------------------------------------------------------------
@@ -6079,23 +6076,7 @@ void FLD::FluidImplicitTimeInt::recompute_mean_csgs_b()
60796076
}
60806077

60816078
// store value in element parameter list
6082-
myparams.set<FLD::Action>("action", FLD::set_mean_Cai);
6083-
myparams.set<double>("meanCai", meanCai);
6084-
for (int nele = 0; nele < discret_->num_my_row_elements(); ++nele)
6085-
{
6086-
// get the element
6087-
Core::Elements::Element* ele = discret_->l_row_element(nele);
6088-
6089-
// get element location vector, dirichlet flags and ownerships
6090-
std::vector<int> lm;
6091-
std::vector<int> lmowner;
6092-
std::vector<int> lmstride;
6093-
ele->location_vector(*discret_, lm, lmowner, lmstride);
6094-
6095-
// call the element evaluate method to integrate functions
6096-
int err = ele->evaluate(myparams, *discret_, lm, emat1, emat2, evec1, evec2, evec2);
6097-
if (err) FOUR_C_THROW("Proc {}: Element {} returned err={}", myrank_, ele->id(), err);
6098-
}
6079+
Discret::Elements::FluidEleParameterStd::instance()->set_csgs_phi(meanCai);
60996080
}
61006081
}
61016082

src/fluid/4C_fluid_timint_bdf2.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "4C_fluid_timint_bdf2.hpp"
99

1010
#include "4C_fluid_ele_action.hpp"
11+
#include "4C_fluid_ele_parameter_timint.hpp"
1112
#include "4C_fluid_turbulence_boxfilter.hpp"
1213
#include "4C_fluid_turbulence_dyn_smag.hpp"
1314
#include "4C_fluid_turbulence_dyn_vreman.hpp"
@@ -194,8 +195,6 @@ void FLD::TimIntBDF2::set_element_time_parameter()
194195
{
195196
Teuchos::ParameterList eleparams;
196197

197-
eleparams.set<FLD::Action>("action", FLD::set_time_parameter);
198-
199198
// set time integration scheme
200199
eleparams.set<Inpar::FLUID::TimeIntegrationScheme>("TimeIntegrationScheme", timealgo_);
201200

@@ -207,10 +206,7 @@ void FLD::TimIntBDF2::set_element_time_parameter()
207206
// set scheme-specific element parameters and vector values
208207
eleparams.set("total time", time_);
209208

210-
211-
// call standard loop over elements
212-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
213-
return;
209+
Discret::Elements::FluidEleParameterTimInt::instance()->set_element_time_parameter(eleparams);
214210
}
215211

216212
/*----------------------------------------------------------------------*

src/fluid/4C_fluid_timint_genalpha.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "4C_fluid_timint_genalpha.hpp"
99

1010
#include "4C_fluid_ele_action.hpp"
11+
#include "4C_fluid_ele_parameter_timint.hpp"
1112
#include "4C_fluid_turbulence_boxfilter.hpp"
1213
#include "4C_fluid_turbulence_dyn_smag.hpp"
1314
#include "4C_fluid_turbulence_dyn_vreman.hpp"
@@ -411,7 +412,6 @@ void FLD::TimIntGenAlpha::set_element_time_parameter()
411412
{
412413
Teuchos::ParameterList eleparams;
413414

414-
eleparams.set<FLD::Action>("action", FLD::set_time_parameter);
415415
eleparams.set<Inpar::FLUID::PhysicalType>("Physical Type", physicaltype_);
416416

417417
// set time integration scheme
@@ -434,9 +434,7 @@ void FLD::TimIntGenAlpha::set_element_time_parameter()
434434
eleparams.set("alphaM", alphaM_);
435435
eleparams.set("gamma", gamma_);
436436

437-
// call standard loop over elements
438-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
439-
return;
437+
Discret::Elements::FluidEleParameterTimInt::instance()->set_element_time_parameter(eleparams);
440438
}
441439

442440
/*----------------------------------------------------------------------*

src/fluid/4C_fluid_timint_loma.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "4C_fluid_timint_loma.hpp"
99

1010
#include "4C_fluid_ele_action.hpp"
11+
#include "4C_fluid_ele_parameter_std.hpp"
1112
#include "4C_fluid_turbulence_statistic_manager.hpp"
1213
#include "4C_global_data.hpp"
1314
#include "4C_io.hpp"
@@ -198,8 +199,6 @@ void FLD::TimIntLoma::set_element_custom_parameter()
198199
{
199200
Teuchos::ParameterList eleparams;
200201

201-
eleparams.set<FLD::Action>("action", FLD::set_loma_parameter);
202-
203202
// set parameters to update material with subgrid-scale temperature
204203
// potential inclusion of additional subgrid-scale terms in continuity equation
205204
eleparams.sublist("LOMA") = params_->sublist("LOMA");
@@ -208,9 +207,7 @@ void FLD::TimIntLoma::set_element_custom_parameter()
208207
eleparams.sublist("MULTIFRACTAL SUBGRID SCALES") =
209208
params_->sublist("MULTIFRACTAL SUBGRID SCALES");
210209

211-
// call standard loop over elements
212-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
213-
return;
210+
Discret::Elements::FluidEleParameterStd::instance()->set_element_loma_parameter(eleparams);
214211
}
215212

216213
/*----------------------------------------------------------------------*

src/fluid/4C_fluid_timint_ost.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "4C_fluid_timint_ost.hpp"
99

1010
#include "4C_fluid_ele_action.hpp"
11+
#include "4C_fluid_ele_parameter_timint.hpp"
1112
#include "4C_fluid_utils.hpp"
1213
#include "4C_global_data.hpp"
1314
#include "4C_io.hpp"
@@ -171,7 +172,6 @@ void FLD::TimIntOneStepTheta::set_element_time_parameter()
171172
{
172173
Teuchos::ParameterList eleparams;
173174

174-
eleparams.set<FLD::Action>("action", FLD::set_time_parameter);
175175
eleparams.set<Inpar::FLUID::PhysicalType>("Physical Type", physicaltype_);
176176

177177
// set time integration scheme
@@ -190,8 +190,7 @@ void FLD::TimIntOneStepTheta::set_element_time_parameter()
190190
Teuchos::getIntegralValue<Inpar::FLUID::OstContAndPress>(*params_, "ost cont and press"));
191191
eleparams.set<bool>("ost new", params_->get<bool>("ost new"));
192192

193-
// call standard loop over elements
194-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
193+
Discret::Elements::FluidEleParameterTimInt::instance()->set_element_time_parameter(eleparams);
195194
}
196195

197196
void FLD::TimIntOneStepTheta::set_theta()

src/fluid/4C_fluid_timint_stat.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "4C_fluid_timint_stat.hpp"
99

1010
#include "4C_fluid_ele_action.hpp"
11+
#include "4C_fluid_ele_parameter_timint.hpp"
1112
#include "4C_fluid_turbulence_boxfilter.hpp"
1213
#include "4C_fluid_turbulence_dyn_smag.hpp"
1314
#include "4C_fluid_turbulence_dyn_vreman.hpp"
@@ -208,7 +209,6 @@ void FLD::TimIntStationary::set_element_time_parameter()
208209
{
209210
Teuchos::ParameterList eleparams;
210211

211-
eleparams.set<FLD::Action>("action", FLD::set_time_parameter);
212212
eleparams.set<Inpar::FLUID::PhysicalType>("Physical Type", physicaltype_);
213213

214214
// set time integration scheme
@@ -222,9 +222,7 @@ void FLD::TimIntStationary::set_element_time_parameter()
222222
// set scheme-specific element parameters and vector values
223223
eleparams.set("total time", time_);
224224

225-
// call standard loop over elements
226-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
227-
return;
225+
Discret::Elements::FluidEleParameterTimInt::instance()->set_element_time_parameter(eleparams);
228226
}
229227

230228
/*----------------------------------------------------------------------*

src/fluid/4C_fluid_timint_stat_hdg.cpp

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "4C_fluid_ele_action.hpp"
1313
#include "4C_fluid_ele_hdg.hpp"
1414
#include "4C_fluid_ele_hdg_weak_comp.hpp"
15+
#include "4C_fluid_ele_parameter_timint.hpp"
1516
#include "4C_fluid_turbulence_boxfilter.hpp"
1617
#include "4C_fluid_turbulence_dyn_smag.hpp"
1718
#include "4C_fluid_turbulence_dyn_vreman.hpp"
@@ -233,7 +234,6 @@ void FLD::TimIntStationaryHDG::set_element_time_parameter()
233234
{
234235
Teuchos::ParameterList eleparams;
235236

236-
eleparams.set<FLD::Action>("action", FLD::set_time_parameter);
237237
eleparams.set<Inpar::FLUID::PhysicalType>("Physical Type", physicaltype_);
238238

239239
// set time integration scheme
@@ -247,8 +247,7 @@ void FLD::TimIntStationaryHDG::set_element_time_parameter()
247247
// set scheme-specific element parameters and vector values
248248
eleparams.set("total time", time_);
249249

250-
// call standard loop over elements
251-
discret_->evaluate(eleparams, nullptr, nullptr, nullptr, nullptr, nullptr);
250+
Discret::Elements::FluidEleParameterTimInt::instance()->set_element_time_parameter(eleparams);
252251
}
253252

254253
FOUR_C_NAMESPACE_CLOSE

src/fluid_ele/4C_fluid_ele.hpp

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,6 @@ namespace Discret
6464
void setup_element_definition(
6565
std::map<std::string, std::map<std::string, Core::IO::InputSpec>>& definitions) override;
6666

67-
/// pre-evaluation
68-
void pre_evaluate(Core::FE::Discretization& dis, Teuchos::ParameterList& p,
69-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix1,
70-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix2,
71-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector1,
72-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector2,
73-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector3) override;
74-
7567
private:
7668
static FluidType instance_;
7769
};

src/fluid_ele/4C_fluid_ele_action.hpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,6 @@ 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_fluid_parameter,
56-
set_general_fluid_xfem_parameter,
57-
set_loma_parameter,
58-
set_mean_Cai,
59-
set_time_parameter,
60-
set_turbulence_parameter,
6155
tauw_via_gradient,
6256
update_local_solution,
6357
velgradient_projection,

src/fluid_ele/4C_fluid_ele_evaluate.cpp

Lines changed: 0 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -29,58 +29,6 @@ FOUR_C_NAMESPACE_OPEN
2929
3030
*/
3131

32-
/*---------------------------------------------------------------------*
33-
| Call the element to set all basic parameter |
34-
*----------------------------------------------------------------------*/
35-
void Discret::Elements::FluidType::pre_evaluate(Core::FE::Discretization& dis,
36-
Teuchos::ParameterList& p, std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix1,
37-
std::shared_ptr<Core::LinAlg::SparseOperator> systemmatrix2,
38-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector1,
39-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector2,
40-
std::shared_ptr<Core::LinAlg::Vector<double>> systemvector3)
41-
{
42-
const auto action = Teuchos::getIntegralValue<FLD::Action>(p, "action");
43-
44-
if (action == FLD::set_general_fluid_parameter)
45-
{
46-
Discret::Elements::FluidEleParameterStd* fldpara =
47-
Discret::Elements::FluidEleParameterStd::instance();
48-
fldpara->set_element_general_fluid_parameter(
49-
p, Core::Communication::my_mpi_rank(dis.get_comm()));
50-
}
51-
else if (action == FLD::set_time_parameter)
52-
{
53-
Discret::Elements::FluidEleParameterTimInt* fldpara =
54-
Discret::Elements::FluidEleParameterTimInt::instance();
55-
fldpara->set_element_time_parameter(p);
56-
}
57-
else if (action == FLD::set_turbulence_parameter)
58-
{
59-
Discret::Elements::FluidEleParameterStd* fldpara =
60-
Discret::Elements::FluidEleParameterStd::instance();
61-
fldpara->set_element_turbulence_parameters(p);
62-
}
63-
else if (action == FLD::set_loma_parameter)
64-
{
65-
Discret::Elements::FluidEleParameterStd* fldpara =
66-
Discret::Elements::FluidEleParameterStd::instance();
67-
fldpara->set_element_loma_parameter(p);
68-
}
69-
else if (action == FLD::set_general_fluid_xfem_parameter)
70-
{
71-
Discret::Elements::FluidEleParameterXFEM* fldpara =
72-
Discret::Elements::FluidEleParameterXFEM::instance();
73-
74-
fldpara->set_element_general_fluid_parameter(
75-
p, Core::Communication::my_mpi_rank(dis.get_comm()));
76-
fldpara->set_element_turbulence_parameters(p);
77-
fldpara->set_element_xfem_parameter(p, Core::Communication::my_mpi_rank(dis.get_comm()));
78-
}
79-
80-
return;
81-
}
82-
83-
8432
/*----------------------------------------------------------------------*
8533
| evaluate the element (public) g.bau 03/07|
8634
*----------------------------------------------------------------------*/
@@ -644,14 +592,6 @@ int Discret::Elements::Fluid::evaluate(Teuchos::ParameterList& params,
644592
FOUR_C_THROW("{} D elements does not support calculation of mean Cai", nsd);
645593
}
646594
break;
647-
case FLD::set_mean_Cai:
648-
{
649-
// pointer to class FluidEleParameter
650-
Discret::Elements::FluidEleParameterStd* fldpara =
651-
Discret::Elements::FluidEleParameterStd::instance();
652-
fldpara->set_csgs_phi(params.get<double>("meanCai"));
653-
}
654-
break;
655595
case FLD::calc_node_normal:
656596
{
657597
if (nsd == 3)
@@ -722,16 +662,6 @@ int Discret::Elements::Fluid::evaluate(Teuchos::ParameterList& params,
722662
this, params, mat, discretization, lm, elemat1, elemat2, elevec1, elevec2, elevec3);
723663
break;
724664
}
725-
case FLD::set_general_fluid_parameter:
726-
case FLD::set_time_parameter:
727-
case FLD::set_turbulence_parameter:
728-
case FLD::set_loma_parameter:
729-
// case FLD::calc_adjoint_neumann: // this is done by the surface elements
730-
break;
731-
//-----------------------------------------------------------------------
732-
// adjoint implementation enabling time-integration schemes such as
733-
// one-step-theta, BDF2, and generalized-alpha (n+alpha_F and n+1)
734-
//-----------------------------------------------------------------------
735665
default:
736666
FOUR_C_THROW("Unknown type of action '{}' for Fluid", act);
737667
break;

0 commit comments

Comments
 (0)