提交图

3265 次代码提交

作者 SHA1 备注 提交日期
Craig Warren
4fe9fd52d7 Merge branch 'devel' into devel 2025-03-10 13:38:25 +00:00
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
Craig Warren
eaef3c2127 Fixed bug with missing halftdt waveform array required for VoltageSource with resistance. 2025-03-06 22:03:06 +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