The GCDEF command is used to define specific (non-default) contact
interactions between general contact surfaces identified by section IDs
(SECT1
and SECT2
). Generally,
GCDEF commands are order independent. However, there are a few
situations in which the order matters. Understanding how the GCDEF
commands are stored and executed will help you to better manage contact interactions in
your model.
The following topics related to managing general contact interactions are available:
Each entry of the GCDEF command defines one contact interaction. The GCDEF command should be issued after all general contact surfaces have been generated, via the GCGEN command and/or manually.
GCDEF is not an action command. Each GCDEF entry is saved in the database and written to the .cdb file (see the CDWRITE command).
In most cases the order of the GCDEF commands is unimportant.
You may find it more intuitive to enter them in the order of least specific to most
specific general contact definitions. The GCDEF command sequence
is important only if one or more of the Option
,
MATID
, and REALID
fields
is redefined (overwritten) on the same GCDEF entry (for the same
combination of section IDs) or if an entry is deleted.
The program executes user-defined contact interactions internally based on the following sequence:
First, all frictionless general interactions are applied by default
The general contact interaction/exclusion entries are applied and overwrite above entries:
GCDEF,
Option
,ALL,ALL,MATID
,REALID
The general self-contact interaction/exclusion entries are applied and overwrite above entries:
GCDEF,
Option
,ALL,SELF,MATID
,REALID
or GCDEF,Option
,SELF,ALL,MATID
,REALID
The partial general contact interaction/exclusion entries are applied and overwrite above entries:
GCDEF,
Option
,SECT1,ALL,MATID
,REALID
or GCDEF,Option
,ALL,SECT2,MATID
,REALID
Finally, all individual contact interaction/exclusion entries are applied and overwrite above entries:
GCDEF,
Option
,SECT1,SECT2,MATID
,REALID
or GCDEF,Option
,SECT1,SECT1,MATID
,REALID
or GCDEF,Option
,SECT1,SELF,MATID
,REALID
For the same record (SECT1
and
SECT2
), the latest entry for
Option
, MATID
, and
REALID
overwrites any previous one.
The GCDEF command has options to list interactions that you have specified. It also has two options to display the contact interactions in a table format. These options are described in the table below.
The list and table options can be used for a specific contact interaction
(SECT1
,SECT2
) or a range
of contact interactions (SECT1
to
SECT1END
, SECT2
to
SECT2END
).
The MATID
and REALID
fields
of the GCDEF command are ignored for these list and table
options.
Option
| Action | Examples |
---|---|---|
LIST | Lists general contact interactions defined by GCDEF. No interpretation is applied. | List a particular general contact interaction:
GCDEF,LIST,List a range of general contact interactions spanning contact sections SECT1 to
SECT1END and target sections
SECT2 to
SECT2END :
GCDEF,LIST,List all general contact interactions: GCDEF,LIST |
TABLE |
Interprets the stored GCDEF data and displays general contact interactions in a tabular format. The table includes default interactions as well as those specified through GCDEF commands. Duplicate table entries are compressed out in some cases. | Display a range of general contact interactions in table format
spanning contact sections SECT1 to
SECT1END and target sections
SECT2 to
SECT2END :
GCDEF,TABLE,Display all interactions in tabular format (without compression): GCDEF,TABLE,TOTAL |
TABLESOL |
Lists a table showing actual interactions considered during solution. This option is only available after the SOLVE command. For auto asymmetric contact, TABLESOL indicates which of the possible contact versus target surface combinations was considered. | Display a range of the actual general contact interactions used
during solution in table format, with the range spanning from
contact sections SECT1 to
SECT1END and target sections
SECT2 to
SECT2END ::
GCDEF,TABLESOL, |
The LIST and TABLE options of the GCDEF command are useful for tracking the contact interactions that are defined between specific surfaces. GCDEF,LIST lists the stored GCDEF data. No interpretation is applied. GCDEF,TABLE interprets the stored data onto the available section combinations and presents the information in a table format.
The following examples demonstrate how to interpret the LIST and TABLE output.
Consider a situation where GCGEN creates four general contact surfaces with section IDs 2 through 5:
gcgen GENERATE GENERAL CONTACT ELEMENTS... New general contact elements have Section ID from 2 to 5
Using the LIST and TABLE options before defining any specific contact interactions results in the output as shown below:
gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST *** WARNING *** CP = 0.000 TIME= 00:00:00 There are no contact definitions to list.
The LIST operation shows no stored GCDEF data entries.
gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 0 5 |---------------------------------------------------------------------- 2 M | a - ... a - R | * ... * | ... ... ... | ... ... ... 5 M | a - ... a - R | * ... *
GCDEF,TABLE shows that all section ID combinations would use default settings if solved at this point. The defaults are automatic asymmetric contact (indicated by “a”), default real constant ID (indicated by “*” in the R rows), and no defined material ID (indicated by “-” in the M rows) which results in the default behavior of standard frictionless contact. Rows and columns 3 and 4 are omitted (represented by "...") because they are the same as surrounding rows and columns 2 and 5.
To see the entire table, issue GCDEF,TABLE,TOTAL.
gcdef,table,total GENERAL CONTACT PROPERTY OPTION = TABLE (COMPLETE) Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - a - a - a - R | * * * * 3 M | a - a - a - a - R | * * * * 4 M | a - a - a - a - R | * * * * 5 M | a - a - a - a - R | * * * *
First, define asymmetric contact between section ID 2 (contact surface) and section ID 3 (target surface):
gcdef,asym,2,3 ! GCDEF #1 GENERAL CONTACT PROPERTY OPTION = ASYM BETWEEN SECTIONS 2 (CONTACT) AND 3 (TARGET) gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- 2 3 ASYM - - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a - a - R | * * * * 3 M | - a - a - a - R | - * * * 4 M | a - a - a - a - R | * * * * 5 M | a - a - a - a - R | * * * *
The effect is seen in the 2/3 and 3/2 table entries: 2/3 is active (* indicates
default for real constant ID) and 3/2 is inactive (- indicates unused real constant
ID). This will be easier to see later when a nonzero real constant ID is assigned
for entry 2/3. (Note that GCDEF command #1 did not specify
MATID
or REALID
.)
Next, enter GCDEF,ASYM to reverse the asymmetric contact order for sections 2 and 3:
gcdef,asym,3,2 ! GCDEF #2 - overwrites 2,3 (same record) GENERAL CONTACT PROPERTY OPTION = ASYM BETWEEN SECTIONS 3 (CONTACT) AND 2 (TARGET) gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- 3 2 ASYM - - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a - a - R | * - * * 3 M | - a - a - a - R | * * * * 4 M | a - a - a - a - R | * * * * 5 M | a - a - a - a - R | * * * *
There is still only one GCDEF entry listed since the second GCDEF command overwrote the first one. In the table, 3/2 is active and 2/3 is inactive.
Next, add a material ID to that same 2/3 entry. Because the
Option
field is blank, the previous
Option
(which was ASYM) is unchanged.
gcdef,,2,3,102 ! GCDEF #3 - mat 102 GENERAL CONTACT PROPERTY OPTION = BETWEEN SECTIONS 2 AND 3 Use material number = 102 gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- 3 2 ASYM 102 - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a - a - R | * - * * 3 M | 102 a - a - a - R | * * * * 4 M | a - a - a - a - R | * * * * 5 M | a - a - a - a - R | * * * *
Next, add material and real constant IDs to be used in the contact between section IDs 2 and 4:
gcdef,,2,4, 101,201 ! GCDEF #4 - mat 101 real 201 GENERAL CONTACT PROPERTY OPTION = BETWEEN SECTIONS 2 AND 4 Use material number = 101 Use real constant number = 201 gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- 3 2 ASYM 102 - 2 4 - 101 201 gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 a - R | * - 201 * 3 M | 102 a - a - a - R | * * * * 4 M | a 101 a - a - a - R | 201 * * * 5 M | a - a - a - a - R | * * * *
Next, specify symmetric contact between section IDs 2 and 5 and assign material ID 101:
gcdef,symm,2,5,101 ! GCDEF #5 - mat 101 GENERAL CONTACT PROPERTY OPTION = SYMM BETWEEN SECTIONS 2 AND 5 Use material number = 101 gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- 3 2 ASYM 102 - 2 4 - 101 201 2 5 SYMM 101 - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 S 101 R | * - 201 * 3 M | 102 a - a - a - R | * * * * 4 M | a 101 a - a - a - R | 201 * * * 5 M | S 101 a - a - a - R | * * * *
Next, specify material ID 301 for contact between section ID 3 and any other section:
gcdef,,3,all, 301 ! GCDEF #6 - mat 301 GENERAL CONTACT PROPERTY OPTION = BETWEEN SECTION 3 AND ALL OTHER SECTIONS Use material number = 301 gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- 3 2 ASYM 102 - 2 4 - 101 201 2 5 SYMM 101 - 3 ALL - 301 - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 S 101 R | * - 201 * 3 M | 102 a 301 a 301 a 301 R | * * * * 4 M | a 101 a 301 a - a - R | 201 * * * 5 M | S 101 a 301 a - a - R | * * * *
The 3/ALL material ID setting applies to 3/3, 3/4 (4/3), and 3/5 (5/3). It does
not apply to 2/3 (3/2), because there is a more specific 2/3 (3/2) setting for
material ID. It does not matter in what order the 2/3 and 3/ALL settings are defined
for material ID, or in what order they are listed. This priority based assignment is
performed separately for Option
,
MATID
, and REALID
for
every combination of section IDs used by general contact.
Next, specify real constant ID 401 for all general contact:
gcdef,,all,all, ,401 ! GCDEF #7 - real 401 GENERAL CONTACT PROPERTY OPTION = DEFAULT IF NOT SPECIFIED OTHERWISE Use real constant number = 401 gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- ALL ALL - - 401 3 2 ASYM 102 - 2 4 - 101 201 2 5 SYMM 101 - 3 ALL - 301 - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 S 101 R | 401 - 201 401 3 M | 102 a 301 a 301 a 301 R | 401 401 401 401 4 M | a 101 a 301 a - a - R | 201 401 401 401 5 M | S 101 a 301 a - a - R | 401 401 401 401
The ALL/ALL real constant setting applies to most of the table, but it does not apply to 2/4 (4/2) because there is a more specific 2/4 (4/2) setting for real constant ID.
Next, specify real constant ID 501 for all self contact. That is, contact between general contact elements having the same section ID. This is represented by diagonal entries in the table.
gcdef,,all,self, ,501 ! GCDEF #8 - real 501 GENERAL CONTACT PROPERTY OPTION = ALL SELF CONTACT Use real constant number = 501 gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- ALL SELF - - 501 ALL ALL - - 401 3 2 ASYM 102 - 2 4 - 101 201 2 5 SYMM 101 - 3 ALL - 301 - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 S 101 R | 501 - 201 401 3 M | 102 a 301 a 301 a 301 R | 401 501 401 401 4 M | a 101 a 301 a - a - R | 201 401 501 401 5 M | S 101 a 301 a - a - R | 401 401 401 501
The ALL/SELF Real setting takes precedence over ALL/ALL, where it applies.
Next, exclude contact between section ID 4 and any other section:
gcdef,excl,4,all ! GCDEF #9 GENERAL CONTACT PROPERTY OPTION = EXCLUDE BETWEEN SECTION 4 AND ALL OTHER SECTIONS gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- ALL SELF - - 501 ALL ALL - - 401 3 2 ASYM 102 - 2 4 - 101 201 2 5 SYMM 101 - 3 ALL - 301 - 4 ALL EXCLUDE - - gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 S 101 R | 501 - 201 401 3 M | 102 a 301 E a 301 R | 401 501 E 401 4 M | a 101 E E E R | 201 E E E 5 M | S 101 a 301 E a - R | 401 401 E 501
The Option
= EXCL (exclude) setting for 4/ALL applies
to 3/4 (4/3), 4/4, and 4/5 (5/4). But it does not apply to 2/4 (4/2), because there
is a more specific 2/4 (4/2) setting for Option
.
After the SOLVE command is issued, the TABLESOLU option can be used to show the MAT and REAL values used during solution.
/solu solve gcdef,tablesolu GENERAL CONTACT PROPERTY OPTION = TABLESOLU Section1 Section2 M MAT R REAL (contact) (target) - Unused or Undefined . 2. 3. 4. 5 |---------------------------------------------------------------------- 2 M | - - 101 101 R |. 501. . 201. 401 3 M | 102 301 - 301 R |. 401. 501. . 401 4 M | - - - - R |. . . . 5 M | 101 - - - R |. 401. . . 501
Finally, use GCDEF,DELETE, which removes an entry in the list and might affect many entries in the table or at SOLVE.
/prep7 gcdef,dele,all,all ! GCDEF #10 - delete entry for all all GENERAL CONTACT PROPERTY OPTION = DELETE DEFAULT IF NOT SPECIFIED OTHERWISE gcdef,list GENERAL CONTACT PROPERTY OPTION = LIST (COMPLETE) Section1 Section2 Interaction Material Real (contact) (target) ---------------------------------------------------------- ALL SELF - - 501 3 2 ASYM 102 - 2 4 - 101 201 2 5 SYMM 101 - 3 ALL - 301 - 4 ALL EXCLUDE gcdef,table GENERAL CONTACT PROPERTY OPTION = TABLE Section1 Section2 M MAT R REAL a/A Auto Asym (program/user) S Symm E Exclude (contact) (target) * Default - Unused or Undefined 2 3 4 5 |---------------------------------------------------------------------- 2 M | a - - a 101 S 101 R | 501 - 201 * 3 M | 102 a - a 301 a 301 R | * 501 * * 4 M | a 101 a 301 a - a - R | 201 * 501 * 5 M | S 101 a 301 a - a - R | * * * 501
In most cases the order of GCDEF commands is unimportant. However, there are a few exceptions. In the contrived example presented here, the order of GCDEF commands #1 and #2 matters because the last one entered determines the section 2/3 ASYM contact/target assignment. In addition, GCDEF #7 and #10 define and then delete the ALL/ALL entry. Otherwise, the order of the ten GCDEF commands does not affect the solution.
Several *GET command formats are available for retrieving
information related to general contact surfaces. In these commands,
Sect1
and Sect2
represent
section ID numbers of general contact surfaces.
*GET Command Format | Action | Comments | ||||
---|---|---|---|---|---|---|
*GET, | Retrieves the material ID (MATID ) used
for the contact interaction at the interface between
Sect1 and
Sect2 | This is equivalent to the get function
SECTOMAT(Sect1 ,Sect2 ) | ||||
*GET, | Retrieves the real constant ID
(REALID ) used for the contact interaction
at the interface between Sect1 and
Sect2 | This is equivalent to the get function
SECTOREAL(Sect1 ,Sect2 ) | ||||
*GET, | Retrieves a number that indicates the type of contact defined for
the contact interaction at the interface between
Sect1 and
Sect2 | Possible values are:
|