From 09e6fe923a7642dd2a8983217f3e0e22c32fe702 Mon Sep 17 00:00:00 2001 From: nmannall Date: Wed, 11 Dec 2024 18:08:56 +0000 Subject: [PATCH] Move cmds_geometry into user_objects folder --- gprMax/__init__.py | 28 ++++---- gprMax/hash_cmds_geometry.py | 68 ++++++++++++------- .../cmds_geometry/__init__.py | 0 .../cmds_geometry/add_grass.py | 7 +- .../cmds_geometry/add_surface_roughness.py | 5 +- .../cmds_geometry/add_surface_water.py | 5 +- .../{ => user_objects}/cmds_geometry/box.py | 4 +- .../cmds_geometry/build_templates.py | 0 .../cmds_geometry/cmds_geometry.py | 0 .../{ => user_objects}/cmds_geometry/cone.py | 5 +- .../cmds_geometry/cylinder.py | 5 +- .../cmds_geometry/cylindrical_sector.py | 5 +- .../{ => user_objects}/cmds_geometry/edge.py | 4 +- .../cmds_geometry/ellipsoid.py | 5 +- .../cmds_geometry/fractal_box.py | 0 .../cmds_geometry/geometry_objects_read.py | 6 +- .../{ => user_objects}/cmds_geometry/plate.py | 4 +- .../cmds_geometry/sphere.py | 5 +- .../cmds_geometry/triangle.py | 5 +- 19 files changed, 95 insertions(+), 66 deletions(-) rename gprMax/{ => user_objects}/cmds_geometry/__init__.py (100%) rename gprMax/{ => user_objects}/cmds_geometry/add_grass.py (96%) rename gprMax/{ => user_objects}/cmds_geometry/add_surface_roughness.py (96%) rename gprMax/{ => user_objects}/cmds_geometry/add_surface_water.py (96%) rename gprMax/{ => user_objects}/cmds_geometry/box.py (95%) rename gprMax/{ => user_objects}/cmds_geometry/build_templates.py (100%) rename gprMax/{ => user_objects}/cmds_geometry/cmds_geometry.py (100%) rename gprMax/{ => user_objects}/cmds_geometry/cone.py (98%) rename gprMax/{ => user_objects}/cmds_geometry/cylinder.py (95%) rename gprMax/{ => user_objects}/cmds_geometry/cylindrical_sector.py (96%) rename gprMax/{ => user_objects}/cmds_geometry/edge.py (94%) rename gprMax/{ => user_objects}/cmds_geometry/ellipsoid.py (98%) rename gprMax/{ => user_objects}/cmds_geometry/fractal_box.py (100%) rename gprMax/{ => user_objects}/cmds_geometry/geometry_objects_read.py (97%) rename gprMax/{ => user_objects}/cmds_geometry/plate.py (95%) rename gprMax/{ => user_objects}/cmds_geometry/sphere.py (95%) rename gprMax/{ => user_objects}/cmds_geometry/triangle.py (96%) diff --git a/gprMax/__init__.py b/gprMax/__init__.py index f8e613ad..1a1aa4c5 100644 --- a/gprMax/__init__.py +++ b/gprMax/__init__.py @@ -10,23 +10,23 @@ Electromagnetic wave propagation simulation software. import gprMax.config as config from ._version import __version__ -from .cmds_geometry.add_grass import AddGrass -from .cmds_geometry.add_surface_roughness import AddSurfaceRoughness -from .cmds_geometry.add_surface_water import AddSurfaceWater -from .cmds_geometry.box import Box -from .cmds_geometry.cone import Cone -from .cmds_geometry.cylinder import Cylinder -from .cmds_geometry.cylindrical_sector import CylindricalSector -from .cmds_geometry.edge import Edge -from .cmds_geometry.ellipsoid import Ellipsoid -from .cmds_geometry.fractal_box import FractalBox -from .cmds_geometry.geometry_objects_read import GeometryObjectsRead -from .cmds_geometry.plate import Plate -from .cmds_geometry.sphere import Sphere -from .cmds_geometry.triangle import Triangle from .gprMax import run as run from .scene import Scene from .subgrids.user_objects import SubGridHSG +from .user_objects.cmds_geometry.add_grass import AddGrass +from .user_objects.cmds_geometry.add_surface_roughness import AddSurfaceRoughness +from .user_objects.cmds_geometry.add_surface_water import AddSurfaceWater +from .user_objects.cmds_geometry.box import Box +from .user_objects.cmds_geometry.cone import Cone +from .user_objects.cmds_geometry.cylinder import Cylinder +from .user_objects.cmds_geometry.cylindrical_sector import CylindricalSector +from .user_objects.cmds_geometry.edge import Edge +from .user_objects.cmds_geometry.ellipsoid import Ellipsoid +from .user_objects.cmds_geometry.fractal_box import FractalBox +from .user_objects.cmds_geometry.geometry_objects_read import GeometryObjectsRead +from .user_objects.cmds_geometry.plate import Plate +from .user_objects.cmds_geometry.sphere import Sphere +from .user_objects.cmds_geometry.triangle import Triangle from .user_objects.cmds_multiuse import ( PMLCFS, AddDebyeDispersion, diff --git a/gprMax/hash_cmds_geometry.py b/gprMax/hash_cmds_geometry.py index 1d53b980..1cb068d3 100644 --- a/gprMax/hash_cmds_geometry.py +++ b/gprMax/hash_cmds_geometry.py @@ -20,20 +20,20 @@ import logging import numpy as np -from .cmds_geometry.add_grass import AddGrass -from .cmds_geometry.add_surface_roughness import AddSurfaceRoughness -from .cmds_geometry.add_surface_water import AddSurfaceWater -from .cmds_geometry.box import Box -from .cmds_geometry.cmds_geometry import check_averaging -from .cmds_geometry.cone import Cone -from .cmds_geometry.cylinder import Cylinder -from .cmds_geometry.cylindrical_sector import CylindricalSector -from .cmds_geometry.edge import Edge -from .cmds_geometry.ellipsoid import Ellipsoid -from .cmds_geometry.fractal_box import FractalBox -from .cmds_geometry.plate import Plate -from .cmds_geometry.sphere import Sphere -from .cmds_geometry.triangle import Triangle +from .user_objects.cmds_geometry.add_grass import AddGrass +from .user_objects.cmds_geometry.add_surface_roughness import AddSurfaceRoughness +from .user_objects.cmds_geometry.add_surface_water import AddSurfaceWater +from .user_objects.cmds_geometry.box import Box +from .user_objects.cmds_geometry.cmds_geometry import check_averaging +from .user_objects.cmds_geometry.cone import Cone +from .user_objects.cmds_geometry.cylinder import Cylinder +from .user_objects.cmds_geometry.cylindrical_sector import CylindricalSector +from .user_objects.cmds_geometry.edge import Edge +from .user_objects.cmds_geometry.ellipsoid import Ellipsoid +from .user_objects.cmds_geometry.fractal_box import FractalBox +from .user_objects.cmds_geometry.plate import Plate +from .user_objects.cmds_geometry.sphere import Sphere +from .user_objects.cmds_geometry.triangle import Triangle from .utilities.utilities import round_value logger = logging.getLogger(__name__) @@ -57,8 +57,7 @@ def process_geometrycmds(geometry): tmp = object.split() if tmp[0] == "#geometry_objects_read:": - from .cmds_geometry.geometry_objects_read import \ - GeometryObjectsRead + from .user_objects.cmds_geometry.geometry_objects_read import GeometryObjectsRead if len(tmp) != 6: logger.exception("'" + " ".join(tmp) + "'" + " requires exactly five parameters") @@ -126,7 +125,14 @@ def process_geometrycmds(geometry): # Isotropic case with user specified averaging elif len(tmp) == 13: averaging = check_averaging(tmp[12].lower()) - triangle = Triangle(p1=p1, p2=p2, p3=p3, thickness=thickness, material_id=tmp[11], averaging=averaging) + triangle = Triangle( + p1=p1, + p2=p2, + p3=p3, + thickness=thickness, + material_id=tmp[11], + averaging=averaging, + ) # Uniaxial anisotropic case elif len(tmp) == 14: @@ -330,7 +336,9 @@ def process_geometrycmds(geometry): # Isotropic case with user specified averaging elif len(tmp) == 9: averaging = check_averaging(tmp[8].lower()) - ellipsoid = Ellipsoid(p1=p1, xr=xr, yr=yr, zr=zr, material_id=tmp[7], averaging=averaging) + ellipsoid = Ellipsoid( + p1=p1, xr=xr, yr=yr, zr=zr, material_id=tmp[7], averaging=averaging + ) # Uniaxial anisotropic case elif len(tmp) == 8: @@ -346,7 +354,9 @@ def process_geometrycmds(geometry): # Default is no dielectric smoothing for a fractal box if len(tmp) < 14: - logger.exception("'" + " ".join(tmp) + "'" + " requires at least thirteen parameters") + logger.exception( + "'" + " ".join(tmp) + "'" + " requires at least thirteen parameters" + ) raise ValueError p1 = (float(tmp[1]), float(tmp[2]), float(tmp[3])) @@ -402,7 +412,9 @@ def process_geometrycmds(geometry): if tmp[0] == "#add_surface_roughness:": if len(tmp) < 13: - logger.exception("'" + " ".join(tmp) + "'" + " requires at least twelve parameters") + logger.exception( + "'" + " ".join(tmp) + "'" + " requires at least twelve parameters" + ) raise ValueError p1 = (float(tmp[1]), float(tmp[2]), float(tmp[3])) @@ -432,14 +444,18 @@ def process_geometrycmds(geometry): seed=int(tmp[13]), ) else: - logger.exception("'" + " ".join(tmp) + "'" + " too many parameters have been given") + logger.exception( + "'" + " ".join(tmp) + "'" + " too many parameters have been given" + ) raise ValueError scene_objects.append(asr) if tmp[0] == "#add_surface_water:": if len(tmp) != 9: - logger.exception("'" + " ".join(tmp) + "'" + " requires exactly eight parameters") + logger.exception( + "'" + " ".join(tmp) + "'" + " requires exactly eight parameters" + ) raise ValueError p1 = (float(tmp[1]), float(tmp[2]), float(tmp[3])) @@ -452,7 +468,9 @@ def process_geometrycmds(geometry): if tmp[0] == "#add_grass:": if len(tmp) < 12: - logger.exception("'" + " ".join(tmp) + "'" + " requires at least eleven parameters") + logger.exception( + "'" + " ".join(tmp) + "'" + " requires at least eleven parameters" + ) raise ValueError p1 = (float(tmp[1]), float(tmp[2]), float(tmp[3])) @@ -482,7 +500,9 @@ def process_geometrycmds(geometry): seed=int(tmp[12]), ) else: - logger.exception("'" + " ".join(tmp) + "'" + " too many parameters have been given") + logger.exception( + "'" + " ".join(tmp) + "'" + " too many parameters have been given" + ) raise ValueError scene_objects.append(grass) diff --git a/gprMax/cmds_geometry/__init__.py b/gprMax/user_objects/cmds_geometry/__init__.py similarity index 100% rename from gprMax/cmds_geometry/__init__.py rename to gprMax/user_objects/cmds_geometry/__init__.py diff --git a/gprMax/cmds_geometry/add_grass.py b/gprMax/user_objects/cmds_geometry/add_grass.py similarity index 96% rename from gprMax/cmds_geometry/add_grass.py rename to gprMax/user_objects/cmds_geometry/add_grass.py index fa263173..517b39e5 100644 --- a/gprMax/cmds_geometry/add_grass.py +++ b/gprMax/user_objects/cmds_geometry/add_grass.py @@ -20,9 +20,10 @@ import logging import numpy as np -from ..fractals import FractalSurface, Grass -from ..materials import create_grass -from ..utilities.utilities import round_value +from gprMax.fractals import FractalSurface, Grass +from gprMax.materials import create_grass +from gprMax.utilities.utilities import round_value + from .cmds_geometry import UserObjectGeometry, rotate_2point_object logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/add_surface_roughness.py b/gprMax/user_objects/cmds_geometry/add_surface_roughness.py similarity index 96% rename from gprMax/cmds_geometry/add_surface_roughness.py rename to gprMax/user_objects/cmds_geometry/add_surface_roughness.py index a127a1ae..735def56 100644 --- a/gprMax/cmds_geometry/add_surface_roughness.py +++ b/gprMax/user_objects/cmds_geometry/add_surface_roughness.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..fractals import FractalSurface -from ..utilities.utilities import round_value +from gprMax.fractals import FractalSurface +from gprMax.utilities.utilities import round_value + from .cmds_geometry import UserObjectGeometry, rotate_2point_object logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/add_surface_water.py b/gprMax/user_objects/cmds_geometry/add_surface_water.py similarity index 96% rename from gprMax/cmds_geometry/add_surface_water.py rename to gprMax/user_objects/cmds_geometry/add_surface_water.py index 79a6af72..79ec3df5 100644 --- a/gprMax/cmds_geometry/add_surface_water.py +++ b/gprMax/user_objects/cmds_geometry/add_surface_water.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..materials import create_water -from ..utilities.utilities import round_value +from gprMax.materials import create_water +from gprMax.utilities.utilities import round_value + from .cmds_geometry import UserObjectGeometry, rotate_2point_object logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/box.py b/gprMax/user_objects/cmds_geometry/box.py similarity index 95% rename from gprMax/cmds_geometry/box.py rename to gprMax/user_objects/cmds_geometry/box.py index 564a4132..0ebf05c6 100644 --- a/gprMax/cmds_geometry/box.py +++ b/gprMax/user_objects/cmds_geometry/box.py @@ -21,9 +21,9 @@ import logging import numpy as np import gprMax.config as config +from gprMax.cython.geometry_primitives import build_box +from gprMax.materials import Material -from ..cython.geometry_primitives import build_box -from ..materials import Material from .cmds_geometry import UserObjectGeometry, check_averaging, rotate_2point_object logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/build_templates.py b/gprMax/user_objects/cmds_geometry/build_templates.py similarity index 100% rename from gprMax/cmds_geometry/build_templates.py rename to gprMax/user_objects/cmds_geometry/build_templates.py diff --git a/gprMax/cmds_geometry/cmds_geometry.py b/gprMax/user_objects/cmds_geometry/cmds_geometry.py similarity index 100% rename from gprMax/cmds_geometry/cmds_geometry.py rename to gprMax/user_objects/cmds_geometry/cmds_geometry.py diff --git a/gprMax/cmds_geometry/cone.py b/gprMax/user_objects/cmds_geometry/cone.py similarity index 98% rename from gprMax/cmds_geometry/cone.py rename to gprMax/user_objects/cmds_geometry/cone.py index 54f0e2c3..11218c86 100644 --- a/gprMax/cmds_geometry/cone.py +++ b/gprMax/user_objects/cmds_geometry/cone.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..cython.geometry_primitives import build_cone -from ..materials import Material +from gprMax.cython.geometry_primitives import build_cone +from gprMax.materials import Material + from .cmds_geometry import UserObjectGeometry, check_averaging logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/cylinder.py b/gprMax/user_objects/cmds_geometry/cylinder.py similarity index 95% rename from gprMax/cmds_geometry/cylinder.py rename to gprMax/user_objects/cmds_geometry/cylinder.py index 583645dd..8a668f3b 100644 --- a/gprMax/cmds_geometry/cylinder.py +++ b/gprMax/user_objects/cmds_geometry/cylinder.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..cython.geometry_primitives import build_cylinder -from ..materials import Material +from gprMax.cython.geometry_primitives import build_cylinder +from gprMax.materials import Material + from .cmds_geometry import UserObjectGeometry, check_averaging logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/cylindrical_sector.py b/gprMax/user_objects/cmds_geometry/cylindrical_sector.py similarity index 96% rename from gprMax/cmds_geometry/cylindrical_sector.py rename to gprMax/user_objects/cmds_geometry/cylindrical_sector.py index a9d1924d..d2f20d9d 100644 --- a/gprMax/cmds_geometry/cylindrical_sector.py +++ b/gprMax/user_objects/cmds_geometry/cylindrical_sector.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..cython.geometry_primitives import build_cylindrical_sector -from ..materials import Material +from gprMax.cython.geometry_primitives import build_cylindrical_sector +from gprMax.materials import Material + from .cmds_geometry import UserObjectGeometry, check_averaging logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/edge.py b/gprMax/user_objects/cmds_geometry/edge.py similarity index 94% rename from gprMax/cmds_geometry/edge.py rename to gprMax/user_objects/cmds_geometry/edge.py index 45acca04..ddbc2101 100644 --- a/gprMax/cmds_geometry/edge.py +++ b/gprMax/user_objects/cmds_geometry/edge.py @@ -20,8 +20,8 @@ import logging import numpy as np -from ..cython.geometry_primitives import (build_edge_x, build_edge_y, - build_edge_z) +from gprMax.cython.geometry_primitives import build_edge_x, build_edge_y, build_edge_z + from .cmds_geometry import UserObjectGeometry, rotate_2point_object logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/ellipsoid.py b/gprMax/user_objects/cmds_geometry/ellipsoid.py similarity index 98% rename from gprMax/cmds_geometry/ellipsoid.py rename to gprMax/user_objects/cmds_geometry/ellipsoid.py index 2919c41d..d78963c0 100644 --- a/gprMax/cmds_geometry/ellipsoid.py +++ b/gprMax/user_objects/cmds_geometry/ellipsoid.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..cython.geometry_primitives import build_ellipsoid -from ..materials import Material +from gprMax.cython.geometry_primitives import build_ellipsoid +from gprMax.materials import Material + from .cmds_geometry import UserObjectGeometry, check_averaging logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/fractal_box.py b/gprMax/user_objects/cmds_geometry/fractal_box.py similarity index 100% rename from gprMax/cmds_geometry/fractal_box.py rename to gprMax/user_objects/cmds_geometry/fractal_box.py diff --git a/gprMax/cmds_geometry/geometry_objects_read.py b/gprMax/user_objects/cmds_geometry/geometry_objects_read.py similarity index 97% rename from gprMax/cmds_geometry/geometry_objects_read.py rename to gprMax/user_objects/cmds_geometry/geometry_objects_read.py index 46b7c243..01526962 100644 --- a/gprMax/cmds_geometry/geometry_objects_read.py +++ b/gprMax/user_objects/cmds_geometry/geometry_objects_read.py @@ -22,10 +22,10 @@ from pathlib import Path import h5py import gprMax.config as config +from gprMax.cython.geometry_primitives import build_voxels_from_array +from gprMax.hash_cmds_file import get_user_objects +from gprMax.utilities.utilities import round_value -from ..cython.geometry_primitives import build_voxels_from_array -from ..hash_cmds_file import get_user_objects -from ..utilities.utilities import round_value from .cmds_geometry import UserObjectGeometry logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/plate.py b/gprMax/user_objects/cmds_geometry/plate.py similarity index 95% rename from gprMax/cmds_geometry/plate.py rename to gprMax/user_objects/cmds_geometry/plate.py index 90557b0e..0702a6f4 100644 --- a/gprMax/cmds_geometry/plate.py +++ b/gprMax/user_objects/cmds_geometry/plate.py @@ -20,8 +20,8 @@ import logging import numpy as np -from ..cython.geometry_primitives import (build_face_xy, build_face_xz, - build_face_yz) +from gprMax.cython.geometry_primitives import build_face_xy, build_face_xz, build_face_yz + from .cmds_geometry import UserObjectGeometry, rotate_2point_object logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/sphere.py b/gprMax/user_objects/cmds_geometry/sphere.py similarity index 95% rename from gprMax/cmds_geometry/sphere.py rename to gprMax/user_objects/cmds_geometry/sphere.py index d3577b34..300f1bb1 100644 --- a/gprMax/cmds_geometry/sphere.py +++ b/gprMax/user_objects/cmds_geometry/sphere.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..cython.geometry_primitives import build_sphere -from ..materials import Material +from gprMax.cython.geometry_primitives import build_sphere +from gprMax.materials import Material + from .cmds_geometry import UserObjectGeometry, check_averaging logger = logging.getLogger(__name__) diff --git a/gprMax/cmds_geometry/triangle.py b/gprMax/user_objects/cmds_geometry/triangle.py similarity index 96% rename from gprMax/cmds_geometry/triangle.py rename to gprMax/user_objects/cmds_geometry/triangle.py index 17d4abd7..8e9a646b 100644 --- a/gprMax/cmds_geometry/triangle.py +++ b/gprMax/user_objects/cmds_geometry/triangle.py @@ -20,8 +20,9 @@ import logging import numpy as np -from ..cython.geometry_primitives import build_triangle -from ..materials import Material +from gprMax.cython.geometry_primitives import build_triangle +from gprMax.materials import Material + from .cmds_geometry import UserObjectGeometry, check_averaging, rotate_point logger = logging.getLogger(__name__)