提交图

3082 次代码提交

作者 SHA1 备注 提交日期
Nathan Mannall
e81a498832 Fix incorrect size and slice when step != 1 2025-03-07 12:44:39 +00:00
Nathan Mannall
9d19bbb2bb Remove unnecessary import statement 2025-03-07 12:44:09 +00:00
Nathan Mannall
79bc567022 Update snapshots for parallel build
- Snapshots now use the GridView class
- Snashot type hints have been removed from FDTDGrid and MPIGrid as this
  would cause circular imports
2025-03-07 12:42:34 +00:00
Nathan Mannall
ed649fa699 Write geometry view metadata before material data
- Writing metadata requires collective communication. This should be
  completed first to avoid ranks having to wait for all other ranks to
  complete the longer I/O operation of writing out the material data.
2025-03-06 15:31:37 +00:00
Nathan Mannall
44d0a4d333 Log a warning if geometry only but not geometry to output
- It is possible for an MPI rank to have no geometry to output while
  others do. However it is still worth logging a warning as the work
  is not being well distributed across the ranks.
- For non-MPI runs, a warning still notifies them of a problem.
2025-03-06 15:26:11 +00:00
Nathan Mannall
86f2bb9124 Replace len with sn.len for _DeferredExpression 2025-03-06 15:24:41 +00:00
Nathan Mannall
4cd9f01f71 Fix bug creating MPI Cart comm ending at a grid boundary 2025-03-06 10:53:30 +00:00
Nathan Mannall
5669002757 Add memory usage to performance report
- Update calculation of runtime to query SLURM database
- Improve regex to extract gprMax reported simulation time
2025-03-05 18:29:41 +00:00
Nathan Mannall
e6262339f5 Stop mapping materials for voxel geometry views
- Voxel geometry views do not use compound/averaged materials. Therefore
  materials are guaranteed to be correctly ordered in both the serial
  and MPI implementations as the materials used have all be added from
  the Scene/input file.
2025-03-04 16:24:42 +00:00
Nathan Mannall
4c841eeb57 Update geometry view regression check files
- Geometry views no longer use variable length strings.
- Fine geometry views (GeometryViewLines) now correctly order materials
  (alphabetically by ID).
2025-03-04 16:04:44 +00:00
Nathan Mannall
94ccca9517 Commit missed documentation update 2025-03-04 16:03:24 +00:00
Nathan Mannall
289178a3d0 Update geometry views for parallel build
- Sources and receivers now set their ID using a static point so the
  value is the same when using the MPI implementation.
- The model has new functions to create geometry objects and geometry
  views.
- Grid views create their own MPI communicator. This means when creating
  a grid view, or an object containing a grid view, it is the creators
  responsibility to call `comm.Split(MPI.UNDEFINED)` for ranks not
  creating the grid view.
- There is a new MPIMetadata class for managing geometry view metadata.
- Ranks can create field data datasets in VTKHDF files without writing
  any data.
- The VtkHdfFile class now correctly handles string datatypes.
2025-03-04 15:54:50 +00:00
Nathan Mannall
e9bc7d3978 Fix bug when objects start in a positive halo
Objects with a thickness (triangles and circular sectors) can no longer
extend beyond the grid in the dimension they are aligned to.

