The initial data file for the project is: Cont_001\Data\cont_001_Case1.dat. The basic data includes:
1Geometry_set data for all model boundaries that will be assigned a boundary condition. 2Contact data (Contact_set, Contact_property and Contact_global) for defining contact relationships between the cube and the prisms. 3Group data for the basal prisms (group1) and top cube (group2) which are assigned 3D tetrahedral elements and Elastic properties using Group_control_data and Group_data data structures. 4Material_data and Fluid_properties defining elastic properties for all volumes. 5Support_data to define prescribed displacements to the different geometry sets. 6Load data defining two prescribed displacements: 1) a downward prescribed displacement on the top surface of the top cube and 2) a lateral displacement that moves the cube first to the East and then to the West applied also on the top surface of the top cube. 7Mesh control (Mesh_control) and Unstructured mesh generation data (Unstructured_mesh_data) defining a constant mesh size of 0.4m. 8Damping data (Damping_global_data) to define bulk damping on the effective mean stress (Bulk Viscosity model) 9Time scaling data (Time_scaling_data) with optimal time step 1E-4 Ma. 10Control data (Control_data) for three stages defining: (a) Factor of critical time step = 0.9, (b) Incremental solution algorithm (Type 1), (c) Maximum number of time steps of 106 (very large), (d) Termination time for each stage (1 Ma, 2 Ma and 3 Ma), (e) Plot file output at the end of each stage, (f) Plot file output every 0.2 Ma, (g) Screen message output every 500 mech steps. 11Geometry data (nodal_data, Geometry_line, Geometry_surface and Geometry_volume) for definition of the 3D geometry.
The Geometry_set data is useful for grouping geometry entities into sets that later can be easily assigned properties and boundary conditions using the geometry set name. Geometry_set data is defined for different boundaries in the present example by:
1The name of the geometry set. 2The geometry entities that constitute the geometry set.
The top cube is named "Block" and the bottom prisms are named "Base".
Data File
|
|
* Geometry_set NUM=1
Name "Base_top_surface"
Description "Top surface of base prisms"
Surfaces IDM=2
9 17
* Geometry_set NUM=2
Name "Block_base"
Description "Bottom surface of top cube"
Surfaces IDM=1
11
* Geometry_set NUM=3
Name "Top_Block"
Description "Top surface of top cube"
Surfaces IDM=1
13
* Geometry_set NUM=4
Name "Base_base"
Description "Bottom surface of base prisms"
Surfaces IDM=2
7 15
* Geometry_set NUM=5
Name "East_West_base"
Description "E W surfaces of base prisms"
Surfaces IDM=4
8 10 16 18
* Geometry_set NUM=6
Name "North_South_base"
Description "N S surfaces of base prisms"
Surfaces IDM=6
1 3 4 6 2 5
|
1Six geometry sets are defined: aBase prisms top surface bTop cube base surface cTop cube top surface dBase prisms base surface eEast and West surfaces for the base prisms fNorth and South surfaces for the base prisms
|
|
The contact data for defining contact relationships is specified using Contact_set, Contact_property and Contact_global data structures.
Contact_set data structure is used in this example to establish that any external surface can come into contact with any other external surface. In addition different options concerning the performance of the contact algorithm are defined.
The Contact_property data structure is used to define the contact models that are used for a given contact set and define the corresponding input properties (e.g. normal penalty stiffnes, tangential penalty stiffnes, coefficient of friction, etc).
The Contact_global data structure is used to define which contact sets are active for the present analysis.
For more information about contact mechanics and contact data definition see Contact Data.
Contact_set
Data File
|
|
* Contact_set NUM=1
Name "Base-Block"
Geometry_sets IDM=2
"Base_top_surface"
"Block_base"
Algorithm "Penalty"
Property_name "Block_friction"
Global_update_frequency 1000
Search_lost_contact 0
Self_contact_flag 0
Field_factor 0.5
Buffer_factor 1.0
Trigger_search_velocity 10
Corner_region_size 0.05
|
1Only a single contact set is required for the present analysis. 2Included geometry sets in this contact set are "Base_top_surface" and "Block_base" and therefore a contact relationship may be established between those geometry sets. 3The penalty algorithm is used for the contact set (only option currently available). 4The Contact_property named "Block_friction" is assigned to the contact set. 5The update frequency for the global contact list (list which stores the facets and nodes which are in contact or will potentially be in contact at a given time of the simulation) is set every 1000 mechanical time steps. 6Search lost contact is set to 0 (do not trigger a contact search immediately after contact is lost between two entities). 7The field factor is set to 0.5 (a node and a facet are in contact if the distance between them is 0.5 · lfacet or less, where lfacet is the facet length). 8The buffer factor for defining the buffer box size is set to 1.0 (the candidate target facets that can potentially establish a contact relationship with a given contactor node are those within the buffer box during a global search update). In this case the buffer box for a given node is a sphere centred at the node with radius R=1.0· lfacet where lfacet is the average length of the facets that terminate on the node. 9If a point (node) exceeds the trigger_search_velocity of 10m/Ma (problem units) a global update search will be triggered. This option can help to prevent loss of contact and leaking meshes when the velocity of a node is relatively high. 10The corner_region_size is set to 0.05 which means that when a contactor node has moved beyond the last node in a corner, it is still considered to maintain contact if it is located in a distance from the target facet lower than its back projection which is calculated as 0.05 · lfacet where lfacet is the corner target facet length (see Contact_set).
|
Contact_property
Data File
|
|
* Contact_property NUM=1
Name "Block_friction"
Compression_model 1
Compression_properties IDM=1
500
Tangential_model 2
Tangential_properties IDM=2
1000
0.5
|
1The contact property is named "Block_friction". 2The compression model is set to Linear elastic governed by the normal penalty stiffness (model 1). 3The normal penalty stiffness is set to 500 MPa (problem units). 4The tangential model is set to Coulomb friction model (model 2) which allows slip if the tangential stress exceeds the product of the normal stress and the friction coefficient (σt > μ σn). 5The tangential penalty stiffness is set to 1000 MPa and the friction coefficient to 0.5.
|
Contact_global
Data File
|
|
* Contact_global NUM=1
Included_contact_sets IDM=1
"Base-Block"
Factor_contact_time_step 0.5
|
1The "Base-Block" contact set is active in the simulation. 2A critical time step factor for the contact is defined as 0.5 (usually the critical time step for the contact is below the one for the element formulation, so Factor_contact_critical_time_step can be used to enforce smaller time steps.
|
|
The Group_data data structure is compulsory and defines the properties for each geometry group. For this example these comprise:
1The name of the group. 2The element type. 3The material assigned to the group. 4The volume that defines the geometry for the group. 5The type of porous flow.
Data File
|
|
* Group_data NUM=1
Group_name "Base"
Element_type TET4V
Material_name "Elastic"
Volumes IDM=2
1 3
Porous_flow_type 5
* Group_data NUM=2
Group_name "Block"
Element_type TET4V
Material_name "Elastic"
Volumes IDM=1
2
Porous_flow_type 5
|
1Two groups are defined using the TET4V (4 noded tetrahedral elements using the average Volume formulation). 2The material assigned to these element groups is "Elastic". 3The geometry of the "Base" group is defined by volumes 1 and 3 (base prisms) whereas the "Block" group is defined by volume 2 (top cube). 4The simulation will be performed using the porous flow type number 5 (hydrostatic drained assumptions with vertical effective stress calculated using the buoyant density). |
|
The Group_control_data data structure is compulsory and defines:
1The groups number of geometry groups in the problem, where each geometry group relates to a region with specific properties; e.g. regions with different material assignments, individual stratigraphy layers, etc. 2Whether the group is active or inactive in the fields; i.e. geomechanical, porous flow, thermal, that are being solved.
Data File
|
|
* Group_control_data
Group_numbers IDM=1
1 2
Active_geomechanical_groups IDM=1
1 2
|
Two groups are present in the simulation with the geomechanical active.
|
|
The material properties for the material "Elastic" are defined within the main example datafile as shown below.
Data File
|
|
* Material_data NUM=1
Material_name "Elastic"
Units IDM=4
/Stress/ "MPa"
/Length/ "m"
/Time/ "Ma"
/Temperature/ "Celsius"
Grain_stiffness 20000
Grain_density 2700.00
Porosity 0.3000
Elastic_model_type 1
Isotropic_elastic_properties IDM=2
/Young's Modulus (E)/ 1000
/Poisson's Ratio (V)/ 0.30000
Singlephase_fluid 1
* Fluid_properties NUM=1
Fluid_type "Water"
Density 1000
|
1A single material is used for the simulation. 2The material is named "Elastic". 3The material units are specified with same units as the simulation. 4Grain properties are defined: Grain_stifness = 20000 MPa, Grain_density = 2700 Kg/m3 and Porosity = 0.3. 5The elastic model is set to linear elasticity (model 1). 6Young's modulus is set to 1000 MPa and Poisson's ratio is set to 0.3. 7Material is assigned fluid number 1.
1The minimum fluid data required for the current problem (which considers Porous_flow_type = 5) is the fluid density, which is set to 1000 Kg/m3.
|
|
The support data is used to define the directions which have a prescribed displacement (in the absence of a displacement defined via Global_loads the prescribed displacement is zero, i.e. fixed). Directions with prescribed displacements are assigned to geometry sets (rather than assignment via geometry entities such as surfaces, volumes, etc).
Data File
|
|
* Support_data
Displacement_codes IDM=3 JDM=4
1 0 0
0 1 0
0 0 1
1 1 1
Displacement_code_geom_set IDM=4
"North_South_base"
"East_West_base"
"Base_base"
"Top_Block"
Displacement_code_geom_ass IDM=4
2 1 3 4
|
1Four displacement code sets are defined. 2The listed geometry sets are assigned the displacement code sets listed in order (i.e. North_South_base is assigned set 2, East_West_base is assigned set 1, etc)
|
|
The two displacements prescribed on the top surface of the top cube are described below.
Data File
|
|
* Global_loads NUM=1
Prescribed_displacement IDM=3 JDM=1
1 0 0
Pres_displacement_geom_set IDM=1
"Top_Block"
Pres_displacement_geom_ass IDM=1
1
* Time_curve_data NUM=1
Time_curve IDM=3
1.0 2.0 3.0
Load_factor IDM=3
0.0 1.0 -1.0
* Global_loads NUM=2
Prescribed_displacement IDM=3 JDM=1
0 0 1
Pres_displacement_geom_set IDM=1
"Top_Block"
Pres_displacement_geom_ass IDM=1
1
* Time_curve_data NUM=2
Time_curve IDM=2
0.0 1.0
Load_factor IDM=2
0.0 -0.05
* Load_case_control_data
Loadcases IDM=2
1 2
Active_load_flags IDM=2
2 2
|
1Two displacement loads are prescribed on the top surface of the Block (top cube): a.One for prescribing 1m of lateral sliding (Global_loads 1) b.One for prescribing 0.05 m of downward compression against the base cubes (Global_loads 2) 2The downward compression occurs first, from time=0 to time=1. 3The lateral displacement occurs towards East direction first (time=1 to time=2) and then towards West direction (time=2 to time=3).
1Both load cases are defined to be active during the simulation in Load_case_control_data. |
|
An "unstructured mesh" with 0.4m size tetrahedral elements is defined for this example.
Data File
|
|
* Mesh_control_data
Generation_algorithm 2
Mesh_generation_flag 0
* Unstructured_mesh_data
Default_element_size 0.4
Element_size_bounds IDM=2
0.4
/ 0.4
|
1The algorithm used for this simulation is set to 2 (i.e. unstructured mesh). 2The mesh generation flag is set to 0 so analysis will be performed after mesh generation (default). 3The element size is set to 0.4 m.
|
|
Bulk viscosity damping is defined in order to damp the compression part of the dynamics-related oscillations on the effective mean stress.
Data File
|
|
* Damping_global_data
Percentage_damping 0.02000
Bulk_damping_model "BulkViscosity"
Bulk_damping_properties IDM=1
0.50000
|
A bulk viscosity model with a bulk viscosity constant of 0.5 is used in this example in order to damp the compressive oscillations due to dynamics in the effective mean stress. This is a generally recommended set up for most of ParaGeo geomechanical analysis. (For more information on the bulk viscosity model see damping_global_data).
Note that despite percentage damping being defined, this will not be active as percentage damping and bulk damping are mutually exclusive and the latter takes precedence.
|
|
The mechanical step size is defined via Time_scaling_factors data structure. The Optimal_time_step keyword has been used. It is the most simple way of defining the mechanical time step size and is generally recommended. Using this method the mass scaling is computed automatically.
Data File
|
|
* Time_scaling_factors
Optimal_time_step 1.0E-04
|
An optimal time step of 1.0·10-4 Ma is defined
|
|
The current analysis considers three control stages with similar geomechanical field control data defined by the Control_data structure (only difference are termination times). For more information see Solution Control Data.
Data File
|
|
* Control_data
Control_title "Compression"
Factor_critical_time_step 0.9
Solution_algorithm 1
Maximum_number_time_steps 1000000
Termination_time 1.0
Output_frequency_plotfile -1
Output_time_plotfile 0.2
Screen_message_frequency 500
|
1The factor critical time step is set to 0.9 so the element time step used for the simulation will be 0.9 · 1·10-4. 2The solution algorithm is set to number 1, i.e. Transient dynamic algorithm. 3The maximum number of time steps is set to 106. 4Termination times for the three stages are 1, 2 and 3 Ma respectively. 5A plot file is requested every 0.2 Ma (Output_time_plotfile=0.2) at the end of the stage (Output_frequency_plotfile=-1). 6Information will be displayed on the screen (command prompt) every 500 mech steps. |
|
A summary of the data for defining the 3D geometry for this example is presented bellow. These data comprise nodal_data, Geometry_volume, Geometry_surface and Geometry_line data structures.
Nodal_data
Data File
|
|
* nodal_data
node_numbers IDM=24
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24
coordinates IDM=3 JDM=24
0.0 0.0 0.0
2.4 0.0 0.0
2.4 0.0 2.0
0.0 0.0 2.0
1.5 0.0 2.0
3.5 0.0 2.0
3.5 0.0 4.0
1.5 0.0 4.0
2.6 0.0 0.0
5.0 0.0 0.0
5.0 0.0 2.0
2.6 0.0 2.0
0.0 2.0 0.0
2.4 2.0 0.0
2.4 2.0 2.0
0.0 2.0 2.0
1.5 2.0 2.0
3.5 2.0 2.0
3.5 2.0 4.0
1.5 2.0 4.0
2.6 2.0 0.0
5.0 2.0 0.0
5.0 2.0 2.0
2.6 2.0 2.0
|
1All the 24 nodes (8 per cube) needed to define the geometry are shown here. 2The top cube has a side size of 2.0m. 3The base rectangular prisms are 2.4m x 2m x 2m. 4The base prisms are separated by a 0.2m gap.
|
Volumes
Data File
|
|
* geometry_volume NUM=1
surfaces IDM=6
1 4 7 8 9 10
* geometry_volume NUM=2
surfaces IDM=6
2 5 11 12 13 14
* geometry_volume NUM=3
surfaces IDM=6
3 6 15 16 17 18
|
Three volumes formed by 6 surfaces each define the geometry of the problem.
|
Surfaces
Data File
|
|
* geometry_surface NUM=1
surface_type 5
lines IDM=4
1 2 3 4
* geometry_surface NUM=2
surface_type 5
lines IDM=4
5 6 7 8
.
.
.
* geometry_surface NUM=18
surface_type 5
lines IDM=4
12 33 24 36
|
1Eighteen surfaces are defined. 2Each surface is defined by four lines.
|
Lines
Data File
|
|
* geometry_line NUM=1
line_type 1
points IDM=2
1 2
* geometry_line NUM=2
line_type 1
points IDM=2
2 3
.
.
.
* geometry_line NUM=36
line_type 1
points IDM=2
12 24
|
1Thirty six lines are defined. 2Each line connect two nodes.
|
|
|