CELS.Contact (Springs Energy)

Hi,

I’m trying to extract how the stiffness across a contact is distributed depending on the mesh density.
I have request *CONTACT FILE CELS but for some reason the result is only shown at one node of the slave surface, and the value is not as expected (looks like the value of the first integration point).

*CONTACT PRINT CELS works fine and the addition of all contact springs energy (slave element+face,energy) for all contact elements shows the expected result.

Any idea what am I doing wrong?

*NODE
1,1.2,0.5,1
2,1.3,-0.6,0
3,1.3,0.6,0
4,0.1,-0.6,0
5,1.3,0.6,-0.2
6,1.3,-0.6,-0.2
7,0,0,-0.15
8,0.1,0.6,0
9,0.1,0.6,-0.2
10,0.1,-0.6,-0.2
11,1.2,-0.5,0
12,1.2,0.5,0
13,0.2,0.5,1
14,0.2,-0.5,1
15,0.2,0.5,0
16,1.2,-0.5,1
17,0.2,-0.5,0
*ELEMENT,TYPE=C3D8I
1,17,14,16,11,15,13,1,12
2,3,2,4,8,5,6,10,9
*NSET,NSET=NSET_CONTACT
11
12
15
17
*NSET,NSET=CELS_NODES
11
12
15
17
*ELSET,ELSET=HEX8
1
2
*ELSET,ELSET=Bases
2
*ELSET,ELSET=Linear
1
*SURFACE,NAME=Slave1
1,S6
*SURFACE,NAME=Master1
2,S1
*MATERIAL,NAME=Steel
*ELASTIC,TYPE=ISOTROPIC
100000000000,0.3
*DENSITY
7850
*SOLID SECTION,ELSET=Bases,MATERIAL=Steel
*SOLID SECTION,ELSET=Linear,MATERIAL=Steel
*BOUNDARY
1,3,,0
2,2,,0
4,1,,0
4,2,,0
13,3,,0
14,1,,0
14,2,,0
14,3,,0
16,2,,0
16,3,,0
*AMPLITUDE,NAME=A_1
0,0
1,5E-05
*SURFACE INTERACTION,NAME=SI_6
*SURFACE BEHAVIOR,PRESSURE-OVERCLOSURE=LINEAR
5E12
*CONTACT PAIR,INTERACTION=SI_6,TYPE=SURFACE TO SURFACE,ADJUST=1
Slave1,Master1
*STEP,NLGEOM=YES,INC=110,AMPLITUDE=STEP
*STATIC,SOLVER=PARDISO
0.01,1,0,0.01
*BOUNDARY,AMPLITUDE=A_1
2,3,,1
*BOUNDARY,AMPLITUDE=A_1
3,3,,1
*BOUNDARY,AMPLITUDE=A_1
4,3,,1
*BOUNDARY,AMPLITUDE=A_1
8,3,,1
*NODE FILE,GLOBAL=YES
U
*EL FILE
S,NOE
*CONTACT FILE
CDIS,CSTR
*CONTACT FILE
CDIS,CSTR,CELS

*CONTACT PRINT
CELS
*END STEP

Hi all
I have this sliding box, when I look in the cvg-file the number of contact elements vary from 46 to 208. When I extract all contact nodes from the cel-file I only get the expected 14 active nodes. It seems like contact nodes are counted randomly more than once.
If anyone should have a plausible explanation for this, then please share.

