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.
这个提交包含在:
Nathan Mannall
2025-03-04 16:24:42 +00:00
父节点 4c841eeb57
当前提交 e6262339f5
共有 2 个文件被更改,包括 10 次插入9 次删除

查看文件

@@ -52,11 +52,11 @@ class GeometryViewVoxels(GeometryView[GridType]):
self.spacing = self.grid_view.step * self.grid.dl
self.nbytes = self.material_data.nbytes
# Write information about any PMLs, sources, receivers
self.metadata = Metadata(self.grid_view)
self.nbytes = self.material_data.nbytes
def write_vtk(self):
"""Writes geometry information to a VTKHDF file."""
@@ -82,10 +82,6 @@ class MPIGeometryViewVoxels(GeometryViewVoxels[MPIGrid]):
self.origin = self.grid_view.global_start * self.grid.dl
self.spacing = self.grid_view.step * self.grid.dl
# Use global material IDs rather than local IDs
self.grid_view.initialise_materials(filter_materials=False)
self.material_data = self.grid_view.map_to_view_materials(self.material_data)
self.nbytes = self.material_data.nbytes
# Write information about any PMLs, sources, receivers

查看文件

@@ -243,13 +243,18 @@ class Metadata(Generic[GridType]):
return self.grid.size
def materials_comment(self) -> Optional[List[str]]:
if self.grid_view.materials is None:
if hasattr(self.grid_view, "materials"):
materials = self.grid_view.materials
else:
materials = self.grid.materials
if materials is None:
return None
if not self.averaged_materials:
return [m.ID for m in self.grid_view.materials if m.type != "dielectric-smoothed"]
return [m.ID for m in materials if m.type != "dielectric-smoothed"]
else:
return [m.ID for m in self.grid_view.materials]
return [m.ID for m in materials]
class MPIMetadata(Metadata[MPIGrid]):