Building these objects where the lower extent is aligned with a positive
halo, no longer corrupts memory due to out of bounds memory access
2025-02-21 18:29:11 +00:00
Nathan Mannall
aecf08f269 Add test for a cylindrical sector starting in a positive halo 2025-02-21 10:44:13 +00:00
Nathan Mannall
a970593dc6 Add new rigid Box geometry test 2025-02-21 10:40:04 +00:00
Nathan Mannall
6fbb94f058 Fix bug when Edge or Plate is in a positive halo
Edges and plates are no longer built in the positive halo as they are
not needed. Previously this caused a memory corruption as the cython
functions were performing out of bounds memory access in the rigidE
and rigidH arrays.
2025-02-21 10:37:20 +00:00
Nathan Mannall
2c7c07885b Add new Edge geometry tests 2025-02-21 10:36:44 +00:00
Nathan Mannall
66df9e4afb Correct array size calculation 2025-02-14 16:38:36 +00:00
Nathan Mannall
5714ca52ad Update Edge geometry for parallel build 2025-02-14 16:10:32 +00:00
Nathan Mannall
b1cc2c3204 Add debug logging to GridView 2025-02-14 16:09:23 +00:00
Nathan Mannall
fea6243173 Update triangles for parallel build 2025-02-14 16:08:01 +00:00
Nathan Mannall
b0ecf50688 Correctly calculate new thickness 2025-02-14 11:54:24 +00:00
Nathan Mannall
23d5735c8a Write geometry object instead of view 2025-02-14 11:52:44 +00:00
Nathan Mannall
50849a81f2 Use ARCHER2 standard qos but set shorter job time limits 2025-02-14 11:51:21 +00:00
nmannall
355815df57 Update circular sector tests and generate regression checks 2025-02-13 14:55:18 +00:00
nmannall
98ee1a9421 Fix building circular sectors > 180 degrees 2025-02-13 14:54:15 +00:00
nmannall
214ea382f9 Add todo to check_thickness 2025-02-13 14:52:35 +00:00
nmannall
a6705c1f3c Limit thickness of circular sectors to within a grid 2025-02-13 14:48:06 +00:00
nmannall
503cfef2f1 Allow lower bound of a box to equal the upper bound 2025-02-13 14:25:39 +00:00
nmannall
154e38abcb Add plate geometry regression checks 2025-02-13 11:37:19 +00:00
nmannall
df568f0fd2 Remove logger.exception from outside try except statement
logger.exception should only be used inside a try except statement where
there is some error/stacktrace that needs outputting as well as the
error message. Instead, should use logger.error then raise an error,
and/or pass the message to the error being raised (which the calling
function should handle and/or log the exception).
2025-02-13 11:31:30 +00:00
nmannall
ebfdb22725 Check that a plate is aligned with an axis 2025-02-13 10:56:18 +00:00
nmannall
b2a5977657 Update plate geometry for parallel build 2025-02-13 10:52:48 +00:00
nmannall
3ebaf749f3 Add plate geometry tests 2025-02-13 10:52:07 +00:00
nmannall
b0128da724 Add cylindrical sector tests 2025-02-13 10:48:44 +00:00
nmannall
a7a0e2d939 Add geometry object to box tests to help debugging 2025-02-13 10:46:53 +00:00
nmannall
d6fc7f8689 Add reframe tests for ellipsoid geometry 2025-02-10 15:25:05 +00:00
nmannall
be30e075ba Use short QoS to run reframe tests on ARCHER2 2025-02-10 15:23:20 +00:00
nmannall
882966e478 Add ReFrame tests for cylinder geometry 2025-02-07 17:27:14 +00:00
nmannall
48585b4cea Add ReFrame tests for sphere geometry 2025-02-07 16:56:31 +00:00
nmannall
b07c71c377 Account for extra value returned by check_box_points 2025-02-07 16:53:35 +00:00
nmannall
d87917742a Fix creating sub communicator
The communicator is built using local grid coordinates not global
coordinates
2025-02-07 16:51:34 +00:00
nmannall
7208adb925 Fix within_bounds including the positive halo 2025-02-07 16:12:45 +00:00
nmannall
4730428929 Update Box geometry for parallel build 2025-02-07 16:12:11 +00:00
nmannall
e4364266bd Fix GeometryObjects for parallel build
Update GeometryObject class to use new GridView class.
2025-02-07 16:11:03 +00:00
nmannall
e9e81730e2 Make within_pml check use a local grid coordinate 2025-02-07 15:41:09 +00:00
nmannall
340f56c155 Combine point discretisation and checking in uip objects 2025-02-07 15:35:08 +00:00
nmannall
14b1f7e3d7 Move size into FDTDGrid from MPIGrid 2025-02-07 15:31:59 +00:00
nmannall
b3f2547cad Add documentation to GridView classes 2025-02-03 16:14:52 +00:00
nmannall
439cd82a0d Fix cone being squashed to the limits of the grid
This occurred when the cone was aligned with an axis as the maths to
calculate if the cone was at a point in the grid used x, y, z
coordinates bound to the limits of the grid.
2025-01-31 17:40:22 +00:00