Skip to content

Commit 1c79212

Browse files
UCaromelnicolasaunai
authored andcommitted
second order
corrected van leer slope limiter second order corrected van leer slope limiter
1 parent 0fe5b2c commit 1c79212

File tree

7 files changed

+259
-148
lines changed

7 files changed

+259
-148
lines changed

pyphare/pyphare/mock_mhd_simulator/__init__.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
import numpy as np
22

3+
34
def is_scalar(arg):
45
return not isinstance(arg, (list, tuple)) and not is_nd_array(arg)
56

7+
68
def is_nd_array(arg):
79
return isinstance(arg, np.ndarray)
810

@@ -45,10 +47,12 @@ def clearDict():
4547

4648
pp.stop()
4749

50+
4851
def populateDict():
49-
from .global_vars import sim as simulation
5052
import pybindlibs.dictator as pp
5153

54+
from .global_vars import sim as simulation
55+
5256
def add_int(path, val):
5357
pp.add_int(path, int(val))
5458

@@ -79,10 +83,14 @@ def add_double(path, val):
7983
add_double("godunov/hyper_resistivity", simulation.nu)
8084
add_double("godunov/heat_capacity_ratio", simulation.gamma)
8185
add_string("godunov/terms", simulation.terms)
86+
add_string("godunov/reconstruction", simulation.reconstruction)
87+
add_string("godunov/limiter", simulation.limiter)
88+
add_string("godunov/riemann", simulation.riemann)
8289
add_double("to_primitive/heat_capacity_ratio", simulation.gamma)
8390
add_double("to_conservative/heat_capacity_ratio", simulation.gamma)
91+
add_string("integrator", simulation.integrator)
8492

85-
d=simulation.model.model_dict
93+
d = simulation.model.model_dict
8694

8795
addInitFunction("density/initializer", fn_wrapper(d["density"]))
8896
addInitFunction("velocity/initializer/x_component", fn_wrapper(d["vx"]))

src/amr/solvers/solver_mhd.hpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,15 @@ class SolverMHD : public ISolver<AMR_Types>
8787
ConstrainedTransport_t constrained_transport_;
8888
Faraday_t faraday_;
8989

90+
std::string const integrator_;
91+
9092
public:
9193
SolverMHD(PHARE::initializer::PHAREDict const& dict)
9294
: ISolver<AMR_Types>{"MHDSolver"}
9395
, godunov_{dict["godunov"]}
9496
, to_primitive_{dict["to_primitive"]}
9597
, to_conservative_{dict["to_conservative"]}
98+
, integrator_{dict["integrator"].template to<std::string>()}
9699
{
97100
}
98101

@@ -251,14 +254,21 @@ void SolverMHD<MHDModel, AMR_Types, Messenger, ModelViews_t>::time_integrator_(
251254
to_conservative_(views.layouts, views.rho, views.V, views.B, views.P, views.rhoV, views.Etot);
252255

253256
Q Un = make_q(views.rho, views.rhoV, views.B, views.Etot);
254-
// Q U1(views.rho1, views.rhoV1, views.B1, views.Etot1);
255257

256258
Q F_x = make_q(views.rho_x, views.rhoV_x, views.B_x, views.Etot_x);
257259

258260
if constexpr (dimension == 1)
259261
{
260-
euler_(fromCoarser, level, newTime, views.layouts, Un, views.E, views.model().state.E, Un,
261-
dt, F_x);
262+
if (integrator_ == "euler")
263+
euler_(fromCoarser, level, newTime, views.layouts, Un, views.E, views.model().state.E,
264+
Un, dt, F_x);
265+
/*else if (integrator_ == "TVDRK2")*/
266+
/*{*/
267+
/* Q U1(views.rho1, views.rhoV1, views.B1, views.Etot1);*/
268+
/* euler_(fromCoarser, level, newTime, views.layouts, Un, views.E,
269+
* views.model().state.E,*/
270+
/* U1, dt, F_x);*/
271+
/*}*/
262272
}
263273
if constexpr (dimension >= 2)
264274
{

0 commit comments

Comments
 (0)