Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 7 additions & 11 deletions pyphare/pyphare/simulator/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#

import os
import sys
import datetime
import atexit
import time as timem
Expand Down Expand Up @@ -91,7 +92,7 @@ def __init__(self, simulation, auto_dump=True, **kwargs):
self.cpp_sim = None # BE
self.cpp_dw = None # DRAGONS, i.e. use weakrefs if you have to ref these.
self.post_advance = kwargs.get("post_advance", None)

self.initialized = False
self.print_eol = "\n"
if kwargs.get("print_one_line", True):
self.print_eol = "\r"
Expand Down Expand Up @@ -132,32 +133,28 @@ def setup(self):
)
return self
except Exception:
import sys
import traceback

print('Exception caught in "Simulator.setup()": {}'.format(sys.exc_info()))
print(traceback.extract_stack())
raise ValueError("Error in Simulator.setup(), see previous error")

def initialize(self):
if self.cpp_sim is not None:
raise ValueError(
"Simulator already initialized: requires reset to re-initialize"
)
try:
if self.initialized:
return
if self.cpp_hier is None:
self.setup()

if self.simulation.dry_run:
return self

self.cpp_sim.initialize()
self.initialized = True
self._auto_dump() # first dump might be before first advance

return self
except Exception:
import sys

print(
'Exception caught in "Simulator.initialize()": {}'.format(
sys.exc_info()[0]
Expand All @@ -166,8 +163,6 @@ def initialize(self):
raise ValueError("Error in Simulator.initialize(), see previous error")

def _throw(self, e):
import sys

print_rank0(e)
sys.exit(1)

Expand Down Expand Up @@ -264,6 +259,7 @@ def reset(self):
self.cpp_dw = None
self.cpp_sim = None
self.cpp_hier = None
self.initialized = False
if "samrai" in life_cycles:
type(life_cycles["samrai"]).reset()
return self
Expand All @@ -289,7 +285,7 @@ def interp_order(self):
return self.cpp_sim.interp_order # constexpr static value

def _check_init(self):
if self.cpp_sim is None:
if not self.initialized:
Comment thread
coderabbitai[bot] marked this conversation as resolved.
self.initialize()

def _log_to_file(self):
Expand Down
Loading