*Node
1,  1.000,  1.000, 0.000
2, -1.000,  1.000, 0.000
3,  1.000, -1.000, 0.000
4, -1.000, -1.000, 0.000
5,  1.000,  1.000, 2.000
6,  1.000, -1.000, 2.000
7, -1.000,  1.000, 2.000
8, -1.000, -1.000, 2.000
9,  0.000,  1.000, 0.000
10,  1.000,  0.000, 0.000
11, -1.000,  0.000, 0.000
12,  0.000, -1.000, 0.000
13,  1.000,  1.000, 1.000
14,  1.000, -1.000, 1.000
15,  1.000,  0.000, 2.000
16, -1.000,  1.000, 1.000
17, -1.000, -1.000, 1.000
18, -1.000,  0.000, 2.000
19,  0.000,  1.000, 2.000
20,  0.000, -1.000, 2.000
**
101, -2.000, -2.000,  0.000
102,  2.000, -2.000,  0.000
103, -2.000,  2.000,  0.000
104,  2.000,  2.000,  0.000
105, -2.000, -2.000, -1.000
106, -2.000,  2.000, -1.000
107,  2.000, -2.000, -1.000
108,  2.000,  2.000, -1.000
109,  0.000, -2.000,  0.000
110, -1.000, -2.000,  0.000
111,  1.000, -2.000,  0.000
112, -2.000,  0.000,  0.000
113, -2.000, -1.000,  0.000
114, -2.000,  1.000,  0.000
115,  2.000,  0.000,  0.000
116,  2.000, -1.000,  0.000
117,  2.000,  1.000,  0.000
118,  0.000,  2.000,  0.000
119, -1.000,  2.000,  0.000
120,  1.000,  2.000,  0.000
121, -2.000, -2.000, -0.500
122, -2.000,  2.000, -0.500
123, -2.000,  0.000, -1.000
124, -2.000, -1.000, -1.000
125, -2.000,  1.000, -1.000
126,  2.000, -2.000, -0.500
127,  2.000,  2.000, -0.500
128,  2.000,  0.000, -1.000
129,  2.000, -1.000, -1.000
130,  2.000,  1.000, -1.000
131,  0.000, -2.000, -1.000
132, -1.000, -2.000, -1.000
133,  1.000, -2.000, -1.000
134,  0.000,  2.000, -1.000
135, -1.000,  2.000, -1.000
136,  1.000,  2.000, -1.000
137,  0.000,  0.000,  0.000
138, -1.000,  0.000,  0.000
139,  0.000, -1.000,  0.000
140, -1.000, -1.000,  0.000
141,  0.000,  1.000,  0.000
142, -1.000,  1.000,  0.000
143,  1.000,  0.000,  0.000
144,  1.000, -1.000,  0.000
145,  1.000,  1.000,  0.000
146, -2.000,  0.000, -0.500
147, -2.000, -1.000, -0.500
148, -2.000,  1.000, -0.500
149,  2.000,  0.000, -0.500
150,  2.000, -1.000, -0.500
151,  2.000,  1.000, -0.500
152,  0.000, -2.000, -0.500
153, -1.000, -2.000, -0.500
154,  1.000, -2.000, -0.500
155,  0.000,  2.000, -0.500
156, -1.000,  2.000, -0.500
157,  1.000,  2.000, -0.500
158,  0.000,  0.000, -1.000
159, -1.000,  0.000, -1.000
160,  0.000, -1.000, -1.000
161, -1.000, -1.000, -1.000
162,  0.000,  1.000, -1.000
163, -1.000,  1.000, -1.000
164,  1.000,  0.000, -1.000
165,  1.000, -1.000, -1.000
166,  1.000,  1.000, -1.000
167,  0.000,  0.000, -0.500
168,  0.000, -1.000, -0.500
169, -1.000,  0.000, -0.500
170, -1.000, -1.000, -0.500
171,  0.000,  1.000, -0.500
172, -1.000,  1.000, -0.500
173,  1.000,  0.000, -0.500
174,  1.000, -1.000, -0.500
175,  1.000,  1.000, -0.500
**  Brick dimension 2x2x2mm
*Element, Type=C3D20, Elset=Brick
10, 1, 2, 4, 3, 5, 7, 8, 6, 9, 11, 12, 10, 19, 18, 20
  15, 13, 16, 17, 14
**
*Element, Type=C3D20, Elset=Plate
11, 137, 109, 101, 112, 158, 131, 105, 123, 139, 110, 113, 138, 160, 132, 124
  159, 167, 152, 121, 146
12, 118, 137, 112, 103, 134, 158, 123, 106, 141, 138, 114, 119, 162, 159, 125
  135, 155, 167, 146, 122
13, 115, 102, 109, 137, 128, 107, 131, 158, 116, 111, 139, 143, 129, 133, 160
  164, 149, 126, 152, 167
14, 104, 115, 137, 118, 108, 128, 158, 134, 117, 143, 141, 120, 130, 164, 162
  136, 127, 149, 167, 155
**

