NHE: mesh object and rupture-surface-mesh interaction refactoring

Bug #931490 reported by Anton Gritsay
6
This bug affects 1 person
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_distance(location)

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_distance(location) [Calls the method get_surface_mesh() and call the method get_minimum_distance() of the corresponding mesh object]
       - 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([corners],strike,dip,mesh_spacing)
       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.

Anton Gritsay (angri)
summary: - NHE: mesh object anf rupture-surface-mesh interaction refactoring
+ NHE: mesh object and rupture-surface-mesh interaction refactoring
John Tarter (toh2)
Changed in openquake:
milestone: 0.6.0 → 0.6.1
Anton Gritsay (angri)
Changed in openquake:
status: In Progress → Fix Committed
Changed in openquake:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.