Set FDTDGrid dimensions in Domain UserObject

这个提交包含在:
nmannall
2024-05-20 15:23:38 +01:00
父节点 f76919fd81
当前提交 1f71bfa858

查看文件

@@ -134,6 +134,9 @@ class Domain(UserObjectSingle):
def build(self, model, uip): def build(self, model, uip):
try: try:
model.gnx, model.gny, model.gnz = uip.discretise_point(self.kwargs["p1"]) model.gnx, model.gny, model.gnz = uip.discretise_point(self.kwargs["p1"])
model.G.nx = model.gnx
model.G.ny = model.gny
model.G.nz = model.gnz
except KeyError: except KeyError:
logger.exception(f"{self.__str__()} please specify a point") logger.exception(f"{self.__str__()} please specify a point")
raise raise
@@ -297,7 +300,8 @@ class PMLProps(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 7 self.order = 7
def build(self, G, uip): def build(self, model, uip):
G = model.G
try: try:
G.pmls["formulation"] = self.kwargs["formulation"] G.pmls["formulation"] = self.kwargs["formulation"]
if G.pmls["formulation"] not in PML.formulations: if G.pmls["formulation"] not in PML.formulations:
@@ -349,16 +353,16 @@ class SrcSteps(UserObjectSingle):
super().__init__(**kwargs) super().__init__(**kwargs)
self.order = 8 self.order = 8
def build(self, G, uip): def build(self, model, uip):
try: try:
G.srcsteps = uip.discretise_point(self.kwargs["p1"]) model.srcsteps = uip.discretise_point(self.kwargs["p1"])
except KeyError: except KeyError:
logger.exception(f"{self.__str__()} requires exactly three parameters") logger.exception(f"{self.__str__()} requires exactly three parameters")
raise raise
logger.info( logger.info(
f"Simple sources will step {G.srcsteps[0] * G.dx:g}m, " f"Simple sources will step {model.srcsteps[0] * model.dx:g}m, "
f"{G.srcsteps[1] * G.dy:g}m, {G.srcsteps[2] * G.dz:g}m " f"{model.srcsteps[1] * model.dy:g}m, {model.srcsteps[2] * model.dz:g}m "
"for each model run." "for each model run."
) )