01 - Geometry Definition

 

The present example considers generation of the 2D present day geometry defined in a CAD type file with extension .dxf. In this section the proper preparation of the .dxf as well as the conversion data files are discussed. The data files are provided in Geol_001 \01_Geometry_Generation\Data which include

 

Geol_001.dxf : File containing the CAD geometry that will be converted to .geo geometry.

Geol_001_Reference.dwg : File containing the CAD geometry for the full Orange Basin section (not used in this example, only provided for reference).

Geol_001_geom_Step1.dat : Data file with data to read the .dxf and convert to .geo.

Geol_001_geom_Step2.dat : Data file to read the converted .geo and output a meshed geometry plot file to facilitate data checking and fault hanging wall and footwall identification.

Geol_001_geom_Step3.dat : Check data and identify fault hanging walls and footwalls.

 

 

In order to keep the model reasonably simple for demonstrative purposes, only the two compressional faults further to the left will be considered. Also a thin sediment wedge at the top left corner has been considered to be the same group as the layer below. The base of the model geometry will be defined thick and will be assigned relatively stiff properties in order to prevent excessive bending of the detachment due to the flattening of the fault-related anticlines during restoration.

 

 

Geol_001_01_02

Image of interest -> Geometry .dxf definition in DraftSight -> Conversion to ParaGeo geometry .geo

 

 

 

The flowchart below summarises the files involved in the geometry generation process from the prepared .dxf file to a meshed .geo file as described in this section of the manual.

 

Geol_001_01_12

Summary flowchart of files involved in geometry generation process from prepared .dxf file to meshed .geo file.

 

 

Geometry .dxf preparation

 

Before defining the .dxf geometry, the following steps are undertaken to obtain a background reference image to superimpose and draw the geometry on top:

 

1.Copy paste / Import a picture / screenshot of the section of interest into the CAD software (e.g. DrafSight, AutoCAD).

2.Make sure the image has the correct size. Reference lines can be drawn on top of the image visual scale to work out the required scaling factor to be applied to the image.

 

 

Then the definition of the geometry lines is done on top of the background reference image. Following are notes on how to properly define the geometry lines so that the resulting .dxf geometry is suitable for conversion:

 

1.Only line and polyline entities are supported (polylines are generally recommended).

2.All lines and polylines should be split / terminate at every intersection with another line (see picture below). This will ensure that enclosed surfaces can be generated.

3.All lines must have both edge points connected to at least another line / polyline (i.e. fault tips interior to a surface are not allowed for example, see picture below).

4.Faults are represented by a single line that will be split into a hanging wall and footwall parts during .dxf to .geo conversion.

 

 

 

Geol_001_01_04

Splitting of lines / polylines in CAD software

 

 

 

 

Geol_001_01_05

Termination of lines / polylines in CAD software

 

 

 

 

It should be noted that most common errors in conversion are because lines that visually appear to be connected, in reality they are not. This may be due to the functionality to track / connect points based on proximity in the CAD software being not active when drawing that line for example. Thus it is generally recommended to first define the lines to extend beyond other crossing lines, then perform a line split at the intersection point and finally delete the unneeded lines (see picture below).

 

 

Geol_001_01_06

Workflow to split line / polyline in CAD software

 

 

 

 

When the geometry lines and polylines are properly defined, the next step is to group them using the entity grouping functionality of the CAD software. Every entity group will be converted to a ParaGeo geometry set during .dxf to .geo conversion so the entity groups should include boundaries, stratigraphy horizons, faults, etc. Additionally ParaGeo includes functionality to use entity groups corresponding to stratigraphy horizons to automatically generate ParaGeo groups with the corresponding surfaces. Also splitting of fault lines into the corresponding fault hanging wall and foot wall will be performed by providing the corresponding entity group name during .dxf to .geo conversion.

 

The present case includes entity groups for every stratigraphy horizon, every model boundary, every fault, every separate detachment line and one encompassing the two detachment lines to facilitate split. Note that all stratigraphy horizons span from the west boundary to the east boundary with some split by the two faults and some sharing the same lines due to layer pinchout, e.g. Tertiary_04 and Tertiary_05 share the same line on the west boundary and Tertiary_06 to Tertiary_10 share the same line on the east boundary.

 

 

