Change FDTDGrid.dl type to np.float64

这个提交包含在:
nmannall
2024-11-26 16:25:59 +00:00
父节点 11008f9e97
当前提交 32392aba42
共有 3 个文件被更改,包括 12 次插入8 次删除

查看文件

@@ -92,7 +92,7 @@ class Discretisation(UserObjectSingle):
def build(self, model, uip): def build(self, model, uip):
try: try:
model.dl = np.array(self.kwargs["p1"], dtype=float) model.dl = np.array(self.kwargs["p1"], dtype=np.float64)
except KeyError: except KeyError:
logger.exception(f"{self.__str__()} discretisation requires a point") logger.exception(f"{self.__str__()} discretisation requires a point")
raise raise

查看文件

@@ -58,7 +58,7 @@ class FDTDGrid:
self.nx = 0 self.nx = 0
self.ny = 0 self.ny = 0
self.nz = 0 self.nz = 0
self.dl = np.ones(3, dtype=np.float32) self.dl = np.ones(3, dtype=np.float64)
self.dt = 0.0 self.dt = 0.0
# Field Arrays # Field Arrays
@@ -81,9 +81,9 @@ class FDTDGrid:
self.ID: npt.NDArray[np.uint32] self.ID: npt.NDArray[np.uint32]
# Update Coefficient Arrays # Update Coefficient Arrays
self.updatecoeffsE: npt.NDArray self.updatecoeffsE: npt.NDArray[np.float32]
self.updatecoeffsH: npt.NDArray self.updatecoeffsH: npt.NDArray[np.float32]
self.updatecoeffsdispersive: npt.NDArray self.updatecoeffsdispersive: npt.NDArray[np.float32]
# 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 = {}

查看文件

@@ -23,6 +23,7 @@ from typing import List, Sequence
import humanize import humanize
import numpy as np import numpy as np
import numpy.typing as npt
import psutil import psutil
from colorama import Fore, Style, init from colorama import Fore, Style, init
@@ -125,11 +126,11 @@ class Model:
self.G.dl[2] = value self.G.dl[2] = value
@property @property
def dl(self) -> np.ndarray: def dl(self) -> npt.NDArray[np.float64]:
return self.G.dl return self.G.dl
@dl.setter @dl.setter
def dl(self, value: np.ndarray): def dl(self, value: npt.NDArray[np.float64]):
self.G.dl = value self.G.dl = value
@property @property
@@ -164,7 +165,10 @@ class Model:
self.p = psutil.Process() self.p = psutil.Process()
# Normal model reading/building process; bypassed if geometry information to be reused # Normal model reading/building process; bypassed if geometry information to be reused
self.reuse_geometry() if config.get_model_config().reuse_geometry() else self.build_geometry() if config.get_model_config().reuse_geometry():
self.reuse_geometry()
else:
self.build_geometry()
logger.info( logger.info(
f"Output directory: {config.get_model_config().output_file_path.parent.resolve()}\n" f"Output directory: {config.get_model_config().output_file_path.parent.resolve()}\n"