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

Bugfix init_fields ns3d.

parent aee65554
No related branches found
No related tags found
No related merge requests found
......@@ -42,6 +42,7 @@
fields = {"vx_fft": vx_fft, "vy_fft": vy_fft}
self.sim.state.init_statespect_from(**fields)
self.sim.state.statephys_from_statespect()
def vorticity_1dipole2d(self):
oper = self.sim.oper
......@@ -132,6 +133,7 @@
fields[key] = (velo_max / value_max) * field_fft
self.sim.state.init_statespect_from(**fields)
self.sim.state.statephys_from_statespect()
def compute_vv_fft(self):
......@@ -148,4 +150,6 @@
# to compute always the same field... (for 1 resolution...)
np.random.seed(42 + mpi.rank)
vv = [np.random.random(oper.shapeX_loc) - 0.5 for i in range(3)]
vv_fft = []
......@@ -151,13 +155,6 @@
vv_fft = []
for ii in range(3):
vv_fft.append(
(
np.random.random(oper.shapeK)
+ 1j * np.random.random(oper.shapeK)
- 0.5
- 0.5j
)
)
for ii, vi in enumerate(vv):
vv_fft.append(oper.fft(vi))
if mpi.rank == 0:
vv_fft[ii][0, 0, 0] = 0.
......
......@@ -8,7 +8,8 @@
def one_time_step_computation(self):
"""One time step"""
state_spect = self.sim.state.state_spect
# WARNING: if the function _time_step_RK comes from an extension, its
# execution time seems to be attributed to the function
# one_time_step_computation by cProfile
self._time_step_RK()
......@@ -11,12 +12,11 @@
# WARNING: if the function _time_step_RK comes from an extension, its
# execution time seems to be attributed to the function
# one_time_step_computation by cProfile
self._time_step_RK()
self.sim.oper.dealiasing(self.sim.state.state_spect)
state_spect = self.sim.state.state_spect
self.sim.oper.dealiasing(state_spect)
vx_fft = state_spect.get_var("vx_fft")
vy_fft = state_spect.get_var("vy_fft")
vz_fft = state_spect.get_var("vz_fft")
self.sim.oper.project_perpk3d(vx_fft, vy_fft, vz_fft)
self.sim.state.statephys_from_statespect()
# np.isnan(np.sum seems to be really fast
......@@ -17,10 +17,10 @@
vx_fft = state_spect.get_var("vx_fft")
vy_fft = state_spect.get_var("vy_fft")
vz_fft = state_spect.get_var("vz_fft")
self.sim.oper.project_perpk3d(vx_fft, vy_fft, vz_fft)
self.sim.state.statephys_from_statespect()
# np.isnan(np.sum seems to be really fast
if np.isnan(np.sum(self.sim.state.state_spect[0])):
if np.isnan(np.sum(state_spect[0])):
raise ValueError(
"nan at it = {0}, t = {1:.4f}".format(self.it, self.t)
)
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