Geol_001_01_09

Definition of entity groups in DraftSight (include stratigraphy horizons, model boundaries, faults and detachments)

 

 

 

The geometry must be saved as a .dxf format (ASCII R2013) for ParaGeo conversion.

 

 

 

 

 

Step 1: .dxf to .geo conversion

 

The .dxf to .geo conversion datafile includes data to read the .dxf file, split the contact surfaces (detachments and faults) and automatically generate stratigraphy data and groups from the specified entity groups stratigraphy horizons.

The outcome of this Step 1 simulation are the files Geol_001.geo and Geol_001.GeoSumm which are required for Step 2.

 

 

Read the .dxf geometry

Data File


 

* Util_read_geometry

! --------------------------------

 File_name       "Geol_001"

 File_type            "dxf"

 

1.The AutoCAD DXF geometry file "Geol_001.dxf" is loaded using the Util_read_geometry data structure.  Note that the file name is defined without a file extension which is specified in File_type.

 

 

 

Separate contact surfaces

Data File


 

* Geometry_line_separate  NUM=1  

! --------------------------------

 Geometry_set    "Detach_full"

 Output_level        2  

 

* Geometry_line_separate  NUM=2  

! --------------------------------

 Geometry_set    Fault_01

 Output_level        2  

 

* Geometry_line_separate  NUM=3  

! --------------------------------

 Geometry_set    Fault_02

 Output_level        2

 

 

1.Geometry_line_separate data structures are defined for each of the three contact surfaces (Fault_01, Fault_02 and Detach_full) that needs to be separated into hanging wall and footwall parts.

 

2.The level of output information to the log file is set to 2 for detailed output (Output_level = 2).

 

 

Geol_001_01_10

Contact surfaces for splitting into hanging wall and footwall parts in ParaGeo

 

 

 

3.Note that split order is important so that when 2 entities need to be split and one entity (say, entity A) terminates  into the other (say, entity B), then entity B must be split first in order to ensure correct split of all the points. This situation may be found in faults rooting into a detachment, branching faults, etc. In this case is compulsory to split Detach_full before splitting any fault.

 

 

Geol_001_01_07

Splitting order of contact surfaces for e.g. fault terminating on detachment

 

 

 

Generation of groups and stratigraphy data

Data File


 

* Geometry_create_groups

! --------------------------------

 Geometry_sets  IDM=16

  "Basement"

 "Turonian_01"

 "Turonian_02"

 "Turonian_03"

 "Turonian_04"

 "UCT"

 "Tertiary_01"

 "Tertiary_02"

 "Tertiary_03"

 "Tertiary_04"

 "Tertiary_05"

 "Tertiary_06"

 "Tertiary_07"

 "Tertiary_08"

 "Tertiary_09"

 "Tertiary_10"

 Basal_horizon  Base        

 Element_type   Tpm3

 Material_name  Elastic  

 

1.Geometry_create_groups uses the entity groups defined in the .dxf for the stratigraphy horizons to generate the ParaGeo group data and stratigraphy data.

 

2.Note that there may be situations that will be difficult to resolve and surfaces may be assigned to the incorrect ParaGeo group. This may happen when there are surfaces that do not have horizon tops (e.g. due to erosion truncation or triangular fault block at intersecting faults, etc). In such cases the data must be manually corrected later in Step 3 with the help of data visualisation and interrogation in ParaView.

 

 

 

Geol_001_01_08

Scenario for potential incorrect assignment of surfaces to Group_data generation in ParaGeo

 

 

Output of the .geo file and a geometry plot file

Data File


 

* Util_write_geom_plotfile

! ------------------------------  

! This will write a geometry plot file that we will use to visualize in ParaView

 

 

* Util_write_geometry

! ---------------------------------  

 File_name       "Geol_001"

 File_type            "geo"

 

1.Util_write_geom_plotfile is used to output a plot file of the converted geometry (in .gmr format). Note that as the geometry is not meshed yet, visualisation in ParaView may not be convenient. This is addressed by performing Step2 in the current workflow.

 

2.Util_write_geometry is used to output the geometry in .geo format and a .GeoSumm ASCII file containing the summary of data structures within the .geo file.

 

 

 

 

Step 2: Output of a meshed geometry plot file

 

