NHE: mesh object and rupture-surface-mesh interaction refactoring
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenQuake (deprecated) |
Fix Released
|
High
|
Anton Gritsay |
Bug Description
That's what should be done:
1) have a class Mesh meant to represent in a efficient way a mesh of locations (that is by using numpy arrays to store separately longitude, latitude, and depths of the points representing the mesh). It supports a method for calculating mesh centroid (that can be used for setting the hypocenter in fault ruptures), and also support methods for distance calculation:
- get_mesh_centroid
- get_minimum_
2) have and abstract class BaseSurface meant to represent any surface. It defines the following methods:
- get_surface_mesh(), which returns a mesh representation of the surface
- get_strike(), compute strike [azimuth] of the surface
- get_dip(), compute dip [inclination] of the surface
- get_minimum_
- get_other_distances ...
The abstract class provide an implementation of the get distance methods based on the surface mesh representation. Each class implementing BaseSurface can then implement a more optimized version if it's possible.
3) change planar surface object so it signature looks like this:
- PlanarSurface(
It's defined by a list of 4 cornes, strike, dip, and mesh_spacing (to be used to construct the mesh). It's used to define ruptures from PointSource and AreaSource. The methods get_strike and get_dip simply returns the strike and dip values given in the constructor.
summary: |
- NHE: mesh object anf rupture-surface-mesh interaction refactoring + NHE: mesh object and rupture-surface-mesh interaction refactoring |
Changed in openquake: | |
milestone: | 0.6.0 → 0.6.1 |
Changed in openquake: | |
status: | In Progress → Fix Committed |
Changed in openquake: | |
status: | Fix Committed → Fix Released |