你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 23:14:03 +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
|
||||
try:
|
||||
iterations = int(self.kwargs["iterations"])
|
||||
G.timewindow = (iterations - 1) * G.dt
|
||||
G.iterations = iterations
|
||||
model.timewindow = (iterations - 1) * model.G.dt
|
||||
model.iterations = iterations
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
try:
|
||||
tmp = float(self.kwargs["time"])
|
||||
if tmp > 0:
|
||||
G.timewindow = tmp
|
||||
G.iterations = int(np.ceil(tmp / G.dt)) + 1
|
||||
model.timewindow = tmp
|
||||
model.iterations = int(np.ceil(tmp / model.G.dt)) + 1
|
||||
else:
|
||||
logger.exception(self.__str__() + " must have a value greater than zero")
|
||||
raise ValueError
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
if not G.timewindow:
|
||||
if not model.timewindow:
|
||||
logger.exception(self.__str__() + " specify a time or number of iterations")
|
||||
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):
|
||||
|
@@ -59,10 +59,6 @@ class FDTDGrid:
|
||||
self.dl: np.ndarray[Any, np.dtype[np.single]]
|
||||
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
|
||||
self.pmls = {}
|
||||
self.pmls["formulation"] = "HORIPML"
|
||||
|
@@ -62,6 +62,10 @@ class Model:
|
||||
|
||||
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()
|
||||
# Monitor memory usage
|
||||
self.p = None
|
||||
|
在新工单中引用
屏蔽一个用户