The purpose of this steps is to output a meshed geometry plot file that can be easily visualized in ParaView. To that end only a single mechanical step will be run with all the geometry fully fixed to prevent any movement:

Step 2 data file comprises the geometry data extracted from the Step 1 Geol_001.GeoSumm file, namely the Geometry_data, Group_data, Group_control_data, Geometry_set, Stratigraphy_definition and Stratigraphy_horizon data structures.  Accordingly it needs to read in these data from the Step 1 geometry file Geol_001.geo.

Additional data is also required to facilitate generating a mesh and performing a single analysis step in order to output a meshed geometry plot file. These include data structures Material_data, Fluid_properties, Support_data, Mesh_control_data, Unstructured_mesh_data, Damping_global_data and Control_data.

 

 

Geometry_data, Group_data, Group_control_data, Geometry_set data

The following data structures are copy / pasted from the Geol_001.GeoSumm file.

 

Data File


 

* Geometry_data

! ----------------------------------------

 File_name         "Geol_001"

 File_format            "hdf"

 

 

 

* Group_data                       NUM=1

! ----------------------------------------

 Group_name               "Basement"

 Element_type             "Tpm3"

 Material_name            "Elastic"

 Porous_flow_type                    5

 Surfaces                         IDM=1

   6

 

 

   (...)

 

 

* Group_data                      NUM=16

! ----------------------------------------

 Group_name               "Tertiary_10"

 Element_type             "Tpm3"

 Material_name            "Elastic"

 Porous_flow_type                    5

 Surfaces                         IDM=1

  11

 

 

 

* Group_control_data

! ----------------------------------------

 Group_numbers                    IDM=16

   1    2    3    4    5    6    7    8    9   10

  11   12   13   14   15   16

 Active_geomechanical_groups      IDM=16

   1    1    1    1    1    1    1    1    1    1

   1    1    1    1    1    1

 

 

 

* Geometry_set                     NUM=1

! ---------------------------------------

 Name                     "Base"

 Lines                            IDM=1

  68

 

 

   (...)

 

 

* Geometry_set                     NUM=29

! ---------------------------------------

 Name                     "Fault_02_1"

 Lines                            IDM=9

  53   56   57   58   60   61   62   63   64

 

 

 

* Geometry_set                     NUM=30

! ---------------------------------------

 Name                     "Fault_02_2"

 Lines                            IDM=9

 101  102  103  104  105  106  107  108  109

 

1.The geometry is read from the Geol_001.geo file with "HDF" format. Note that the geometry file name can be defined with or without an extension, however, the file itself must have the extension ".geo".

 

2.A Group_data data structure is defined for each of the sixteen formations:

a.Element_type is set to TPM3 (3 node 2D plane strain triangular element).

b. The material assigned to these element group is "Elastic".

c.The simulation will be performed using the porous flow type number 5 (hydrostatic drained assumptions with vertical effective stress calculated using the buoyant density).

d.The geometry entities (surfaces) defining each group are assigned.

 

3.Group_control_data is used to define the geomechanical field as active for the sixteen formation groups.

 

4.Thirty Geometry_set data structures are defined:

a.Sixteen for the stratigraphy horizons.

b.Three for the model boundaries (base, west and east).

c.Two faults.

d.Three detachments - two separate ones and one encompassing both detachments.

e.Six additional from the three contact surfaces (Fault_01, Fault_02, Detach_full) split into hanging wall and footwall parts. For example, "Fault_01" splits into two additional geometry sets named "Fault_02_1" and "Fault_02_2". These will be renamed later in Step 3 with identifiers for hanging wall and footwall.

 

 

 

 

Defining the Stratigraphy

The following data is copy / pasted from the Geol_001.GeoSumm file with additional edits to remove unnecessary data.

 

The stratigraphy is defined by:

1Defining the existing stratigraphy layer depositional order and the group associated with each layer (via Stratigraphy_definition) from oldest to youngest.

2Defining the topology of the top surface horizon for each stratigraphy layer including basal horizon (via Stratigraphy_horizon).

The stratigraphy is defined in a similar way to Mech_002 where there is a fuller description provided.

Note that in geomechanical restoration simulations the definition of the stratigraphy is compulsory.

 

Data File


 

* Stratigraphy_definition

