Acceleration Structures
Two different acceleration structures are implemented in LyceanEM. The first is a tile based method which is optimised for scenarios where the source and sink are positioned with the majority of triangles in a plane, such as a satellite above a map tile.
The second is a brute force approach without any acceleration method.
- class lyceanem.models.acceleration_structures.Brute_Force_acceleration_structure(blocking_mesh)[source]
This class is used to create a brute force acceleration structure for the scattering calculation.
- Parameters:
blocking_mesh (
meshio.Mesh
) – The mesh to be used for the blocking structure.
- triangle_verticies
The vertices of the triangles in the blocking mesh.
- Type:
- triangles
The triangles in the blocking mesh.
- Type:
numpy.ndarray of int
- class lyceanem.models.acceleration_structures.Tile_acceleration_structure(blocking_mesh, n_cells)[source]
This class is used to create a tile acceleration structure for the scattering calculation.
- Parameters:
blocking_mesh (
meshio.Mesh
) – The mesh to be used for the blocking structure.n_cells (
int
) – The number of cells to be used for the tile acceleration structure.
- triangle_verticies
The vertices of the triangles in the blocking mesh.
- Type:
- bin_counts
The counts of triangles in each bin.
- Type:
- binned_triangles
The triangles in the bins.
- Type: