你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-08 07:24:19 +08:00
Move timewindow and interations to Model class
这个提交包含在:
@@ -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
|
||||||
|
在新工单中引用
屏蔽一个用户