! ---------------------------------------

Units                            IDM=16

   "Basement"

   "Turonian_01"

   "Turonian_02"

   "Turonian_03"

   "Turonian_04"

   "UCT"

   "Tertiary_01"

   "Tertiary_02"

   "Tertiary_03"

   "Tertiary_04"

   "Tertiary_05"

   "Tertiary_06"

   "Tertiary_07"

   "Tertiary_08"

   "Tertiary_09"

   "Tertiary_10"

 Basal_horizon            "Base"

 

 

 

* Stratigraphy_horizon             NUM=1

! ---------------------------------------

 Name                     "Basement"

 Lines                            IDM=1

   6

 

 

   (...)

 

 

* Stratigraphy_horizon             NUM=17

! ---------------------------------------

 Name                     "Base"

 Lines                            IDM=1

  68

 

1.Stratigraphy_definition defines the stratigraphy for a geomechanical analysis:

a.Units lists the names identifying the top horizons for the sixteen formation layers present in the initial model in depositional order from oldest to youngest.

b.Basal_horizon defines the Stratigraphy_horizon name of the basal horizon for the model "Base".

 

2.Seventeen Stratigraphy_horizon data structures are defined:

a.Sixteen for the top surface of each stratigraphy layer.

b.One for the basal horizon.

 

 

 

 

 

 

Material Data

The material properties for the material "Elastic" as well as its associated fluid properties are defined in the datafile.  Note that the property values defined here are not important as the model will be fully fixed and a single analysis step performed.

 

Data File


 

* Material_data                    NUM=1  

! -----------------------------------------

 Material_name                  "Elastic"

! -----------------------------------------          

 Units IDM=4

  /Stress/            "MPa"

  /Length/              "m"

  /Time/               "Ma"

  /Temperature/   "Celsius"

! -----------------------------------------        

 Grain_density                      2700  

 Grain_stiffness                   30000

 Porosity                           0.60          

! -----------------------------------------                

 Elastic_properties     IDM=2

  /Young's Modulus/               5000

  /Poisson's Ratio/              0.20

! -----------------------------------------                

 Singlephase_fluid                    1  

 

 

 

 

* Fluid_properties                 NUM=1

! -----------------------------------------

 Fluid_type                      "Water"

 Density                           1000

 

1.A single material is used for the simulation.

2.The material is named "Elastic".

3.Elastic properties (Young's modulus and Poisson's ratio) are defined for the material.

4.Grain properties (density and stiffness) are defined.

5.An arbitrary initial porosity of 0.6 is defined.

6.Fluid_properties number 1 is assigned to material "Elastic".

7.Definition of a fluid with its fluid density is compulsory for groups with Porous_flow_type = 5 defined in Group_data.

 

 

 

 

 

 

Support Data

The support data is used to define the fixity for all surfaces to be fully fixed in the X and Y directions.

 

Data File


 

* Support_data

! ---------------------------------

 Displacement_codes IDM=2 JDM=3

  /Set 1/     1 0

  /Set 2/     0 1

  /Set 3/     1 1

 Displacement_code_geom_set IDM=1

   "All_surfaces"

 Displacement_code_geom_ass IDM=1

   3

1.Three displacement code sets are defined.

2.Displacement code set number 3 (fixity in X and Y directions) is assigned to the special geometry set "All_surfaces" which encompasses all surfaces in the initial model.

 

 

 

Mesh Data

An "unstructured mesh" with minimum element size of 50m and default / maximum element size of 80m  and 125m size is defined for this example.

 

Data File


 

* Mesh_control_data

! ---------------------------------

 Generation_algorithm    2                        

 Mesh_generation_flag    0                        

 

 

 

* Unstructured_mesh_data

! ---------------------------------

 Default_element_size           80

 Element_size_bounds IDM=2

  /Max. Element Size/          80

  /Min. Element Size/         50

 

1.The algorithm used for this simulation is set to 2  (i.e. unstructured mesh).

2.The mesh generation flag is set to 0 so analysis will be performed after mesh generation (default).

3.The minimum element size defined is 50m and the default / maximum element size is 80m.

 

 

 

 

 

 

Control Data

A single control stage defined by the Control_data data structure is utilised to perform a single mechanical step for the sole purpose of outputting a meshed geometry plot file in this Step 2 workflow.

 

