From 18eed3c3862c48a5dd49acb9a414b0e43c460220 Mon Sep 17 00:00:00 2001 From: Craig Warren Date: Mon, 13 May 2024 20:36:57 +0100 Subject: [PATCH 1/2] Revert explicit clearing of scenes list --- gprMax/contexts.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gprMax/contexts.py b/gprMax/contexts.py index 1491658b..b841f0e6 100644 --- a/gprMax/contexts.py +++ b/gprMax/contexts.py @@ -63,9 +63,8 @@ class Context: elif config.sim_config.general["solver"] == "opencl": print_opencl_info(config.sim_config.devices["devs"]) - # Clear list of scenes and model configs, which can be retained when - # gprMax is called in a loop, and want to avoid this. - config.sim_config.scenes = [] + # Clear list of model configs, which can be retained when gprMax is + # called in a loop, and want to avoid this. config.model_configs = [] for i in self.model_range: From 23c88cee25bc31fa82226ef4c37134827a864823 Mon Sep 17 00:00:00 2001 From: craig-warren Date: Thu, 16 May 2024 12:59:36 +0100 Subject: [PATCH 2/2] Added averaging check for API to convert y/n to True/False --- gprMax/cmds_geometry/box.py | 2 ++ gprMax/cmds_geometry/cone.py | 8 +++++--- gprMax/cmds_geometry/cylinder.py | 2 ++ gprMax/cmds_geometry/cylindrical_sector.py | 2 ++ gprMax/cmds_geometry/ellipsoid.py | 2 ++ gprMax/cmds_geometry/sphere.py | 2 ++ gprMax/cmds_geometry/triangle.py | 2 ++ 7 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gprMax/cmds_geometry/box.py b/gprMax/cmds_geometry/box.py index 1544f7e5..e9d1cf7a 100644 --- a/gprMax/cmds_geometry/box.py +++ b/gprMax/cmds_geometry/box.py @@ -23,6 +23,7 @@ import numpy as np import gprMax.config as config from ..cython.geometry_primitives import build_box +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry, rotate_2point_object @@ -87,6 +88,7 @@ class Box(UserObjectGeometry): try: # Try user-specified averaging averagebox = self.kwargs["averaging"] + averagebox = check_averaging(averagebox) except KeyError: # Otherwise go with the grid default averagebox = grid.averagevolumeobjects diff --git a/gprMax/cmds_geometry/cone.py b/gprMax/cmds_geometry/cone.py index c8f53219..c1a6ee2c 100644 --- a/gprMax/cmds_geometry/cone.py +++ b/gprMax/cmds_geometry/cone.py @@ -21,6 +21,7 @@ import logging import numpy as np from ..cython.geometry_primitives import build_cone +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry @@ -61,10 +62,11 @@ class Cone(UserObjectGeometry): # Check averaging try: # Try user-specified averaging - averagecylinder = self.kwargs["averaging"] + averagecone = self.kwargs["averaging"] + averagecone = check_averaging(averagecone) except KeyError: # Otherwise go with the grid default - averagecylinder = grid.averagevolumeobjects + averagecone = grid.averagevolumeobjects # Check materials have been specified # Isotropic case @@ -106,7 +108,7 @@ class Cone(UserObjectGeometry): # Isotropic case if len(materials) == 1: - averaging = materials[0].averagable and averagecylinder + averaging = materials[0].averagable and averagecone numID = numIDx = numIDy = numIDz = materials[0].numID # Uniaxial anisotropic case diff --git a/gprMax/cmds_geometry/cylinder.py b/gprMax/cmds_geometry/cylinder.py index d29c015f..d96dd7fa 100644 --- a/gprMax/cmds_geometry/cylinder.py +++ b/gprMax/cmds_geometry/cylinder.py @@ -21,6 +21,7 @@ import logging import numpy as np from ..cython.geometry_primitives import build_cylinder +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry @@ -59,6 +60,7 @@ class Cylinder(UserObjectGeometry): try: # Try user-specified averaging averagecylinder = self.kwargs["averaging"] + averagecylinder = check_averaging(averagecylinder) except KeyError: # Otherwise go with the grid default averagecylinder = grid.averagevolumeobjects diff --git a/gprMax/cmds_geometry/cylindrical_sector.py b/gprMax/cmds_geometry/cylindrical_sector.py index 40a9e0ce..13142783 100644 --- a/gprMax/cmds_geometry/cylindrical_sector.py +++ b/gprMax/cmds_geometry/cylindrical_sector.py @@ -21,6 +21,7 @@ import logging import numpy as np from ..cython.geometry_primitives import build_cylindrical_sector +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry @@ -74,6 +75,7 @@ class CylindricalSector(UserObjectGeometry): try: # Try user-specified averaging averagecylindricalsector = self.kwargs["averaging"] + averagecylindricalsector = check_averaging(averagecylindricalsector) except KeyError: # Otherwise go with the grid default averagecylindricalsector = grid.averagevolumeobjects diff --git a/gprMax/cmds_geometry/ellipsoid.py b/gprMax/cmds_geometry/ellipsoid.py index dc4f16a1..fa5e825e 100644 --- a/gprMax/cmds_geometry/ellipsoid.py +++ b/gprMax/cmds_geometry/ellipsoid.py @@ -21,6 +21,7 @@ import logging import numpy as np from ..cython.geometry_primitives import build_ellipsoid +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry @@ -60,6 +61,7 @@ class Ellipsoid(UserObjectGeometry): try: # Try user-specified averaging averageellipsoid = self.kwargs["averaging"] + averageellipsoid = check_averaging(averageellipsoid) except KeyError: # Otherwise go with the grid default averageellipsoid = grid.averagevolumeobjects diff --git a/gprMax/cmds_geometry/sphere.py b/gprMax/cmds_geometry/sphere.py index 185cac80..b4e0e607 100644 --- a/gprMax/cmds_geometry/sphere.py +++ b/gprMax/cmds_geometry/sphere.py @@ -21,6 +21,7 @@ import logging import numpy as np from ..cython.geometry_primitives import build_sphere +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry @@ -55,6 +56,7 @@ class Sphere(UserObjectGeometry): try: # Try user-specified averaging averagesphere = self.kwargs["averaging"] + averagesphere = check_averaging(averagesphere) except KeyError: # Otherwise go with the grid default averagesphere = grid.averagevolumeobjects diff --git a/gprMax/cmds_geometry/triangle.py b/gprMax/cmds_geometry/triangle.py index 714524c2..29919de9 100644 --- a/gprMax/cmds_geometry/triangle.py +++ b/gprMax/cmds_geometry/triangle.py @@ -21,6 +21,7 @@ import logging import numpy as np from ..cython.geometry_primitives import build_triangle +from ..hash_cmds_geometry import check_averaging from ..materials import Material from .cmds_geometry import UserObjectGeometry, rotate_point @@ -80,6 +81,7 @@ class Triangle(UserObjectGeometry): try: # Try user-specified averaging averagetriangularprism = self.kwargs["averaging"] + averagetriangularprism = check_averaging(averagetriangularprism) except KeyError: # Otherwise go with the grid default averagetriangularprism = grid.averagevolumeobjects