你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 15:10:13 +08:00
97 行
3.0 KiB
Python
97 行
3.0 KiB
Python
import reframe as rfm
|
|
from reframe.core.builtins import parameter, run_before
|
|
|
|
from reframe_tests.tests.mixins import AntennaModelMixin, MpiMixin
|
|
from reframe_tests.tests.standard_tests import GprMaxRegressionTest
|
|
|
|
"""Reframe regression tests for models defining geometry
|
|
"""
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestBoxGeometryDefaultPml(GprMaxRegressionTest):
|
|
tags = {"test", "serial", "geometery", "box"}
|
|
sourcesdir = "src/geometry_tests/box_geometry"
|
|
model = parameter(
|
|
[
|
|
"box_full_model",
|
|
"box_half_model",
|
|
"box_single_rank",
|
|
"box_outside_pml",
|
|
"box_single_rank_outside_pml",
|
|
]
|
|
)
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestBoxGeometryNoPml(GprMaxRegressionTest):
|
|
tags = {"test", "serial", "geometery", "box"}
|
|
sourcesdir = "src/geometry_tests/box_geometry"
|
|
model = parameter(["box_full_model", "box_half_model", "box_single_rank"])
|
|
|
|
@run_before("run")
|
|
def add_gprmax_commands(self):
|
|
self.prerun_cmds.append(f"echo '#pml_cells: 0' >> {self.input_file}")
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestConeGeometry(GprMaxRegressionTest):
|
|
tags = {"test", "serial", "geometery", "cone"}
|
|
sourcesdir = "src/geometry_tests/cone_geometry"
|
|
model = parameter(
|
|
["full_cone", "small_cone", "non_axis_aligned_cone", "overtall_cone", "rigid_cone"]
|
|
)
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestSphereGeometry(GprMaxRegressionTest):
|
|
tags = {"test", "serial", "geometery", "sphere"}
|
|
sourcesdir = "src/geometry_tests/sphere_geometry"
|
|
model = parameter(["sphere_full", "sphere_small", "sphere_outside_boundary", "sphere_rigid"])
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestEdgeGeometry(AntennaModelMixin, GprMaxRegressionTest):
|
|
tags = {"test", "serial", "geometry", "edge", "transmission_line", "waveform", "antenna"}
|
|
sourcesdir = "src/geometry_tests/edge_geometry"
|
|
model = parameter(["antenna_wire_dipole_fs"])
|
|
|
|
|
|
"""Test MPI Functionality
|
|
"""
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestBoxGeometryDefaultPmlMpi(MpiMixin, TestBoxGeometryDefaultPml):
|
|
tags = {"test", "mpi", "geometery", "box"}
|
|
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
|
|
test_dependency = TestBoxGeometryDefaultPml
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestBoxGeometryNoPmlMpi(MpiMixin, TestBoxGeometryNoPml):
|
|
tags = {"test", "mpi", "geometery", "box"}
|
|
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
|
|
test_dependency = TestBoxGeometryNoPml
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestConeGeometryMpi(MpiMixin, TestConeGeometry):
|
|
tags = {"test", "mpi", "geometery", "cone"}
|
|
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
|
|
test_dependency = TestConeGeometry
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestSphereGeometryMpi(MpiMixin, TestSphereGeometry):
|
|
tags = {"test", "mpi", "geometery", "sphere"}
|
|
mpi_layout = parameter([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
|
|
test_dependency = TestSphereGeometry
|
|
|
|
|
|
@rfm.simple_test
|
|
class TestEdgeGeometryMpi(MpiMixin, TestEdgeGeometry):
|
|
tags = {"test", "mpi", "geometry", "edge", "transmission_line", "waveform", "antenna"}
|
|
mpi_layout = parameter([[3, 3, 3]])
|
|
test_dependency = TestEdgeGeometry
|