Data File


 

* Control_data  

! ----------------------------------------------------------------

 Control_title          "Output"

 Solution_algorithm                1  

 Factor_critical_time_step       0.9

Target_number_time_steps         1

 Maximum_number_time_steps       1E7

 Duration                        1.0

 Screen_message_frequency        500

 Output_time_plotfile            0.2

 Output_frequency_plotfile        -1

 Output_frequency_restart          0

 

1.Target_number_time_steps is set to 1 to perform a single mechanical step for the duration of the stage.

 

 

 

 

 

 

 

 

Step 3: Data correction and fault side identification

 

The purpose of Step 3 within the geometry preparation workflow is to visualise the geometry meshed during Step 2, check and correct the data when necessary and identify fault hanging walls and footwalls. Note that:

 

For this example, the ParaGeo group data and stratigraphy data generated in the Step 1 workflow is correct, so no corrections are required in this Step 3 workflow.  Consequently, the Step 3 data file is exactly the same as the Step 2 data file with the exception of the geometry set name changes to identify the fault hanging wall and footwall parts for Fault_01, Fault_02 and Detach_full.

 

These geometry sets were split in the Step 1 workflow and the names of the split surfaces were automatically appended with _1 and _2 in the Geometry_set data.  These six geometry sets will now be renamed with the handing wall and footwall identifiers.

 

To identify which separation lines are hanging wall and which are footwall, refer to the line separation summary in the Geol_001_geom_Step1.res file.  In such file "Orig. Line" column indicates the original line numbers in the geometry set while "New Line" column indicates the numbers of the new lines generated after the split. Lines in "Orig. Line" column are contained in surfaces listed under "Orig. Surf" column. Likewise lines listed under "New Line" column are contained in surfaces under "New Surf" column. Using this information and the visualisation of the surface numbers in Geol_001_geom_Step2_gmr.xmf in ParaView, we can work out which lines belong to the hanging wall and which belong to the footwall. The picture below shows that in this example Line 1 (contained within Fault_01_1) is contained in surface 3 which is on the hanging wall. Hence, after checking all the lines and surfaces it can be identified that "Fault_01_1" is the hanging wall and "Fault_01_2" is the footwall.

 

 

 

Geol_001_01_03

Identification of "Fault_01" hanging wall and footwall parts through "Line Separation Summary" in Geol_001_geom_Step1.res file and visualisation of surface numbers in Geol_001_geom_Step2_gmr.xmf in ParaView

 

 

 

Data File


 

* Geometry_set                     NUM=25

! ---------------------------------------

 Name                     "Detach_full_hgw"     ! Originally "Detach_full_1"

 Lines                            IDM=2

  40   41

 

 

* Geometry_set                     NUM=26

! ---------------------------------------

 Name                     "Detach_full_ftw"     ! Originally "Detach_full_2"

 Lines                            IDM=2

  86   87

 

 

* Geometry_set                     NUM=27

! ---------------------------------------

 Name                     "Fault_01_hgw"         ! Originally "Fault_01_1"

 Lines                            IDM=13

   1   16   42   43   44   45   46   47   48   49

  50   51   52

 

 

* Geometry_set                     NUM=28

! ----------------------------------------

 Name                     "Fault_01_ftw"         ! Originally "Fault_01_2"

 Lines                            IDM=13

  88   89   90   91   92   93   94   95   96   97

  98   99  100

 

 

* Geometry_set                     NUM=29

! ----------------------------------------

 Name                     "Fault_02_hgw"         ! Originally "Fault_02_1"

 Lines                            IDM=9

  53   56   57   58   60   61   62   63   64

 

 

* Geometry_set                    NUM=30

! ----------------------------------------

 Name                     "Fault_02_ftw"         ! Originally "Fault_02_2"

 Lines                            IDM=9

 101  102  103  104  105  106  107  108  109

 

1.The three contact surface separation lines are renamed with the appropriate hanging wall and footwall identifiers.

 

 

 

 

 

 

 

 

 

Results

 

The result of this procedure is the .geo file from Step 1 and data structures defined in the Step 3 data file that will be used to define the restoration data.

 

 

Geol_001_01_11

ParaGeo .dxf to .geo model plot file