Skip to content
Snippets Groups Projects
Commit 393032b1 authored by Pierre Augier's avatar Pierre Augier
Browse files

Improve coverage of new code in time_stepping/pseudo_spect.py

parent 88f1c0be
No related branches found
No related tags found
1 merge request!155Dealiasing with phase-shifting (1D, forward Euler and RK2)
Pipeline #6514 passed
......@@ -133,6 +133,9 @@
elif type_time_scheme == "RK2":
self._state_spect_tmp = np.empty_like(self.sim.state.state_spect)
time_step_RK = self._time_step_RK2
elif type_time_scheme == "RK2_trapezoid":
self._state_spect_tmp = np.empty_like(self.sim.state.state_spect)
time_step_RK = self._time_step_RK2_trapezoid
elif type_time_scheme == "RK2_phaseshift":
self._state_spect_tmp = np.empty_like(self.sim.state.state_spect)
time_step_RK = self._time_step_RK2_phaseshift
......@@ -485,7 +488,7 @@
"""
dt = self.deltat
diss = self.exact_linear_coefs.get_updated_coefs()[0]
diss, diss2 = self.exact_linear_coefs.get_updated_coefs()
oper = self.sim.oper
......@@ -511,7 +514,7 @@
tendencies_n12 = compute_tendencies(state_spect_shifted)
tendencies_n12 /= phase_shift
tendencies_dealiased = 0.5 * (tendencies_n + tendencies_n1)
tendencies_dealiased = 0.5 * (tendencies_n + tendencies_n12)
# time advancement
state_spect[:] = (state_spect + dt * tendencies_dealiased) * diss
......
......@@ -21,7 +21,5 @@
params.oper.nx = 40
params.oper.Lx = 1.0
params.time_stepping.type_time_scheme = "Euler"
params.nu_2 = 0.01
......@@ -26,4 +24,4 @@
params.nu_2 = 0.01
params.time_stepping.t_end = 0.4
params.time_stepping.type_time_scheme = "Euler"
params.time_stepping.USE_CFL = False
......@@ -29,4 +27,7 @@
params.time_stepping.USE_CFL = False
params.time_stepping.USE_T_END = False
params.time_stepping.it_end = 4
params.time_stepping.deltat_max = 0.1
params.init_fields.type = "gaussian"
......@@ -40,5 +41,25 @@
)
def test_simul(self):
sim = self.sim
sim.time_stepping.start()
params = sim.params
sim.time_stepping.main_loop(print_begin=True, save_init_field=True)
params.time_stepping.it_end += 2
params.time_stepping.type_time_scheme = "Euler_phaseshift"
sim.time_stepping.init_from_params()
sim.time_stepping.main_loop()
params.time_stepping.it_end += 2
params.time_stepping.type_time_scheme = "RK2_trapezoid"
sim.time_stepping.init_from_params()
sim.time_stepping.main_loop()
params.time_stepping.it_end += 2
params.time_stepping.type_time_scheme = "RK2_phaseshift"
sim.time_stepping.init_from_params()
sim.time_stepping.main_loop()
sim.time_stepping.finalize_main_loop()
sim.plot_freq_diss()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment