7.22. Contact
This section is referenced in the following other sections
Table of Contents
7.22.1. Contact Definition
- Scope
Aria Region, Equation System, Explicit Equation System, Root Finder Equation System
- Summary
Contains the commands needed to define contact for an analysis.
- Description
This block command defines a scenario for the contact model. The contact surfaces are defined, the interactions are set, and the type of contact enforcement is defined.
begin Contact Definition Contact_name Contact Surface Surface_name [ Contains List_of_instances... ] Disable Opposed Normal Interaction Culling Opposed Normal Threshold Angle Angle Output Rule Periodicity For surface Rectangular Offset = offset1 offset2[ offset3] Periodicity For surface Align_Surface [Destination = destination | Invert_Normals = invert_normals] Periodicity For surface Cylindrical [Axis = axis1 axis2[ axis3] | Center = center1 center2[ center3] | Angle = angle] Periodicity For surface Mapped [X_Map = x_map | Y_Map = y_map | Z_Map = z_map] Restrict Contact To Subdomain Defined By Radius r And Point VecX VecY VecZ Skin All Blocks [ Exclude Blocks_to_exlude... ] Update Search Every n Steps Visualize Contact begin Enforcement Enforcement_name end begin Interaction Interaction_name end begin Interaction Defaults end begin Search Options Search_options_name end end Contact Definition Contact_name
7.22.1.1. Line Commands
Contact Surface
- Syntax
Contact Surface Surface_name [ Contains List_of_instances… ]
- Summary
Defines a surface made up of a set of surfaces in the mesh file to consider for contact. Specification of an element block implies that block skinning of the element block is to take place. The specific implementation of block skinning depends on the application.
Parameter |
Value |
Default |
|---|---|---|
Surface_name |
string |
– |
Disable Opposed Normal Interaction Culling
- Syntax
Disable Opposed Normal Interaction Culling
- Summary
This line command disables the culling of interactions that do not have opposed normals.
- Description
This is a temporary developer command
Opposed Normal Threshold Angle
- Syntax
Opposed Normal Threshold Angle Angle
- Summary
Assign the angle, in degrees, for which surface normals are considered to be opposed.
- Description
Prescribed angle must be greater or equal to 90 degrees.
Warning
This option is not recommended for general use but serves as a temporary patch that can be used for some problems.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Angle |
real |
– |
Output Rule
- Syntax
Output Rule
- Summary
Toggle amount of information output from the search.
- NONE
Nothing will be printed to the screen.
- SUMMARY
A summary of the calculation will be printed.
- VERBOSE
A detailed report of the calculation is printed.
- MORE VERBOSE
A more detailed report of the calculation is printed.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{more verbose | none | summary | verbose} |
– |
Periodicity
- Syntax
Periodicity For surface Rectangular Offset = offset1 offset2[ offset3]
- Summary
Enables rectangular periodicity where specified surface is translated by {offset_x, offset_y, offset_z} before performing contact search.
Parameter |
Value |
Default |
|---|---|---|
surface |
“string” |
– |
{= | are | is} |
– |
|
real1 real2[ real3] |
– |
Periodicity
- Syntax
Periodicity For surface Align_Surface [Destination = destination | Invert_Normals = invert_normals]
- Summary
Enables periodicity where specified surface is translated/rotated so that its centroid/normal align with the destination surface. By default the original face’s normal is aligned to -1*destination normal, but this can be disabled by setting invert_normals to 0.
Parameter |
Value |
Default |
|---|---|---|
surface |
“string” |
– |
{= | are | is} |
– |
|
destination |
“string” |
– |
invert_normals |
integer |
– |
Periodicity
- Syntax
Periodicity For surface Cylindrical [Axis = axis1 axis2[ axis3] | Center = center1 center2[ center3] | Angle = angle]
- Summary
Enables cylindrical periodicity where specified surface is rotated (angle in degrees) around the given axis before performing contact search.
Parameter |
Value |
Default |
|---|---|---|
surface |
“string” |
– |
{= | are | is} |
– |
|
real1 real2[ real3] |
– |
|
real1 real2[ real3] |
– |
|
angle |
real |
– |
Periodicity
- Syntax
Periodicity For surface Mapped [X_Map = x_map | Y_Map = y_map | Z_Map = z_map]
- Summary
Enables arbitrary periodicity where points p on specified surface are mapped via string functions p’=f(p) before performing contact search. Functions that are not specified default to a trivial mapping e.g. y->y
Parameter |
Value |
Default |
|---|---|---|
surface |
“string” |
– |
{= | are | is} |
– |
|
x_map |
“string” |
– |
y_map |
“string” |
– |
z_map |
“string” |
– |
Restrict Contact To Subdomain Defined By Radius
- Syntax
Restrict Contact To Subdomain Defined By Radius r And Point VecX VecY VecZ
- Summary
Restrict contact to the subdomain defined by the radius and the point.
Parameter |
Value |
Default |
|---|---|---|
r |
real |
– |
VecX |
real |
– |
VecY |
real |
– |
VecZ |
real |
– |
Skin All Blocks
- Syntax
Skin All Blocks [ Exclude Blocks_to_exlude… ]
- Summary
Informs the contact algorithms to skin all element blocks and then use the resulting surfaces in contact computations.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
– |
Update Search Every
- Syntax
Update Search Every n Steps
- Summary
Force an updating of the contact search every N steps.
- Description
This command is useful if, for example, Aria is coupled to Adagio and the likelihood is strong that the mesh coordinates have changed significantly. Because contact surfaces may also appear in the definition of boundary conditions the application must selectively apply contact relations and boundary conditions appropriately. These issues are resolved automatically within the application code using the contact surface definitions and internal data masks.
Parameter |
Value |
Default |
|---|---|---|
n |
integer |
– |
Visualize Contact
- Syntax
Visualize Contact
- Summary
Output contact surfaces with facets marked with [0,1] corresponding to what percentage of their IPs where contact is applied.
- Description
Enables output of surfaces where contact is active. Surface facets will be marked by the percentage of their IPs where contact constraints are applied - 0 meaning no IPs and 1 meaning all IPs.
Note
Visualization is enabled by default for contact defined using surface sidesets.
Warning
Use of this option is primarily for debugging purposes as the Results Output and History file will contain a skinned version of the contact element blocks. This may constitute a a large amount of information for discontiguously meshed models.
Warning
Using contact visualization with multiple contact definitions on the same surface can result in duplicating contact contributions. Additionally, toggling each contact definition independently can result in errors in contact visualization.
7.22.2. Interaction
- Scope
Contact Definition
- Summary
Contains the commands needed to define a surface-surface interaction.
begin Interaction Interaction_name Normal Tolerance Distance Side A Side a... Side B Side b... Surfaces Surfaces... end Interaction Interaction_name
7.22.2.1. Line Commands
Normal Tolerance
- Syntax
Normal Tolerance Distance
- Summary
Set distance of normal tolerance.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Distance |
real |
– |
Side A
- Syntax
Side A Side a…
- Summary
Defines a list of surfaces that are side a to each surface in the side b list
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
string… |
– |
Side B
- Syntax
Side B Side b…
- Summary
Defines a list of surfaces that are side b to each surface in the side a list
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
string… |
– |
Surfaces
- Syntax
Surfaces Surfaces…
- Summary
Defines a pairwise set of surfaces for which to turn on interactions
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
string… |
– |
7.22.3. Interaction Defaults
- Scope
Contact Definition
- Summary
Contains the interaction default commands
begin Interaction Defaults General Contact Self Contact Surfaces Surfaces... end Interaction Defaults
7.22.3.1. Line Commands
General Contact
- Syntax
General Contact
- Summary
Sets all contact that is not self contact to either what is defined in interaction behavior
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
– |
Self Contact
- Syntax
Self Contact
- Summary
Specifies whether self contact is on or off
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
{off | on} |
– |
Surfaces
- Syntax
Surfaces Surfaces…
- Summary
Defines a pairwise set of surfaces for which to turn on interactions
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
string… |
– |
7.22.4. Search Options
- Scope
Contact Definition
- Summary
Contains the commands to set the search options
begin Search Options Search_options_name Normal Tolerance Distance end Search Options Search_options_name
7.22.4.1. Line Commands
Normal Tolerance
- Syntax
Normal Tolerance Distance
- Summary
Set distance of normal tolerance.
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
Distance |
real |
– |
7.22.5. Enforcement
- Scope
Contact Definition
- Summary
Contains the commands needed to define contact enforcement for an analysis in Aria.
- Description
This block command is used to define the type of contact between the surfaces. The name of the enforcement is specified by the user. When the contact includes some contact resistance, the conductance coefficient for the contact between the two surfaces must be specified.
begin Enforcement Enforcement_name Dash Penalty Factor value Enforcement For EquationName EnforcementModel [ ModelParams... ] Integer Data Values... Real Data Values... Side B Variable b_field To a_field Slave Variable Slave_field To Master_field Use Toggle Block ToggleName [ ElementBlockList... ] end Enforcement Enforcement_name
7.22.5.1. Line Commands
Dash Penalty Factor
- Syntax
Dash Penalty Factor value
- Summary
Defines a penalty factor to use for the dash constraints
Parameter |
Value |
Default |
|---|---|---|
{= | are | is} |
– |
|
value |
real |
– |
Enforcement For
- Syntax
Enforcement For EquationName EnforcementModel [ ModelParams… ]
- Summary
Defines the model for enforcement for the command block interactions, either tied or resistance/conductance contact. Tied contact can be of type generalized or Lagrange multiplier/MPC, where generalized contact is the preferred contact algorithm.
- Description
This command line sets the type of contact problem for interactions defined in the current CONTACT DEFINITION command block and the equation to which the enforcement applies.
The Generalized contact enforcement model can be either GAP_CONDUCTANCE, CONDUCTANCE or TIED_DOF. In the case of resistance contact one must define a CONDUCTANCE COEFFICIENT model. To specify that TIED contact will be enforced for DOF my_DOF_name, the enforcement model will be TIED_my_DOF_name, where the solution DOF for EquationName is defined in the EQ command line.
Lagrange multiplier enforcement is specified simply as model TIED and must be accompanied by a SIDE B VARIABLE command line within the ENFORCEMENT command block.
DASH contact enforcement will be enforced only in a TIED sense.
Parameter |
Value |
Default |
|---|---|---|
EquationName |
string |
– |
{= | are | is} |
– |
|
EnforcementModel |
string |
– |
Integer Data
- Syntax
Integer Data Values…
- Summary
List of integer data values to be used by the FORTRAN user subroutine. Copies of these values are provided to the subroutine hence changes to these values within the subroutine are not saved.
Parameter |
Value |
Default |
|---|---|---|
integer… |
– |
Real Data
- Syntax
Real Data Values…
- Summary
List of real data values to be used by the FORTRAN user subroutine. Copies of these values are provided to the subroutine hence changes to these values within the subroutine are not saved.
Parameter |
Value |
Default |
|---|---|---|
real… |
– |
Side B Variable
- Syntax
Side B Variable b_field To a_field
- Summary
Defines the variables involved in enforcement for this interaction.
- Description
This line command sets maps side b to side a variables involved in the current tied contact definition.
Parameter |
Value |
Default |
|---|---|---|
b_field |
string |
– |
a_field |
string |
– |
Slave Variable
- Syntax
Slave Variable Slave_field To Master_field
- Summary
Defines the variables involved in enforcement for this interaction.
- Description
DEPRECATED COMMAND: This line command sets the master and slave variables involved in the current tied contact definition.
Parameter |
Value |
Default |
|---|---|---|
Slave_field |
string |
– |
Master_field |
string |
– |
Use Toggle Block
- Syntax
Use Toggle Block ToggleName [ ElementBlockList… ]
- Summary
Specification for toggling entities in the computational model based on Toggle Block parameters. When used at the region level, the list of element blocks to be toggled must be provided. Otherwise a listing of entities is not needed as the Toggle Block will be associated with the command line or the enclosing command block.
Parameter |
Value |
Default |
|---|---|---|
ToggleName |
string |
– |
Along with the lines listed above, enforcements can be specified in the Enforcement block with the syntax
Enforcement for [EQ] = [MODEL] [MODEL ARGS...]
See the list below for all possible Enforcement options.
- 7.22.5.1.1. Continuity
- 7.22.5.1.2. Current
- 7.22.5.1.3. Cvfem_Continuity
- 7.22.5.1.4. Cvfem_Energy
- 7.22.5.1.5. Cvfem_Lumped_Projection
- 7.22.5.1.6. Cvfem_Momentum
- 7.22.5.1.7. Cvfem_Projection
- 7.22.5.1.8. Cvfem_Specific_Dissipation_Rate
- 7.22.5.1.9. Cvfem_Turbulent_Kinetic_Energy
- 7.22.5.1.10. Energy
- 7.22.5.1.11. Mass_Balance
- 7.22.5.1.12. Mesh
- 7.22.5.1.13. Momentum
- 7.22.5.1.14. Porous_Enthalpy
- 7.22.5.1.15. Porous_Species
- 7.22.5.1.16. Species
- 7.22.5.1.17. Voltage
Similarly, contact material models can be specified in the Enforcement block with the syntax
[MATERIAL PROPERTY] = [MODEL] [MODEL ARGS...]
See the list below for all possible Material Model options.
- 7.22.5.1.18. Contact Gap Temperature
- 7.22.5.1.19. Contact Gap Voltage
- 7.22.5.1.20. Contact Surface Pressure
- 7.22.5.1.21. Gap Conductance Coefficient
- 7.22.5.1.22. Offset Darcy Potential
- 7.22.5.1.23. Offset Mesh Displacements
- 7.22.5.1.24. Offset Pressure
- 7.22.5.1.25. Offset Solid Displacements
- 7.22.5.1.26. Offset Species
- 7.22.5.1.27. Offset Temperature
- 7.22.5.1.28. Offset Velocity
- 7.22.5.1.29. Offset Voltage
- 7.22.5.1.30. User Expression