Move timewindow and interations to Model class

这个提交包含在:
nmannall
2024-05-15 15:36:52 +01:00
父节点 ba9e16d8db
当前提交 c0a68c4bf9
共有 3 个文件被更改,包括 10 次插入10 次删除

查看文件

@@ -226,27 +226,27 @@ class TimeWindow(UserObjectSingle):
# the fact that the solver (iterations) loop runs from 0 to < G.iterations # the fact that the solver (iterations) loop runs from 0 to < G.iterations
try: try:
iterations = int(self.kwargs["iterations"]) iterations = int(self.kwargs["iterations"])
G.timewindow = (iterations - 1) * G.dt model.timewindow = (iterations - 1) * model.G.dt
G.iterations = iterations model.iterations = iterations
except KeyError: except KeyError:
pass pass
try: try:
tmp = float(self.kwargs["time"]) tmp = float(self.kwargs["time"])
if tmp > 0: if tmp > 0:
G.timewindow = tmp model.timewindow = tmp
G.iterations = int(np.ceil(tmp / G.dt)) + 1 model.iterations = int(np.ceil(tmp / model.G.dt)) + 1
else: else:
logger.exception(self.__str__() + " must have a value greater than zero") logger.exception(self.__str__() + " must have a value greater than zero")
raise ValueError raise ValueError
except KeyError: except KeyError:
pass pass
if not G.timewindow: if not model.timewindow:
logger.exception(self.__str__() + " specify a time or number of iterations") logger.exception(self.__str__() + " specify a time or number of iterations")
raise ValueError raise ValueError
logger.info(f"Time window: {G.timewindow:g} secs ({G.iterations} iterations)") logger.info(f"Time window: {model.timewindow:g} secs ({model.iterations} iterations)")
class OMPThreads(UserObjectSingle): class OMPThreads(UserObjectSingle):

查看文件

@@ -59,10 +59,6 @@ class FDTDGrid:
self.dl: np.ndarray[Any, np.dtype[np.single]] self.dl: np.ndarray[Any, np.dtype[np.single]]
self.dt = 0.0 self.dt = 0.0
self.iteration = 0 # Current iteration number
self.iterations = 0 # Total number of iterations
self.timewindow = 0
# PML parameters - set some defaults to use if not user provided # PML parameters - set some defaults to use if not user provided
self.pmls = {} self.pmls = {}
self.pmls["formulation"] = "HORIPML" self.pmls["formulation"] = "HORIPML"

查看文件

@@ -62,6 +62,10 @@ class Model:
self.dt_mod = 1.0 # Time step stability factor self.dt_mod = 1.0 # Time step stability factor
self.iteration = 0 # Current iteration number
self.iterations = 0 # Total number of iterations
self.timewindow = 0.0
self.G = self._create_grid() self.G = self._create_grid()
# Monitor memory usage # Monitor memory usage
self.p = None self.p = None