In ParaGeo you can specify any pair of contact surfaces to be tied (i.e. their mechanical freedoms will be coupled following a master-slave approach to approximate a continuum geometry at the coupled contact surface). It should be noted that the master-slave coupling is internally performed via the coupled freedoms code through the definition of either Couple_freedoms or via Contact_global and Contact_set data structures depending on the type of coupling. As this is an additional usage of coupled freedoms, for the sake of clarification we summarize all coupled freedoms functionalities available in ParaGeo in the following table:
|
Sequential Analysis |
Parallel analysis |
||
|
Explicit mechanics |
Implicit mechanics |
Explicit mechanics |
Implicit mechanics |
Standard (1 master node to n slaves) |
Available |
Available |
Available |
Available |
Geometry Non-matching mesh (node to facet) |
Available |
Not available |
Not available |
Not available |
Geometry Matching mesh (node to node) / Contact |
Available |
Available |
Available |
Not available |
Standard coupled freedoms
Standard coupled freedoms refers to a functionality to couple the specified freedoms (any of the specified displacements in x, y and z) of all the nodes in a given geometry entity or geometry set. One node/point in such geometry entity will be the master node and the remaining ones will be slaves (this may be user-defined). Consequently any displacement that the master node experiences will be transferred to the slaves so that they have the same displacement in the coupled directions. This is often used to maintain a given boundary to be planar/"flat" during the simulation (e.g. to maintain the top surface "flat" in a 3D problem a standard coupled freedoms with displacements coupled in the Z direction may be defined). Note therefore that this type of coupled freedoms is not relevant to the tied contact surfaces.
Example |
|
* Couple_freedoms NUM=1 ! ------------------------ Geomechanical_codes IDM=3 0 0 1 Geometry_sets IDM=1 "Top_surf"
|
1.In Geomechanical_codes the coupled displacement directions (X, Y, Z) are specified where 0 means free/non-coupled and 1 means coupled. In this example only Z is coupled so that all the nodes in the Top_surf geometry set will have the same displacement. |
Geometry (node to facet) coupled freedoms
The geometry (node to facet) coupled freedoms is a master-slave coupling approach which enables contact surfaces to be tied in a sequential analysis. It is more computationally expensive than the node to node coupled freedoms but may be used for contact surfaces with non-matching meshes. It requires definition of the coupled freedoms in all displacement directions and the corresponding master and slave geometry sets.
Example |
|
* Couple_freedoms NUM=1 ! ------------------------ Set_type "Geometry" Geomechanical_codes IDM=3 1 1 1 Master_geometry_sets IDM=1 "Fault01_hgw" Slave_geometry_sets IDM=1 "Fault01_ftw"
|
1.Set_type is set to "Geometry".
2.By default, for Set_type "Geometry" the node to facet algorithm will be used (appropriate for non-matching meshes).
3.In Geomechanical_codes all displacement directions must be defined as coupled in order to tie the two surfaces. |
Geometry (node to node) coupled freedoms
The geometry (node to node) coupled freedoms is a master-slave coupling approach which enables contact surfaces to be tied in both a sequential and parallel analysis with explicit mechanics. It can only be used for contact surfaces with matching meshes and the coupling may be defined either via Couple_freedoms or via Contact_global and Contac_set data structures. It is noted that both paths for defining the master-slave coupling are equivalent and allowing its definition via contact is only a matter of convenience as contact is not actually solved for tied contact surfaces.
Example |
|
* Couple_freedoms NUM=1 ! ------------------------ Node_to_node_flag 1 Geomechanical_codes IDM=3 1 1 1 Master_geometry_sets IDM=1 "Fault01_hgw" Slave_geometry_sets IDM=1 "Fault01_ftw"
|
1.Node_to_node_flag is set to 1 (the code automatically assumes Set_type "Geometry").
2.In Geomechanical_codes all displacement directions must be defined as coupled in order to tie the two surfaces. |
An example of tying surfaces via contact data is provided below. It should be noted that each pair of tied contact surfaces MUST be defined in their own separate contact set. For the sake of clarity the example below considers 5 faults in which the hanging wall of Fault01 and Fault02 are tied with their corresponding footwall counterparts whereas Fault03, Fault04 and Fault05 will be governed by a contact relationship.
Example |
|
* Contact_global NUM=1 ! ---------------------------------------- Included_contact_sets IDM=3 "Fault01" "Fault02" "Remaining" Tied_contact_sets IDM=2 "Fault01" "Fault02" Contact_flow_flag 1 Contact_thermal_flag 1
* Contact_set NUM=1 ! ------------------------------------- Name "Fault01" Geometry_sets IDM=2 "Fault01_hgw" "Fault01_ftw" (...)
* Contact_set NUM=2 ! ------------------------------------- Name "Fault02" Geometry_sets IDM=2 "Fault02_hgw" "Fault02_ftw" (...)
* Contact_set NUM=3 ! ------------------------------------- Name "Remaining" Geometry_sets IDM=6 "Fault03_hgw" "Fault03_ftw" "Fault04_hgw" "Fault04_ftw" "Fault05_hgw" "Fault05_ftw" (...)
|
1.Because Fault01 and Fault02 will have their corresponding hanging walls tied to their corresponding footwalls they must be defined in separate contact sets. All remaining non-tied faults may be defined within the same contact set (alternatively they may be defined in separate contact sets as well).
2.In Contact_global the contact sets that will be tied using a master-slave coupled freedoms with the node to node algorithm are listed within the Tied_contact_sets keyword.
3.The ParaGeo code internally will remove the tied contact sets from the contact data and generate the corresponding couple freedoms data. It is noted that because no contact is solved for the tied surfaces, no data blocks will be available to isolate / filter in ParaView when using the Extract Block filter.
|