From 32392aba42cbb8b16d1f4742b4a635b5517c1150 Mon Sep 17 00:00:00 2001 From: nmannall Date: Tue, 26 Nov 2024 16:25:59 +0000 Subject: [PATCH] Change FDTDGrid.dl type to np.float64 --- gprMax/cmds_singleuse.py | 2 +- gprMax/grid/fdtd_grid.py | 8 ++++---- gprMax/model.py | 10 +++++++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/gprMax/cmds_singleuse.py b/gprMax/cmds_singleuse.py index 7e47f4d3..e39bdf29 100644 --- a/gprMax/cmds_singleuse.py +++ b/gprMax/cmds_singleuse.py @@ -92,7 +92,7 @@ class Discretisation(UserObjectSingle): def build(self, model, uip): try: - model.dl = np.array(self.kwargs["p1"], dtype=float) + model.dl = np.array(self.kwargs["p1"], dtype=np.float64) except KeyError: logger.exception(f"{self.__str__()} discretisation requires a point") raise diff --git a/gprMax/grid/fdtd_grid.py b/gprMax/grid/fdtd_grid.py index 53d61d88..60004e7f 100644 --- a/gprMax/grid/fdtd_grid.py +++ b/gprMax/grid/fdtd_grid.py @@ -58,7 +58,7 @@ class FDTDGrid: self.nx = 0 self.ny = 0 self.nz = 0 - self.dl = np.ones(3, dtype=np.float32) + self.dl = np.ones(3, dtype=np.float64) self.dt = 0.0 # Field Arrays @@ -81,9 +81,9 @@ class FDTDGrid: self.ID: npt.NDArray[np.uint32] # Update Coefficient Arrays - self.updatecoeffsE: npt.NDArray - self.updatecoeffsH: npt.NDArray - self.updatecoeffsdispersive: npt.NDArray + self.updatecoeffsE: npt.NDArray[np.float32] + self.updatecoeffsH: npt.NDArray[np.float32] + self.updatecoeffsdispersive: npt.NDArray[np.float32] # PML parameters - set some defaults to use if not user provided self.pmls = {} diff --git a/gprMax/model.py b/gprMax/model.py index 87fa3f22..82add10c 100644 --- a/gprMax/model.py +++ b/gprMax/model.py @@ -23,6 +23,7 @@ from typing import List, Sequence import humanize import numpy as np +import numpy.typing as npt import psutil from colorama import Fore, Style, init @@ -125,11 +126,11 @@ class Model: self.G.dl[2] = value @property - def dl(self) -> np.ndarray: + def dl(self) -> npt.NDArray[np.float64]: return self.G.dl @dl.setter - def dl(self, value: np.ndarray): + def dl(self, value: npt.NDArray[np.float64]): self.G.dl = value @property @@ -164,7 +165,10 @@ class Model: self.p = psutil.Process() # 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( f"Output directory: {config.get_model_config().output_file_path.parent.resolve()}\n"