*Nset, Nset=Master
101, 102, 103, 104, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 
137, 138, 139, 141, 143
*Nset, Nset=SlaveN
1, 2, 3, 4, 9, 10, 11, 12
*Nset, Nset=Fixed
105, 106, 107, 108, 123, 124, 125, 128, 129, 130, 131, 132, 133, 134, 135, 136, 
158, 159, 160, 162, 164
*Nset, Nset=MoveX
13, 14
**
*Elset, Elset=Master_S1
11, 12, 13, 14
*Elset, Elset=Slave_S1
10
*Elset, Elset=Uniform_Pressure
10
**
*Surface, Name=Master, Type=Element
Master_S1, S1
*Surface, Name=Slave, Type=Element
Slave_S1, S1
** g/mm^3
*Material, Name=Steel
*Density
7.8E-03
*Elastic
210000, 0.28
**
*Solid section, Elset=Brick, Material=Steel
*Solid section, Elset=Plate, Material=Steel
**
*Surface interaction, Name=SurfContact
*Surface behavior, Pressure-overclosure=Linear
10000000, 2.86
*Friction
0.1, 100
**
*Contact pair, Interaction=SurfContact, Type=surface to surface, Adjust=0
Slave, Master
**
*amplitude, name=preload
0,1
**
*Step, nlgeom
*Static
0.25, 1, 0.25, 0.25
*Boundary
Fixed, 1, 6, 0
MoveX, 1, 1, -0.9
*Dload, amplitude=preload
Uniform_Pressure, P2, 100
*Node print, Nset=Fixed, Totals=Yes
RF
*Node file
RF, U
*El file
S, E
*Contact file, Contact elements
 CSTR
*End step

Hi FGR, Mine both agree at the end of the iteration when the number of contact elments is stable. They vary from 56 to 208- This is what I read from CEL and CVG.
CEL I made a dynamic table in Excel to sum all the existing lines inside the same it.


EDIT: DAT Result Added. Energy.

Regards

1 Like

@Disla ,I fully agree in your result, the number 46 is a typing error from my side similar with 14 should have been 13. I’m seeking and explanation/understanding for how 13 nodes can end up as 56 contact elements in 1’st increment 190 in 2’nd, 201 in 3’rd and 208 in last increment.


I hope understanding this issue can help me understanding some diverging problem I have in a dynamic implicit simulation with large sliding contact I’m trying to do, where I without any geometric reason get a momentary jump in number of contact elements making disturbance in formula (853) in the calculix manual and as shown in my extended list from the cvg-file and output from the checkimpacts.f routine where a jump from 76 to 140 contact elements gives a jump in lost friction energy and similar a jump in formula (853)
I don’t have any problem running the simulation without friction but that doesn’t make any sense so that isn’t an option.
It isn’t a real job, just a retirement hobby simulation of a game from my childhood :grinning_face:

SUMMARY OF C0NVERGENCE INFORMATION
  STEP   INC  ATT   ITER     CONT.   RESID.        CORR.      RESID.      CORR.     Internal    Kinetic     Elastic     Lost
                              EL.    FORCE         DISP       FLUX        TEMP.     Energy      Energy      Cont.Ener.  Friction
                              (#)     (%)           (%)        (%)         (%)        (x)         (x)         (x) 
     1    73     1     1       48  0.9836E+00  0.9545E+00  0.0000E+00  0.0000E+00  0.1012E+01  0.2537E+02  0.2232E-01  0.6034E-03
     1    73     1     2       53  0.1064E+00  0.2930E-01  0.0000E+00  0.0000E+00  0.1012E+01  0.2537E+02  0.2221E-01  0.4208E-02
     1    73     1     3       52  0.0000E+00  0.1818E-03  0.0000E+00  0.0000E+00  0.1012E+01  0.2537E+02  0.2221E-01  0.4207E-02
     1    73     1     4       52  0.0000E+00  0.1699E-10  0.0000E+00  0.0000E+00  0.1012E+01  0.2537E+02  0.2221E-01  0.4207E-02
     1    74     1     1       52  0.7800E+00  0.8971E+00  0.0000E+00  0.0000E+00  0.1040E+01  0.2534E+02  0.2034E-01  0.8222E-03
     1    74     1     2       77  0.2870E-01  0.5005E-01  0.0000E+00  0.0000E+00  0.1040E+01  0.2534E+02  0.2010E-01  0.7272E-02
     1    74     1     3       76  0.0000E+00  0.5335E-04  0.0000E+00  0.0000E+00  0.1040E+01  0.2534E+02  0.2010E-01  0.7265E-02
     1    74     1     4       76  0.0000E+00  0.3627E-11  0.0000E+00  0.0000E+00  0.1040E+01  0.2534E+02  0.2010E-01  0.7265E-02
     1    75     1     1       76  0.3933E+01  0.1095E+01  0.0000E+00  0.0000E+00  0.1074E+01  0.2531E+02  0.1672E-01  0.1662E-02
     1    75     1     2      140  0.1472E+01  0.1598E+00  0.0000E+00  0.0000E+00  0.1075E+01  0.2531E+02  0.1578E-01  0.2804E-01
     1    75     1     3      140  0.0000E+00  0.1334E-02  0.0000E+00  0.0000E+00  0.1075E+01  0.2531E+02  0.1578E-01  0.2803E-01
     1    76     1     1      140  0.8785E+01  0.8419E+00  0.0000E+00  0.0000E+00  0.1105E+01  0.2528E+02  0.1426E-01  0.2937E-02
     1    76     1     2      166  0.3359E+01  0.1308E+00  0.0000E+00  0.0000E+00  0.1106E+01  0.2528E+02  0.1321E-01  0.3626E-01
     1    76     1     3      158  0.5755E-04  0.4496E-02  0.0000E+00  0.0000E+00  0.1106E+01  0.2528E+02  0.1313E-01  0.3494E-01
     1    76     1     4      158  0.0000E+00  0.1426E-07  0.0000E+00  0.0000E+00  0.1106E+01  0.2528E+02  0.1313E-01  0.3494E-01

SUMMARY OF CheckImpact Energy Information
  iinc   iit  ncont    Internal    Internal    Kinetic     Kinetic     Contact     Contact     Friction    Friction    emax        External    External    Damping     Damping     r_rel       del_r_rel   r_rel_bc
                        ts(0)       ts(x)       ts(0)       ts(x)       ts(0)       ts(x)       ts(0)       ts(x)                   ts(0)       ts(x)       ts(0)       ts(x)                  
    72     3    48    0.9514E+00  0.9827E+00  0.2543E+02  0.2540E+02  0.2174E-01  0.2243E-01  0.3286E-02  0.5111E-02  0.2676E+02  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 -0.1919E-01  0.6734E-04 -0.1735E-01
    73     4    52    0.9827E+00  0.1012E+01  0.2540E+02  0.2537E+02  0.2243E-01  0.2221E-01  0.5111E-02  0.4207E-02  0.2676E+02  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 -0.1924E-01 -0.5021E-04 -0.1735E-01
    74     4    76    0.1012E+01  0.1040E+01  0.2537E+02  0.2534E+02  0.2221E-01  0.2010E-01  0.4207E-02  0.7265E-02  0.2676E+02  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 -0.1916E-01  0.7431E-04 -0.1735E-01
    75     3   140    0.1040E+01  0.1075E+01  0.2534E+02  0.2531E+02  0.2010E-01  0.1578E-01  0.7265E-02  0.2803E-01  0.2676E+02  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 -0.1849E-01  0.6669E-03 -0.1735E-01
    76     4   158    0.1075E+01  0.1106E+01  0.2531E+02  0.2528E+02  0.1578E-01  0.1313E-01  0.2803E-01  0.3494E-01  0.2676E+02  0.0000E+00  0.0000E+00  0.0000E+00  0.0000E+00 -0.1841E-01  0.8260E-04 -0.1735E-01

Your Contact pair is surface to surface. The face is plenty of small springs connecting the slave to the master. 28 for linear HEX and 56 for quadratic elements.
As your cube advance some of them activate and others deactivate. You can do the test if you put them in line like this. Some contact parameter decides when a spring is far enought to removed it’s influence.

When you have friction and tangential stiffness things change and the number of disconnected springs can vary a lot. I have never tested it but theoretically you could induce overturning momentum in a bucket with sufficient friction if you push on its top. Some springs on the back part may loose contact as in the picture.

Your summary looks like you have one C3D20 hex or two C3D8 that arrives to a point where the external forces exceed the friction force, and the contact starts to slide. There is a jump in displacement correction (Model position) but kinetic is almost the same. (I guess model is displacement driven). Contacts from a neighbor surface become active and you go from 76 to 140.

1 Like

@Disla , thanks for the nice explanation. I will try to look into it.