你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 23:14:03 +08:00
Updated structure to group Cython and CUDA modules in separate folders.
这个提交包含在:
0
gprMax/cython/__init__.py
普通文件
0
gprMax/cython/__init__.py
普通文件
@@ -20,16 +20,16 @@ import numpy as np
|
|||||||
cimport numpy as np
|
cimport numpy as np
|
||||||
|
|
||||||
from gprMax.utilities import round_value
|
from gprMax.utilities import round_value
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_Ex
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_Ex
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_Ey
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_Ey
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_Ez
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_Ez
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_Hx
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_Hx
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_Hy
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_Hy
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_Hz
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_Hz
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_E
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_E
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport unset_rigid_E
|
from gprMax.cython.yee_cell_setget_rigid cimport unset_rigid_E
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport set_rigid_H
|
from gprMax.cython.yee_cell_setget_rigid cimport set_rigid_H
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport unset_rigid_H
|
from gprMax.cython.yee_cell_setget_rigid cimport unset_rigid_H
|
||||||
|
|
||||||
np.seterr(divide='raise')
|
np.seterr(divide='raise')
|
||||||
|
|
@@ -20,12 +20,12 @@ import numpy as np
|
|||||||
cimport numpy as np
|
cimport numpy as np
|
||||||
|
|
||||||
from gprMax.materials import Material
|
from gprMax.materials import Material
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport get_rigid_Ex
|
from gprMax.cython.yee_cell_setget_rigid cimport get_rigid_Ex
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport get_rigid_Ey
|
from gprMax.cython.yee_cell_setget_rigid cimport get_rigid_Ey
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport get_rigid_Ez
|
from gprMax.cython.yee_cell_setget_rigid cimport get_rigid_Ez
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport get_rigid_Hx
|
from gprMax.cython.yee_cell_setget_rigid cimport get_rigid_Hx
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport get_rigid_Hy
|
from gprMax.cython.yee_cell_setget_rigid cimport get_rigid_Hy
|
||||||
from gprMax.yee_cell_setget_rigid_ext cimport get_rigid_Hz
|
from gprMax.cython.yee_cell_setget_rigid cimport get_rigid_Hz
|
||||||
|
|
||||||
|
|
||||||
cpdef void create_electric_average(int i, int j, int k, int numID1, int numID2, int numID3, int numID4, int componentID, G):
|
cpdef void create_electric_average(int i, int j, int k, int numID1, int numID2, int numID3, int numID4, int componentID, G):
|
@@ -22,8 +22,8 @@ from scipy import fftpack
|
|||||||
from gprMax.config import floattype
|
from gprMax.config import floattype
|
||||||
from gprMax.config import complextype
|
from gprMax.config import complextype
|
||||||
from gprMax.config import hostinfo
|
from gprMax.config import hostinfo
|
||||||
from gprMax.fractals_generate_ext import generate_fractal2D
|
from gprMax.cython.fractals_generate import generate_fractal2D
|
||||||
from gprMax.fractals_generate_ext import generate_fractal3D
|
from gprMax.cython.fractals_generate import generate_fractal3D
|
||||||
from gprMax.utilities import round_value
|
from gprMax.utilities import round_value
|
||||||
|
|
||||||
np.seterr(divide='raise')
|
np.seterr(divide='raise')
|
||||||
|
@@ -24,8 +24,8 @@ import numpy as np
|
|||||||
from struct import pack
|
from struct import pack
|
||||||
|
|
||||||
from gprMax._version import __version__
|
from gprMax._version import __version__
|
||||||
from gprMax.geometry_outputs_ext import define_normal_geometry
|
from gprMax.cython.geometry_outputs import define_normal_geometry
|
||||||
from gprMax.geometry_outputs_ext import define_fine_geometry
|
from gprMax.cython.geometry_outputs import define_fine_geometry
|
||||||
from gprMax.utilities import round_value
|
from gprMax.utilities import round_value
|
||||||
|
|
||||||
|
|
||||||
|
@@ -32,19 +32,19 @@ from gprMax.exceptions import CmdInputError
|
|||||||
from gprMax.fractals import FractalSurface
|
from gprMax.fractals import FractalSurface
|
||||||
from gprMax.fractals import FractalVolume
|
from gprMax.fractals import FractalVolume
|
||||||
from gprMax.fractals import Grass
|
from gprMax.fractals import Grass
|
||||||
from gprMax.geometry_primitives_ext import build_edge_x
|
from gprMax.cython.geometry_primitives import build_edge_x
|
||||||
from gprMax.geometry_primitives_ext import build_edge_y
|
from gprMax.cython.geometry_primitives import build_edge_y
|
||||||
from gprMax.geometry_primitives_ext import build_edge_z
|
from gprMax.cython.geometry_primitives import build_edge_z
|
||||||
from gprMax.geometry_primitives_ext import build_face_yz
|
from gprMax.cython.geometry_primitives import build_face_yz
|
||||||
from gprMax.geometry_primitives_ext import build_face_xz
|
from gprMax.cython.geometry_primitives import build_face_xz
|
||||||
from gprMax.geometry_primitives_ext import build_face_xy
|
from gprMax.cython.geometry_primitives import build_face_xy
|
||||||
from gprMax.geometry_primitives_ext import build_triangle
|
from gprMax.cython.geometry_primitives import build_triangle
|
||||||
from gprMax.geometry_primitives_ext import build_box
|
from gprMax.cython.geometry_primitives import build_box
|
||||||
from gprMax.geometry_primitives_ext import build_cylinder
|
from gprMax.cython.geometry_primitives import build_cylinder
|
||||||
from gprMax.geometry_primitives_ext import build_cylindrical_sector
|
from gprMax.cython.geometry_primitives import build_cylindrical_sector
|
||||||
from gprMax.geometry_primitives_ext import build_sphere
|
from gprMax.cython.geometry_primitives import build_sphere
|
||||||
from gprMax.geometry_primitives_ext import build_voxels_from_array
|
from gprMax.cython.geometry_primitives import build_voxels_from_array
|
||||||
from gprMax.geometry_primitives_ext import build_voxels_from_array_mask
|
from gprMax.cython.geometry_primitives import build_voxels_from_array_mask
|
||||||
from gprMax.materials import Material
|
from gprMax.materials import Material
|
||||||
from gprMax.utilities import round_value
|
from gprMax.utilities import round_value
|
||||||
from gprMax.utilities import get_terminal_width
|
from gprMax.utilities import get_terminal_width
|
||||||
|
@@ -47,13 +47,13 @@ from gprMax.fields_outputs import store_outputs
|
|||||||
from gprMax.fields_outputs import kernel_template_store_outputs
|
from gprMax.fields_outputs import kernel_template_store_outputs
|
||||||
from gprMax.fields_outputs import write_hdf5_outputfile
|
from gprMax.fields_outputs import write_hdf5_outputfile
|
||||||
|
|
||||||
from gprMax.fields_updates_ext import update_electric
|
from gprMax.cython.fields_updates import update_electric
|
||||||
from gprMax.fields_updates_ext import update_magnetic
|
from gprMax.cython.fields_updates import update_magnetic
|
||||||
from gprMax.fields_updates_ext import update_electric_dispersive_multipole_A
|
from gprMax.cython.fields_updates import update_electric_dispersive_multipole_A
|
||||||
from gprMax.fields_updates_ext import update_electric_dispersive_multipole_B
|
from gprMax.cython.fields_updates import update_electric_dispersive_multipole_B
|
||||||
from gprMax.fields_updates_ext import update_electric_dispersive_1pole_A
|
from gprMax.cython.fields_updates import update_electric_dispersive_1pole_A
|
||||||
from gprMax.fields_updates_ext import update_electric_dispersive_1pole_B
|
from gprMax.cython.fields_updates import update_electric_dispersive_1pole_B
|
||||||
from gprMax.fields_updates_gpu import kernels_template_fields
|
from gprMax.cuda.fields_updates import kernels_template_fields
|
||||||
|
|
||||||
from gprMax.grid import FDTDGrid
|
from gprMax.grid import FDTDGrid
|
||||||
from gprMax.grid import dispersion_analysis
|
from gprMax.grid import dispersion_analysis
|
||||||
@@ -74,16 +74,16 @@ from gprMax.receivers import gpu_get_rx_array
|
|||||||
from gprMax.snapshots import Snapshot
|
from gprMax.snapshots import Snapshot
|
||||||
from gprMax.snapshots import gpu_initialise_snapshot_array
|
from gprMax.snapshots import gpu_initialise_snapshot_array
|
||||||
from gprMax.snapshots import gpu_get_snapshot_array
|
from gprMax.snapshots import gpu_get_snapshot_array
|
||||||
from gprMax.snapshots_gpu import kernel_template_store_snapshot
|
from gprMax.cuda.snapshots import kernel_template_store_snapshot
|
||||||
from gprMax.sources import gpu_initialise_src_arrays
|
from gprMax.sources import gpu_initialise_src_arrays
|
||||||
from gprMax.source_updates_gpu import kernels_template_sources
|
from gprMax.cuda.source_updates import kernels_template_sources
|
||||||
from gprMax.utilities import get_terminal_width
|
from gprMax.utilities import get_terminal_width
|
||||||
from gprMax.utilities import human_size
|
from gprMax.utilities import human_size
|
||||||
from gprMax.utilities import open_path_file
|
from gprMax.utilities import open_path_file
|
||||||
from gprMax.utilities import round32
|
from gprMax.utilities import round32
|
||||||
from gprMax.utilities import timer
|
from gprMax.utilities import timer
|
||||||
from gprMax.yee_cell_build_ext import build_electric_components
|
from gprMax.cython.yee_cell_build import build_electric_components
|
||||||
from gprMax.yee_cell_build_ext import build_magnetic_components
|
from gprMax.cython.yee_cell_build import build_magnetic_components
|
||||||
|
|
||||||
|
|
||||||
def run_model(args, currentmodelrun, modelend, numbermodelruns, inputfile, usernamespace):
|
def run_model(args, currentmodelrun, modelend, numbermodelruns, inputfile, usernamespace):
|
||||||
|
@@ -281,7 +281,7 @@ class PML(object):
|
|||||||
G (class): Grid class instance - holds essential parameters describing the model.
|
G (class): Grid class instance - holds essential parameters describing the model.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pmlmodule = 'gprMax.pml_updates.pml_updates_electric_' + G.pmlformulation + '_ext'
|
pmlmodule = 'gprMax.cython.pml_updates_electric_' + G.pmlformulation
|
||||||
func = getattr(import_module(pmlmodule), 'order' + str(len(self.CFS)) + '_' + self.direction)
|
func = getattr(import_module(pmlmodule), 'order' + str(len(self.CFS)) + '_' + self.direction)
|
||||||
func(self.xs, self.xf, self.ys, self.yf, self.zs, self.zf, hostinfo['ompthreads'], G.updatecoeffsE, G.ID, G.Ex, G.Ey, G.Ez, G.Hx, G.Hy, G.Hz, self.EPhi1, self.EPhi2, self.ERA, self.ERB, self.ERE, self.ERF, self.d)
|
func(self.xs, self.xf, self.ys, self.yf, self.zs, self.zf, hostinfo['ompthreads'], G.updatecoeffsE, G.ID, G.Ex, G.Ey, G.Ez, G.Hx, G.Hy, G.Hz, self.EPhi1, self.EPhi2, self.ERA, self.ERB, self.ERE, self.ERF, self.d)
|
||||||
|
|
||||||
@@ -292,7 +292,7 @@ class PML(object):
|
|||||||
G (class): Grid class instance - holds essential parameters describing the model.
|
G (class): Grid class instance - holds essential parameters describing the model.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pmlmodule = 'gprMax.pml_updates.pml_updates_magnetic_' + G.pmlformulation + '_ext'
|
pmlmodule = 'gprMax.cython.pml_updates_magnetic_' + G.pmlformulation
|
||||||
func = getattr(import_module(pmlmodule), 'order' + str(len(self.CFS)) + '_' + self.direction)
|
func = getattr(import_module(pmlmodule), 'order' + str(len(self.CFS)) + '_' + self.direction)
|
||||||
func(self.xs, self.xf, self.ys, self.yf, self.zs, self.zf, hostinfo['ompthreads'], G.updatecoeffsH, G.ID, G.Ex, G.Ey, G.Ez, G.Hx, G.Hy, G.Hz, self.HPhi1, self.HPhi2, self.HRA, self.HRB, self.HRE, self.HRF, self.d)
|
func(self.xs, self.xf, self.ys, self.yf, self.zs, self.zf, hostinfo['ompthreads'], G.updatecoeffsH, G.ID, G.Ex, G.Ey, G.Ez, G.Hx, G.Hy, G.Hz, self.HPhi1, self.HPhi2, self.HRA, self.HRB, self.HRE, self.HRF, self.d)
|
||||||
|
|
||||||
|
@@ -24,7 +24,7 @@ import numpy as np
|
|||||||
|
|
||||||
from gprMax.config import floattype
|
from gprMax.config import floattype
|
||||||
from gprMax.config import snapsgpu2cpu
|
from gprMax.config import snapsgpu2cpu
|
||||||
from gprMax.snapshots_ext import calculate_snapshot_fields
|
from gprMax.cython.snapshots import calculate_snapshot_fields
|
||||||
from gprMax.utilities import round_value
|
from gprMax.utilities import round_value
|
||||||
|
|
||||||
|
|
||||||
|
4
setup.py
4
setup.py
@@ -51,8 +51,8 @@ with open('README.rst','r') as fd:
|
|||||||
long_description = fd.read()
|
long_description = fd.read()
|
||||||
|
|
||||||
# Python version
|
# Python version
|
||||||
if sys.version_info[:2] < (3, 4):
|
if sys.version_info[:2] < (3, 6):
|
||||||
sys.exit('\nExited: Requires Python 3.4 or newer!\n')
|
sys.exit('\nExited: Requires Python 3.6 or newer!\n')
|
||||||
|
|
||||||
# Process 'build' command line argument
|
# Process 'build' command line argument
|
||||||
if 'build' in sys.argv:
|
if 'build' in sys.argv:
|
||||||
|
在新工单中引用
屏蔽一个用户