8.9. Managing Contact Interactions Between Surfaces

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.

8.9.1. GCDEF Command Entries and Execution

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:

  1. First, all frictionless general interactions are applied by default

  2. The general contact interaction/exclusion entries are applied and overwrite above entries:

    GCDEF,Option,ALL,ALL,MATID,REALID
  3. 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
    
  4. 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
    
  5. 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.

8.9.2. The LIST and TABLE Options of GCDEF

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
LISTLists general contact interactions defined by GCDEF. No interpretation is applied.List a particular general contact interaction:
GCDEF,LIST,SECT1,SECT2
List a range of general contact interactions spanning contact sections SECT1 to SECT1END and target sections SECT2 to SECT2END:
GCDEF,LIST,SECT1,SECT2,,,SECT1END,SECT2END
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,SECT1,SECT2,,,SECT1END,SECT2END
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,SECT1,SECT2,,,SECT1END,SECT2END

8.9.3. Example of How to Use the LIST and TABLE Options

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.

8.9.4. Retrieving Information with *GET Commands

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 FormatActionComments
*GET,Par,GCN,0,MAT,Sect1,,Sect2
Retrieves the material ID (MATID) used for the contact interaction at the interface between Sect1 and Sect2This is equivalent to the get function SECTOMAT(Sect1,Sect2)
*GET,Par,GCN,0,REAL,Sect1,,Sect2
Retrieves the real constant ID (REALID) used for the contact interaction at the interface between Sect1 and Sect2This is equivalent to the get function SECTOREAL(Sect1,Sect2)
*GET,Par,GCN,0,DEF,Sect1,,Sect2
Retrieves a number that indicates the type of contact defined for the contact interaction at the interface between Sect1 and Sect2Possible values are:
0 - “Excluded” general contact between Sect1 / Sect2
1 - Asymmetric general contact between Sect1 (contact) / Sect2 (target)
2 - Asymmetric general contact between Sect1 (target) / Sect2 (contact)
3 - Symmetric general contact between Sect1 / Sect2