Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Workaround: Contact Damping Artificial Energy

Contact Damping introduces fictitious forces in Mechanical that may lead to wrong results (force
summation not equal to 0 in the static case) or slow the computation significantly.
=> check that artificial energy over the strain energy becomes small enough for contact elements
with the macro 1 below! If necessary define more load steps to separate effects, reduce
the stabilization damping factor (real FDMN) or deactivate automatic damping
(keyo,cid,15,1 for conta 174..177, see macro 2 below).
Note:
For contact damping, introduced in V14.0, the default is keyo,cid,15,0 = Stabilization Damping on
the 1st loadstep if the following specific conditions are met:
1.

Gauss point based contact (KEYOPT(4) = 0) or surface projection based contact


(KEYOPT(4) = 3) is used.

2.

The entire contact pair is in open status.

3.

A geometric penetration is detected at any contact nodal point, despite condition 2


above.

Contact damping may be switched on by the user under contact details in Workbench Mechanical.

refer to the following help chapter: // Contact Technology Guide // 3. Surface-to-Surface Contact
// 3.9. Set the Real Constants and Element KEYOPTS

Macro 1 to check the damping energy:


!
!
!
!
!
!
!
!
!
!
!
!

Date: 03.05.2013
ANSYS version: v145
DESCRIPTION:
Exports ratio of artificial damping energy over strain energy for contact of type "cid_1"
To be placed under "Solutions" in Mechanical (will work under /post1)
INPUTS:
requires snippet with "cid_1=cid" under required contact region!
OUTPUTS:
- plots of artificial energy over strain energy
- value lists in solve.out

! SELECT CONTACT ELEMENTS (OPTIONAL):


esel, s, type, , cid_1 !may be commented out if all elements are required
! MAIN:
/post1
*get, nset, active, 0, set, nset
*dim, sum_aene, array, nset, 1
*dim, sum_sene, array, nset, 1
*dim, aene_over_sene, table, nset, 2

! number of result sets

CADFEM (Suisse) AG, Avenue de la Poste 3, CH-1020 Renens, Tl. +41 21 614 80 40, info@cadfem.ch / support@cadfem.ch

set,first
/nopr
*do, i, 1, nset
! loop over iterations
ETABLE,AE,AENE
!save artificial energies associated with stabilization
ETABLE,SE,SENE
!save strain energies to element table
set,next
!read next result set
/output, file, txt
!dummy output file for SSUM (in order to limit the size of solve.out)
SSUM
!sum all element energies for comparison
/output
!terminates dummy output
!PRETAB,AE,SE
!print element table values
*get, sum_aene(i,1), ssum, 0, item, ae
*get, sum_sene(i,1), ssum, 0, item, se
aene_over_sene(i,1)=i
aene_over_sene(i,2)=sum_aene(i)/sum_sene(i)
/go
/com _________________________________________________________
/com Substep: %i%, artificial energy/strain energy = %aene_over_sene(i,2)*100% %
/nopr
*enddo
/go
!STYLE COLOR REVERSE VIDEO (white background)
/RGB,INDEX,100,100,100, 0
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
!DISPLAY PNG
/show,png
/axlab,x,iter
/axlab,y,aene/sene
*vplot,aene_over_sene(1,1),aene_over_sene(1,2)
/gropt,logy,on !log scale for y axis
/axlab,y,log aene/sene
*vplot,aene_over_sene(1,1),aene_over_sene(1,2)
/show,close

! Plot Energy ratio against iteration


! Plot Energy ratio against iteration

nset=
sum_aene=
sum_sene=
aene_over_sene=
alls

Macro2 APDL commands for Mechanical


! Date: 19.09.2013

/prep7
esel,s,ename,,171,176
*get,e_anzahl,elem,,count
*dowhile,e_anzahl
e_akt=elnext(0)
*get,e_type,elem,e_akt,attr,TYPE
KEYOPT,e_type,15,1
esel,u,type,,e_type
*get,e_anzahl,elem,,count
*enddo
alls
etlist
/solu

CADFEM (Suisse) AG, Avenue de la Poste 3, CH-1020 Renens, Tl. +41 21 614 80 40, info@cadfem.ch / support@cadfem.ch

You might also like