Overview of the Unfolding Algorithm
The unfolding algorithm consists in three main steps:
- Reference surface modeling
- Tetrahedral mesh generation
- Conversion from the world to unfolded coordinates system
To summarize, the idea of the algorithm is to build a tetrahedral mesh covering all the input data. This mesh also contains local coordinates, which corresponds to the flattened space, computed from a reference surface. Then, the world coordinates are converted to the flattened system by finding the cell containing the associated input point, computing its barycentric coordinates in the cell and applying them to the local coordinates system.
Reference Surface Modeling
The first step of Unfolding is to generate the reference surface mesh from the input block model data.
First of all, a point subset is extracted using two parameters:
- Block reference option: Either Top, Center or Bottom. For instance, if the Top option is chosen, the reference surface is the domain top so that all the unfolded points are below. By convention, the reference surface elevation is zero in the unfolded coordinates system, then the unfolded coordinates should be less or equal than zero. On the contrary, if the Bottom option is chosen, they should be greater or equal than zero. When unfolding from a block model with the top-bottom mode, Top and Bottom surfaces are generated by using alternatively the Top and Bottom as block reference.
- Sample step: Number corresponding to the distance to use between two extracted samples. It should be greater or equal than the block model size.
The algorithm computes the median plane of the extracted points and projects the input data on it. Then, the convex hull containing all the data (including the input data) is computed. The Mesh extension parameter enables adding a proportion of the data bounding box size around the convex hull in order to make the following treatments more robust. To finish, the convex hull is meshed and the relative elevation of the projected samples is kriged at the vertex 2D coordinates in order to generate the reference surface. The Smoothing ratio parameter enables to set the nugget effect to use for this kriging. Then, the smaller the Smoothing ratio, the more the surface interpolates the extracted points but the less smooth the surface. On the contrary, using a high Smoothing ratio leads to a more planar surface.
Tetrahedral Mesh Generation
The second step of the unfolding algorithm is to generate the tetrahedral mesh. This one is built differently depending on the method, Bend or Projection.
For the Projection method, the tetrahedral mesh is generated from the reference surface mesh. Firstly, a regular grid, whose resolution is given by the Mesh resolution parameter, is set in order to cover all the reference surface for re-sampling it on this grid. Then, the bounding box containing all the data is computed in order to determine the height to use for the tetrahedral mesh. Finally, the tetrahedral mesh is generated by creating cells at the regular grid points.
For the Bend method, the tetrahedral mesh is generated from the top and bottom surfaces which are unwrinkled keeping the geodesic distances from all points to the reference surface. The LMDS method is applied to the top and bottom surfaces independently to obtain new meshes in the flattened space. The algorithm preserves the distances as much as possible. After this flattening step, we evaluate the “vertical accordance” of the top and bottom surfaces by taking the absolute value of various normal vectors. At this stage, we select a given Number of reference points which will be used to make the geographic matching between the unfolded surface and the unfolded reference and we compute an “accordance” score. Reference points are then sorted by increasing score and we keep a given percentage (defined by the Smooth area proportion parameter) of the reference points with higher “accordance” to correct the surfaces matching. Finally, the tetrahedral mesh is generated from the pillars defined by a 2D grid superimposed to the unfolded top and bottom surfaces.
Conversion from the World to Unfolded Coordinates System
The conversion from the world to unfolded coordinates system is based on the use of barycentric coordinates. Then, for each point, the algorithm consists in finding the cell which contains the point in the world system, computing its barycentric coordinates and applying them to the stored local coordinates system which corresponds to the flattened system coordinates.
You can access to the output unfolded files in the chosen folder created in the Data tab.
Boreholes Processing
For the boreholes, a special processing is applied, based on their intersection with the unfolding model tetrahedral mesh. First, borehole samples outside of the unfolding model are removed from the unfolded trajectories. If a borehole crosses the unfolding model several times, for instance in the case of highly bended units, this borehole is splitted for each intersection with the unfolding model. New borehole heads and trajectories are deduced from their original geometry and the intersection. Borehole trajectories are discretized to well handle complex geological unit geometries. Unfolding is then applied following the above-described points unfolding process to the trajectory points and modifying in the unfolded trajectories length and samples intrinsic coordinates. Initial borehole IDs are stored in the unfolded borehole table to help you retrieving original borehole samples.