You are on page 1of 94

LMGC90 version 2.

0
User’s guide

Frédéric Dubois1 , Michel Jean2 et Mathieu Renouf3


1 dubois@lmgc.univ-montp2.fr
2 mjean.recherche@wanadoo.fr
3 Mathieu.Renouf@insa-lyon.fr

1
Laboratoire de Mécanique et Génie Civil
Université de Montpellier 2 - CNRS
2
Planète Marseille
3
Laboratoire de Mécanique des Contacts et des Structures
INSA de Lyon - CNRS

Janvier 2008

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 1 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 2 / 155
LMGC90 files - Introduction

The first step of the standard procedure to perform a simulation with LMGC90 is to
create a directory, called for example JPB1024.

This directory necessarily contains the subdirectories DATBOX , OUTBOX and


optionally the subdirectories DISPLAY and POSTPRO .
...JPB1024
...JPB1024/DATBOX
...JPB1024/OUTBOX
...JPB1024/DISPLAY
...JPB1024/POSTPRO

The DATBOX directory contains all data files. The OUTBOX directory contains all
standard result files.

The DISPLAY directory contains graphical preprocessing information, particularly gmv


files, default visualisation files. This last subdirectory must contain a text file named
DISPLAYED_GMV, possibly empty.

Finally, the POSTPRO directory contains post-processing file created during the
simulation process.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 4 / 155
LMGC90 files - Input

Different files are necessary to describe the model.

For rigid body simulations, the following data files are necessary in the DATBOX
folder :
./DATBOX/BODIES.DAT contains sample information
./DATBOX/BULK_BEHAV.DAT contains bulk behaviour informations
./DATBOX/TACT_BEHAV.DAT contains interaction law informations
./DATBOX/DRV_DOF.DAT contains the values of driven degree of freedom

./DATBOX/DOF.INI contains initial values of body degree of freedom


./DATBOX/Vloc_Rloc.INI contains the initial values of contact network

./DATBOX/POSTPRO.DAT contains post-processing commands and parameters


./DATBOX/DISPLAY.DAT contains visualisation commands and parameters (3D)

For deformable body simulation, the following files must be added :


./DATBOX/MODELS.DAT contains the information about deformable models
./DATBOX/GPV.INI contains the initial values at gauss points

A file containing simulation commands and parameters is also necessary : the


COMMAND.DAT file contains CHIC keywords or the command.py file contains python
instructions for the ChiPy library.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 6 / 155
LMGC90 files - Output

The standard result files can be decomposed in three classes.

The first one results from the scanning of data files :


./OUTBOX/BODIES.OUT
./OUTBOX/BULK_BEHAV.OUT
./OUTBOX/TACT_BEHAV.OUT
./OUTBOX/MODELS.OUT
./OUTBOX/DRV_DOF.OUT
./OUTBOX/COMMAND.OUT
./OUTBOX/POSTPRO.OUT
./OUTBOX/DISPLAY.OUT

This class of files is very useful to check if data files have been read correctly.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 8 / 155
LMGC90 files - Output

The standard result files can be decomposed in three classes.

The second one is the database back-up files :


./OUTBOX/DOF.LAST
./OUTBOX/DOF.OUT.00p
./OUTBOX/Vloc_Rloc.LAST
./OUTBOX/Vloc_Rloc.OUT.00p
./OUTBOX/GPV.LAST
./OUTBOX/GPV.OUT.00p

Using a set of these files, and copying it in the equivalent .INI files, allows to restart a
simulation from an existing initial solution.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 8 / 155
LMGC90 files - Output

The standard result files can be decomposed in three classes.

The third one concerns the visualisation and post-processing files :


./OUTBOX/Rnod.OUT.00p
./DISPLAY/DISPLAYED_GMV
./DISPLAY/agmv.out.00p
./DISPLAY/bgmv.out.00p
./POSTPRO/xxx

For the last ones, which concerns the post-processing files, the reader could referred
to the specific documentation.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 8 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 9 / 155
DATBOX : : BODIES.DAT

This text file contains the description of rigid bodies or deformable bodies, together with
the bulk properties, degrees of freedom and contactors.

The data are formatted and read as follows :


The symbol ’$’ preceeds a keyword used in scanning files.

The symbol ’bdyty’ stands for ’body type data’.


These data are distributed according to some species.

The specy ’blmty’ stands for ’bulk element type data’, i.e. part
or total bulk geometric description, and bulk behaviour laws ;

The specy ’nodty’ stands for ’node type data’,i.e. degrees of


freedom data ;

The specy ’tacty’ stands for ’contactor type data’ ;

The keyword ’$$$$$$’ ends a body record.

The BODIES.DAT file is made of a collection of “cards” described as previously.

A line starting with # is a comment.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 11 / 155
DATBOX : : BODIES.DAT

To describe a 2D rigid body (RBDY2) with 2 boundaries :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
$bdyty
RBDY2 1
$blmty
PLAIN 1 behav PLEXx avrd= 0.1600000D-02 gyrd= 0.1131200D-02
$nodty
NO3xx 1 coo1= 0.5808000D-01 coo2= 0.4928000D-01 coo3= 0.0000000D+00
$tacty
DISKx 1 color BLEUx byrd= 0.1600000D-02
xKSID 2 color REDxx byrd= 0.1600000D-01
$$$$$$

avrd and gyrd allow to compute the mass and inertia of the body, independantly of
the shape of the contactors. If these parameters are set to 0, LMGC90 try to
compute them using the shapes of the contactors. In this last case it doesn’t
manage overlaps.
contactors are described relatively to the center of inertia frame. You may specify
as many contactors as you want. If the nodal coordinates are set equal to 0, it
means that the contactors are defined relatively to the global frame. In this case
the center of inertia frame is rebuild.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 13 / 155
DATBOX : : BODIES.DAT

Available Boundaries for RBDY2 are :

DISKx, full disc :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
DISKx 1 color BLEUx byrd= 0.1600000D-02

xKSID, hollow disc :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
xKSID 1 color BLEUx byrd= 0.1600000D-02

DISPx, full pneumatic disc :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
DISPx 1 color BLEUx byrd= 0.1600000D-02

xPSID, hollow pneumatic disc :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
xPSID 1 color BLEUx byrd= 0.1600000D-02

DISKb, full excentred disc :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
DISKb 1 color BLEUx byrd= 0.1600000D-02
coo1= 0.9999582D+00 coo2=-0.0091384D+00

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 15 / 155
DATBOX : : BODIES.DAT

Available Boundaries for RBDY2 are :

JONCx, full wall :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
JONCx 1 color UPxxx ax1 = 0.5000000D+02 ax2 = 0.1000000D+01

POLYG, full polygon :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
POLYG 1 color BLEUx nb_vertex= 5 byrd= 0.7250500D+01
coo1=-0.3561507D+00 coo2= 0.5481881D-01
coo1=-0.3561979D+00 coo2= 0.6334220D-01
coo1=-0.3643187D+00 coo2= 0.6593115D-01
coo1=-0.3692904D+00 coo2= 0.5900783D-01
coo1=-0.3642423D+00 coo2= 0.5214002D-01

PT2Dx, a point :
!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
PT2Dx 2 color BLEUx coo1= 0.0000000D+00 coo2= 0.0000000D+00

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 17 / 155
DATBOX : : BODIES.DAT

To describe a 3D rigid body (RBDY3) :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
$bdyty
RBDY3 1
$blmty
PLAIN 1 behav zobxx avrd= 0.2081680D-03
$nodty
NO6xx 1 coo1=-0.2969270D-02 coo2=-0.2851180D-02 coo3= 0.3336920D-03
coo4= 0.0000000D+00 coo5= 0.0000000D+00 coo6= 0.0000000D+00
$tacty
SPHER 1 color bleu_ byrd= 0.2081680D-03
$$$$$$

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 19 / 155
DATBOX : : BODIES.DAT

Available Boundaries for RBDY3 are :

SPHER, full sphere :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
SPHER 1 color bleu_ byrd= 0.2081680D-03

CYLND, full cylinder :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
CYLND 1 color GREE1 High= 0.2000000D+02 byrd= 0.2000000D+01

DNLYC, hollow cylinder :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
DNLYC 1 color GREE1 High= 0.2000000D+02 byrd= 0.2000000D+01

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 21 / 155
DATBOX : : BODIES.DAT

Available Boundaries for RBDY3 are :

POLYR, full polyedra :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
POLYR 1 color BLEU1 nb_vertex= 8 nb_face= 12
coo1= 0.1000000D+01 coo2= 0.1000000D+01 coo3= 0.1000000D+01
coo1= 0.1000000D+01 coo2= 0.2000000D+01 coo3= 0.1000000D+01
coo1= 0.1000000D+01 coo2= 0.2000000D+01 coo3= 0.0000000D+00
coo1= 0.1000000D+01 coo2= 0.1000000D+01 coo3= 0.0000000D+00
coo1= 0.3000000D+01 coo2= 0.2000000D+01 coo3= 0.1000000D+01
coo1= 0.3000000D+01 coo2= 0.2000000D+01 coo3= 0.0000000D+00
coo1= 0.3000000D+01 coo2= 0.1000000D+01 coo3= 0.1000000D+01
coo1= 0.3000000D+01 coo2= 0.1000000D+01 coo3= 0.0000000D+00
ver1= 1 ver2= 2 ver3= 3
ver1= 1 ver2= 3 ver3= 4
ver1= 2 ver2= 5 ver3= 6
ver1= 2 ver2= 6 ver3= 3
ver1= 5 ver2= 7 ver3= 8
ver1= 5 ver2= 8 ver3= 6
ver1= 1 ver2= 4 ver3= 8
ver1= 1 ver2= 8 ver3= 7
ver1= 3 ver2= 6 ver3= 8
ver1= 3 ver2= 8 ver3= 4
ver1= 1 ver2= 2 ver3= 5
ver1= 1 ver2= 5 ver3= 7

PLANx, plane :
!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
PLANx 1 color VERTx
axe1= 0.0100000D+03 axe2= 0.0100000D+03 axe3= 0.0000100D+03

PT3Dx, point :
!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
PT3Dx 2 color TYTYx coo1= 0.0000000D+00 coo2= 0.0000000D+00 coo3= 0.0000000D+00

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 23 / 155
DATBOX : : BODIES.DAT
To describe a 2D deformable body (MAILx) with a boundary :
!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
$bdyty
MAILx 1
$blmty
Q4xxx 1 nodes 1 3 4 2
model M2DNL behav Steel
$nodty
NO2xx 1 coo1= 0.0000000D+00 coo2= 0.0000000D+00
NO2xx 2 coo1= 0.0000000D+00 coo2= 0.1000000D+01
NO2xx 3 coo1= 0.1000000D+01 coo2= 0.0000000D+00
NO2xx 4 coo1= 0.1000000D+01 coo2= 0.1000000D+01
$tacty
ALpxx 1 color REDxx noda= 2 nodb= 4
$$$$$$

$bdyty
MAILx 2
$blmty
Q4xxx 1 nodes 1 3 4 2
model M2DNL behav Steel
$nodty
NO2xx 1 coo1= 0.0000000D+00 coo2= 0.1000000D+01
NO2xx 2 coo1= 0.0000000D+00 coo2= 0.2000000D+01
NO2xx 3 coo1= 0.1000000D+01 coo2= 0.1000000D+01
NO2xx 4 coo1= 0.1000000D+01 coo2= 0.2000000D+01
$tacty
CLxxx 1 color REDxx noda= 3 nodb= 1 apab= 0.5000000D+00
$$$$$$

you may define “continuous” line :


$tacty
ALpxx 1 color REDxx noda= 2 nodb= 4
+ALpxx 1 color REDxx noda= 4 nodb= 5
+ALpxx 1 color REDxx noda= 5 nodb= 6

the 2D boundaries must be defined clockwise


Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 25 / 155
DATBOX : : BODIES.DAT

Available Boundaries for 2D MAILx are :

CLxxx, candidate point on a line :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
CLxxx 1 color REDxx noda= 3 nodb= 1 apab= 0.5000000D+00

ALpxx, antagoniste line :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
ALpxx 1 color REDxx noda= 2 nodb= 4

PT2Dl, point on a line :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
PT2Dl 1 color REDxx noda= 3 nodb= 1 apab= 0.5000000D+00

DISKL, full disc :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
DISKL 1 color BLEUx noda= 4 nodb= 3 apab= 0.5000000D+00 byrd= 0.1000000D+00

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 27 / 155
DATBOX : : BODIES.DAT

Available Boundaries for 3D MAILx are :

CSxx3 and CSxx4 candidate point on a surface :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
CSxx3 1 color REDxx noda= 3 nodb= 1 nodc= 2
w1 = 0.1000000D+00 w2 = 0.5000000D+00 w3 = 0.4000000D+00
!
CSxx4 1 color REDxx noda= 3 nodb= 1 nodc= 2 nodd= 4
w1 = 0.2500000D+00 w2 = 0.2500000D+00 w3 = 0.2500000D+00
w4 = 0.2500000D+00

ASpx3 and ASpx4 antagoniste surface :


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
ASpx3 1 color REDxx noda= 3 nodb= 1 nodc= 2
!
ASpx4 1 color REDxx noda= 3 nodb= 1 nodc= 2 nodd= 4

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 29 / 155
DATBOX : : TACT_BEHAV.DAT

This file contains two types of cards :

some describing the interaction laws


!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
iqsc0 IQS_CLB fric= 0.9500000D+00
some describing the visibility tables :

!234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
$seety
cdbdy cdtac cdcol behav anbdy antac ancol alert
RBDY3 PT3Dx TYTYx BIOff RBDY3 PT3Dx TYTYx 0.5000000D+02

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 31 / 155
DATBOX : : TACT_BEHAV.DAT

The list of all interaction law is the following :

Rigid/Rigid

IQS_CLB IQS_DS_CLB IQS_CLB_RGR


IQS_MOHR_DS_CLB IQS_WET_DS_CLB xQS_WET_DS_CLB
IQS_MAC_CZM IQS_SGR_CLB_WEAR
IQS_CLB_nosldt IQS_CLB_noslds
IQS_MAC_CZM_3D_nosldt IQS_MAC_CZM_3D_noslds IQS_MAC_CZM_3D
RST_CLB RST_DS_CLB
ELASTIC_WIRE ELASTIC_ROD
VOIGT_WIRE VOIGT_ROD
ELASTIC_REPELL_CLB ELASTIC_REPELL_WET_CLB CRITICAL_VOIGT_CLB
COUPLED_DOF PLASTIC_COUPLED_DOF NORMAL_COUPLED_DOF
TANGENTIAL_COUPLED_DOF TEX_SOL_UNILAT
MD_JKRs DEM_Cohe_Hertz
PERIO_DOF

Rigid/Defo and Defo/Defo

GAP_SGR_CLB GAP_SGR_DS_CLB GAP_WET_DS_CLB


VEL_SGR_CLB VEL_SGR_DS_CLB
GAP_SGR_CLB_WEAR
MAC_CZM MAC_CZM_3D_nosldt MAC_CZM_3D_noslds

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 33 / 155
DATBOX : : BULK_BEHAV.DAT

This file contains values of some bulk parameters


the fact you give some bulk parameters doesn’t imply any thing on the way the
computation run (see MODELS.DAT and command files)
you have to give the gravity field :
$gravy
grv1=-0.0000000D+01 grv2= 0.0000000D+01 grv3=-0.98
then it works with filters which imply to define subset of parameters :
rigid bulk parameters :
$behav lawty
tdurx RIGID Umas= 0.2500000D+04
elastic bulk parameters :
$behav lawty
Steel ELAS Umas= 0.7800000D-08
elas: standard
ani_: isotropic
EYng= 0.2000000D+06 EPss=
%$

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 35 / 155
DATBOX : : BULK_BEHAV.DAT

The known filters


RIGID
ELAS
ELAS_PLAS
VISCO_ELAS
THERMO_ELAS
THERMO_ELAS_VARIA

THERMO_RIGID
ELECTRO_RIGID
THERMO_ELECTRO_RIGID

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 37 / 155
DATBOX : : MODELS.DAT

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 39 / 155
DATBOX : : DRV_DOF.DAT

This text file contains the description of imposed (driven) degrees of freedom. The
command READ DRIVEN DOF opens the DATBOX/DRV_DOF.DAT file and reads the
data. Here is an example of DRV_DOF.DAT :
$bdyty
RBDY2 1
$nodty
NO3xx 1
vlocy 1 0.1000000D+00 0.5460000D+00 0.3140000D+00 0.0000000D+00 0.5000000D+00 0.1000000D-01
vlocy 2 -0.6837000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00
vlocy 3 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00
$$$$$$

$bdyty
RBDY2 2
$nodty
NO3xx 1
$dofty numbr [CT......+......AMP..*..cos.(..OMEGA.*.time.+.PHI..)]...*...[RAMPI.....+.....RAMP.*.time]
force 1 0.2400000D+00 0.7297000D+00 0.3140000D+01 0.0000000D+00 0.2500000D+00 0.1000000D-01
force 2 -0.6837000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00
force 3 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00
$$$$$$

$bdyty
RBDY2 3
$nodty
NO3xx 1
$dofty numbr [CT......+......AMP..*..cos.(..OMEGA.*.time.+.PHI..)]...*...[RAMPI.....+.....RAMP.*.time]
vlocy 1 -0.8205000D+00 0.2904000D+00 0.1560000D+01 0.0000000D+00 0.2000000D+00 0.2000000D-01
force 2 -0.3967000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00
vlocy 3 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00
$$$$$$

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 41 / 155
DATBOX : : DRV_DOF.DAT

The data are formatted and read as follows :


The keyword $$$$$$ ends a body record.
Consider the body 1. It is a rigid body (RBDY2) equipped with a 3 degrees of
freedom node NO3xx. The degrees of freedom number 1,2,3, are submitted to
imposed velocities, keyword vlocy. The imposed velocities are described by a
function :

V = (C + Acos(ω(t + φ)).max{1, ramp(t)},


C, A, ω, φ, are scalar constants ,
ramp(t) is an affine function defined as,
ramp(t) = RI + RP t ,
RI, RP, are scalar constants.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 43 / 155
DATBOX : : DRV_DOF.DAT

The lines found in body 1


$dofty numbr [CT......+......AMP..*..cos.(..OMEGA.*.time.+.PHI..)]...*...[RAMPI.....+.....RAMP.*.time]
vlocy 1 0.1000000D+00 0.5460000D+00 0.3140000D+00 0.0000000D+00 0.5000000D+00 0.1000000D-01

mean that the first degree of freedom of the node 1 NO3xx is submitted to a velocity
function defined as :
the first real CT = 0.1000000D+00 stands for C in the equations above
the second real AMP = 0.5460000D+00 stands for A above
the third real OMEGA = 0.3140000D+00 stands for ω above
the fourth real PHI = 0.3140000D+00 stands for φ above
the fifth real RAMPI = 0.5000000D+00 stands for RI above
the sixth real RAMP = 0.1000000D-01 stands for RP above
In this case the ramp function has for initial value 0.5 at initial time t = 0.0 and will
reach the value 1.0 when time is t = 50 unittime and will keep the value 1.0 for larger
times.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 45 / 155
DATBOX : : DRV_DOF.DAT
The lines found in body 1
$dofty numbr [CT......+......AMP..*..cos.(..OMEGA.*.time.+.PHI..)]...*...[RAMPI.....+.....RAMP.*.time]
vlocy 2 -0.6837000D+00 0.0000000D+00 0.0000000D+00 0.0000000D+00 0.1000000D+01 0.0000000D+00

is an example showing how to apply to a degree of freedom (number 2) a constant


velocity -0.6837000D+00. RAMPI is set to 1.0 and RAMP is set to 0.0. The degree of
freedom number 3 is fixed (a null velocity is imposed).
Forces may be applied as well using the keyword force as in body 2.
When a degree of freedom is not mentioned it is supposed to be free (no force or
velocity applied).
The lines found in body 58 show an example for a body equipped with a node
NO4Pxx. All degrees of freedom translation and rotation are free but a force is
imposed on the degree of freedom number 3, i.e. A force CT= 0.1000000D+00 is
applied on the boundary of a DISPx or xPSID owned by the body. This force
corresponds to a pressure, 0.1/(2 π bdary_radius unitlength). In the case of body
3, all degrees of freedom are locked. When the fourth degree of freedom of a body
owning a DISPx or xPSID is locked, the contactor acts as a DISKx or xKSID.
Nevertheless, thanks to the fourth degree of freedom (radius), the software allows
to compute and display the pressure.
force and vlocy driven degrees of freedom may be applied to a node, but as
forbidden by mechanical rules one must not impose a force and vlocy to the same
degree of freedom.
Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 47 / 155
The INI files

DATBOX : :DOF.INI
It describes the displacements,
DATBOX : :Vloc_Rloc.INI
DATBOX : :GPV.INI

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 48 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 49 / 155
OUTBOX : : DOF.OUT

This text files contain the degrees of freedom results with the same format and
meaning than DOF.INI. These files are written in the subdirectory OUTBOX as called
by the following user commands :
The user command WRITE LAST DOF writes the last computed record of X , V in
the output file OUTBOX/DOF.LAST.
The user command WRITE OUT DOF STEP p writes the computed record of X , V
at step modulo p (some integer) in the output file OUTBOX/DOF.OUT.int(nstep/p),
i.e. the files are numbered int(nstep/p) the integer part of the ratio nstep/p, where
nstep is the current step number.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 51 / 155
OUTBOX : : Vloc_Rloc.OUT

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 53 / 155
OUTBOX : : GPV.OUT

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 55 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 56 / 155
The COMMAND.DAT file

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 57 / 155
Example of COMMAND.DAT

#23456789012345678901234567890 :
# :
TIME STEP :
0.35D-04 :
THETA :
0.5D0 :
#
APPELLE reading data : reading and processing data, see SUB
#
COMPUTE MASS :
#
loading step : label beginning of the loading loop
#
TOTALISATEURS A ZERO :
INCREMENT STEP :
#
COMPUTE Fext :
COMPUTE Fint :
COMPUTE FREE VELOCITY :
#
SELECT PROX TACTORS :
#
APPELLE Signorini Coulomb :
#
COMPUTE DOF :
UPDATE DOF :
#
APPELLE writing results : writing and displaying results, see SUB
#
AFFICHE TOTALISATEURS :
AFFICHE COMPTEURS :
#
REPETE 2 FOIS :
DEPUIS loading step :
# :
FIN DU PROGRAMME
#
Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 59 / 155
Example of COMMAND.DAT

#------------------- :
SUB reading data :
# :
READ BODIES :
READ BEHAVIOURS :
#
WRITE BODIES :
WRITE BEHAVIOURS :
#
READ INI DOF :
WRITE LAST DOF :
READ INI Vloc Rloc : from Vloc_Rloc.INI into verlt
#
READ DRIVEN DOF :
WRITE DRIVEN DOF :
#
COMPUTE BOX :
#
#------------------- :
#
REFERENCE REAC MAX :
0.250D+03
COMPUTE AVERAGE VELOCITY :
COMPUTE STRESS :
COMPUTE ERROR :
#
INIT GMV :
WRITE OUTPUT GMV :
# :
RETOUR :
#------------------- :

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 59 / 155
Example of COMMAND.DAT

#------------------- :
SUB writing results : writing and displaying results
#
WRITE LAST DOF : writing last dof results
WRITE LAST Vloc Rloc : writing last Vloc Rloc results
WRITE OUT DOF STEP 1 : writing degrees of freedom and velocities
FROM TO RBDY2 1025 1028 :
WRITE OUT Vloc Rloc STEP 1 : writing relative velocities and reaction forces at candidates to contact
Rnod = [H] Rloc : restore resulting generalized forces on bodies
WRITE OUT Rnod STEP 1 : writing representatives of reaction forces for degrees of freedom
FROM TO RBDY2 1025 1028 :
WRITE OUTPUT GMV STEP 1 :
#
RETOUR :
#------------------- :

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 59 / 155
Example of COMMAND.DAT

#------------------- :
SUB Signorini Coulomb :
#
.doing Signorini Coulomb : Some label to draw attention
RECUP Rloc : from verlt into this
NLGS CHECK TYPE :
Quad 0.1666D-03 : tolerance criteria and tolerance value
1.D0 : RELAX
EX PREP NLGS :
Stored Delassus Loops :
>more :
SCRAMBLE : Scrambling the ordering of contact iterations
>iteration :
EX ITER NSCD_GS :
REPETE 32 FOIS :
DEPUIS >iteration :
AFTER ITER CHECK :
0.1666D-03 : tol
IOK = FLAG 1 :
INTO AFTER ITER CHECK :
STOP REPETE SI IOK = 0 :
SCALE Rloc : Improving mean violation
REPETE 64 FOIS :
DEPUIS >more :
EX POST NSCD_GS :
STOCK Rloc : from this into verlt
# :
RETOUR :
#------------------- :
#
FIN DU FICHIER

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 59 / 155
Command file structure

The COMMAND.DAT file is an ordinary text file using ASCII characters.

i The chain of characters,


#23456789012345678901234567890:

may be used in any place so as to view the first 30 columns of the text. One may also
use the sign,
# :

as a mark for the column 31.

ii The command file is ended by the chain of characters,


FIN DU FICHIER

in between columns 1 and 30.

iii Any chain of 30 characters in between columns 1 and 30 above FIN DU FICHIER
is a command.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 61 / 155
Command file structure

iv Any chain with the symbol # at column 1 is inactive. Thus the chain
#23456789012345678901234567890:

is inactive.

v Blank commands should not be included in the command file. Use instead
# :

vi Blanks characters backward or forward a chain are inactive. Other blanks are active.
For instance consider the three chains of characters,
BLACKandWHITE :
BLACKandWHITE :
BLACK and WHITE :

The two first chains are defining the same command. The third chain is a different
command.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 63 / 155
Command file structure

vii Characters with column rank greater than 31 are inactive they may be used to insert
comments, for instance,
BLACK and WHITE : is beautiful

viii The following monitoring commands


ECHO ON : set display on
ECHO OFF : set display off

are switches allowing to display further active commands brought on or to cancel


displaying. For instance if ECHO ON, the active command
READ BODIES : Reading the file BODIES.DAT

will be displayed as
@ READ BODIES

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 65 / 155
Command file structure

ix Any commands (preferably inactive) beginning with a dot (.) will be displayed
whatsoever is the status is ECHO ON. For instance the inactive command
. beginning NW : beginning Newton Raphson iterations

will be displayed as it is,


. beginning NW

thus allowing to display some key words while a computation is on, though ECHO OFF
is set.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 67 / 155
APPELLE command

The monitoring command APPELLE is an equivalent form of CALL in fortran. This


command,for instance
APPELLE Signorini Coulomb : Calling a macro labelled Signorini Coulomb

has the effect to insert a list of commands (as a subroutine does) in the command file.
This group of command is written as follows :
A command line composed of the keyword SUB followed by the chain of character
used as a label.
The command lines of the macro.
A command line composed of the keyword RETOUR,
For instance,
SUB Signorini Coulomb : The Signorini Coulomb CHIC macro
command a :
command b :
RETOUR :

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 69 / 155
APPELLE command

The command APPELLE may be used recursively, i.e. nested,


SUB Signorini Coulomb : The Signorini Coulomb CHIC macro
command a :
APPELLE Signorina Colomba :
RETOUR :

It is recommanded not to use as a label a chain of character used for an active


command.
The command file is actually divided into two parts.
The first part contains the main program i.e. monitoring and users commands,
calls to macros. This first part is necessarily ended by the key chain
FIN DU PROGRAMME :

The second part contains all macros. It must necessarily be ended by


FIN DU FICHIER :

as already mentioned in i
See in the COMMAND.DAT example, the two parts of the command file.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 71 / 155
REPETE command

This command (repeat) is an equivalent of the DO instruction in FORTRAN. The


syntax is the following
# :
abcd efgh : a label
command a :
command b :
REPETE n FOIS : n is the number of repetitions
DEPUIS abcd efgh :
# :

The effect of the REPETE command is to perform n + 1 time all commands between the
label abcd efgh and the command REPETE (here command a, command b). It is
recommended not to use as a label a chain of character used for an active command.
The REPETE loops may be nested.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 73 / 155
REPETE command

Some commands allow to display informations concerning the state of loops.


Command AFFICHE COMPTEURS :
This command displays the label and the loop counter of any loop REPETE in the
program. Initial state is 0.
Command TOTALISATEURS A ZERO
This command sets to zero all loop integrating counters.
Command AFFICHE TOTALISATEURS
This command displays the label and the loop integrating counter of any loop
REPETE in the program. Initial state is 0 .

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 75 / 155
FLAG, the indicator IOK

Each command is equipped with an integer array named FLAG. The element number f
of this array is noted FLAG f. The number f is less or equal to 15.
Command IOK = ?
This command sets the program in standby waiting for some integer value to be
entered from the keyboard followed by a return key. The display is then
@ IOK = k :

where k is the entered value. The program is then running again.


Command IOK = k
: This means that the integer value k is put into the indicator IOKZZZ. The display
is then
@ IOK = k :

where k is some integer value.


Command
# :
IOK = FLAG f :
INTO abcd efgh :
# :

This command put into IOKZZZ the value of FLAG f associated to the command
abcd efgh, here, as an example, a label, i.e. an inactive command. The display
is,
@ IOK = k = FLAG f
@ INTO abcd efgh

where k is the value of FLAG f.


Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 77 / 155
REPETE command

Command
# :
FLAG f = IOK :
INTO abcd efgh :
# :

This command put IOKZZZ into the value of FLAG f associated to the command
abcd efgh. The display is,
@ FLAG f = k = IOK
@ INTO abcd efgh

where k is the value of IOKZZZ.


Command
# :
STOP REPETE SI IOK = k :
# :

If the current value of IOKZZZ is k the most inner REPETE loop containing the
command is interrupted. No display. One sees that, among many possible uses,
FLAG allows to monitor REPETE loops.
When the program is launched, all FLAG f are initialized to 0.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 79 / 155
The command.py file

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 81 / 155
command.py

import os,sys
sys.path.append(’/home/dubois/tmp_CODING/v2_g95/LMGC90v2_dev/ChiPy’)
from ChiPy import *
####
#pas indispensable si meme rep
#wrap_overall.setworkingdirectory(’/home/dubois/tmp_EXAMPLES/test_v2/LMGC90v2_Examples/silo_DISKx/’)
#
### lecture du modele ###
print ’READ BODIES’
wrap_rbdy2.readbodies()

print ’READ BEHAVIOURS’


wrap_bulk_behav.readbehaviours()
wrap_tact_behav.readbehaviours()

#LOADS
wrap_diskx.loadtactors()
wrap_joncx.loadtactors()
wrap_rbdy2.loadbehaviours()

print ’READ INI DOF’


wrap_overall.readinidof()
wrap_rbdy2.readinidof()

print ’READ INI Vloc Rloc’


wrap_overall.readinivlocrloc()
wrap_dkdkx.readinivlocrloc()
wrap_dkjcx.readinivlocrloc()

print ’READ DRIVEN DOF’


wrap_rbdy2.readdrivendof()

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 83 / 155
command.py

### ecriture paranoiaque du modele ###


print ’WRITE BODIES’
wrap_overall.writebodies()
wrap_rbdy2.writebodies()

print ’WRITE BEHAVIOURS’


wrap_bulk_behav.writebehaviours()
wrap_tact_behav.writebehaviours()

print ’WRITE DRIVEN DOF’


wrap_overall.writedrivendof()
wrap_rbdy2.writedrivendof()

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 83 / 155
command.py

### definition des parametres du calcul ###


print ’INIT TIME STEPPING’
wrap_overall.settimestep(0.001)
wrap_overall.initthetaintegrator(0.5)

### post2D ##
wrap_post2d.referenceradius(0.1)
wrap_post2d.withtactor()
wrap_post2d.withcontactpoint()
wrap_post2d.initgmv()

### postpro ###


wrap_postpro.postprobeforecomputation()

### preparation de l’algo de detection par les boites ###


print ’COMPUTE BOX’
wrap_dkdkx.computebox()
wrap_dkjcx.computebox()
wrap_afterall.computebox()

print ’COMPUTE MASS’


wrap_rbdy2.computemass()

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 83 / 155
command.py

for k in xrange(1,1000,1) :
#
print ’itere : ’,k
#
print ’INCREMENT STEP’
wrap_overall.incrementstep()
wrap_rbdy2.incrementstep()

print ’DISPLAY TIMES’


wrap_overall.displaytimes()

print ’COMPUTE Fext’


wrap_rbdy2.computefext()

print ’COMPUTE Fint’


wrap_rbdy2.computefint()

print ’COMPUTE Free Vlocy’


wrap_rbdy2.computefreevelocity()
#
print ’SELECT PROX TACTORS’
wrap_overall.selectproxtactors(1)
wrap_dkdkx.selectproxtactors()
wrap_dkjcx.selectproxtactors()
#
wrap_dkdkx.recuprloc()
wrap_dkjcx.recuprloc()
wrap_nlgs.exsolver(’Stored_Delassus_Loops ’,’Quad’,0.1e-3,1.,100,10)
wrap_dkdkx.stockrloc()
wrap_dkjcx.stockrloc()
#
print ’COMPUTE DOF’
wrap_rbdy2.computedof()
#
print ’UPDATE DOF’
Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 83 / 155
command.py

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 83 / 155
command.py

print ’WRITE LAST DOF’


wrap_overall.writelastdof()
wrap_rbdy2.writelastdof()
#
print ’WRITE LAST Vloc Rloc’
wrap_overall.writelastvlocrloc()
wrap_dkdkx.writelastvlocrloc()
wrap_dkjcx.writelastvlocrloc()
### post2D ###
wrap_overall.writeoutgmv(5)
wrap_post2d.writeoutgmv(1)

### postpro ###


wrap_postpro.postproduringcomputation()

### gestion des writeout ###


wrap_overall.cleanwriteoutflags()

### postpro ###


wrap_postpro.postproaftercomputation()

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 83 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 84 / 155
IQS_CLB

This contact law is the inelastic quasi shock law together with Coulomb’s law. The only
coefficient defining this law is the friction coefficient fric, for instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
iqsc1 IQS_CLB fric= 0.5000000D+00

This inelastic shock law is appropriate to simulate large deformation problems of


compact collections of rigid bodies. When contactors are approaching, it allows a
relative velocity so that the gap vanish. Other wise a null relative velocity is imposed. It
is an arrangement between GAP_SGR_CLB law and VEL_SGR_CLB below.
back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 86 / 155
IQS_CLB_RGR

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 88 / 155
IQS_DS_CLB

This contact law is the inelastic quasi shock law together with Coulomb’s law, but
Coulomb’s law is equipped with a dynamical friction coefficient dyfr and a static friction
coefficient stfr, for instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
idsc1 IQS_DS_CLB dyfr= 0.3000000D+00 stfr= 0.5000000D+00

The Coulomb’s law is equipped with the static coefficient when the status at the
beginning of the time step is stick, otherwise the dynamical friction coefficient is used.

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 90 / 155
GAP_SGR_CLB

The Signorini condition involving the gap is used as a unilateral constraint, together
with Coulomb’s law. This Signorini condition is a complementary condition between the
gap and the normal reaction impulse. The only coefficient defining this law is the
friction coefficient fric, for instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
gapc1 GAP_SGR_CLB fric= 0.5000000D+00

This law may be used in quasi-static situations when one of the contactor is
deformable. When dynamical problems between rigid bodies are under consideration,
this law which has the property to correct penetrations within a single step introduces
correcting impulses well up to cause artifact burst. This law is not recommended to
deal with dynamical contact between rigid bodies.
back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 92 / 155
GAP_SGR_DS_CLB

This contact law is an enrichment to GAP_SGR_CLB except that static stfr and
dynamic dyfr friction coefficients are considered.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
gdsc1 GAP_SGR_DS_CLB dyfr= 0.3000000D+00 stfr= 0.5000000D+00

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 94 / 155
VEL_SGR_CLB

When a contact is fore-casted, a complementary condition between the normal relative


velocity and the normal reaction impulse is used, together with Coulomb’s law. Such a
law implies that unilateral constraints are satisfied (J.J. Moreau). The only coefficient
defining this law is the friction coefficient fric, for instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
velc1 VEL_SGR_CLB fric= 0.5000000D+00

This law may be used in quasi-static situations when one of the contactor is
deformable. When dynamical problems between rigid bodies are under consideration,
this law which has the property to correct penetrations within a single step introduces
correcting impulses well up to cause artifact burst. This law is not recommended to
deal with dynamical contact between rigid bodies. This laws is appropriate to deal with
dynamical contacts between rigid or deformable contactors. It acts as an inelastic
shock law. back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 96 / 155
VEL_SGR_DS_CLB

This contact law is an enrichment to VEL_SGR_CLB except that static stfr and
dynamic dyfr friction coefficients are considered.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
vdsc1 VEL_SGR_DS_CLB dyfr= 0.5000000D+00 stfr= 0.6000000D+00

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 98 / 155
RST_CLB

When a contact is fore-casted, a restitution shock law involving the relative velocity
before the impact time (at the beginning of the time step) and after the impact time (at
the end of the time step) is imposed. This law is a generalization by J.J. Moreau of the
classical Newton restitution law. A normal restitution rstn and a tangential restitution
coefficient rstt are used. This shock law is used together with Coulomb’s law, with a
friction coefficient fric, for instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
rstc1 RST_CLB rstn= 0.9000000D+00 rstt 0.5000000D+00
fric= 0.0000000D+00

This law may be used between impacting rigid bodies in granular flows. There are
experimental results proving that this law is relevant for impacting spheres.
Nevertheless, the concept of shock law, a limit law when waves propagation and
complex local deformation phenomena occur is not ascertained. This simple shock law
should not be used when the aspect ratio of contactors is high (...more than 5. or ?).
Inelastic shock laws prove to be dissipative in any circumstances, which is not the case
with this restitution law.
back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 100 / 155
RST_DS_CLB

This law is an extension of the above law except that static stfr and dynamic dyfr
friction coefficients are considered.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
rdsc1 RST_DS_CLB rstn= 0.9000000D+00 rstt= 0.5000000D+00
dyfr= 0.3000000D+00 stfr= 0.5000000D+00

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 102 / 155
IQS_DS_MOHR_CLB

This contact law is the Mohr Coulomb law when the status at the beginning of the time
step is cohesive statusBEGIN = Mstck, otherwise the contact law is IQS_DS_CLB. The
coefficients cohn and coht stand for normal and tangential cohesion thresholds, so
that the Mohr-Coulomb cone has an opening angle φ, tgφ = coht/cohn.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
mohr1 IQS_DS_MOHR_CLB cohn= 0.9000000D+01 coht= 0.5000000D+00
dyfr= 0.2500000D+00 stfr= 0.5500000D+00

This law has been used formerly. It has to be checked again.


back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 104 / 155
IQS_DS_WET_CLB

This contact law takes into account adhesion between contactors, as a Lennard Jones
law would do, but in the non smooth style. When the gap at the beginning of the time
step is less than some given data, gapBEGIN ≤ Wthk an adhesive law is applied.
Otherwise a IQS_DS_CLB law is applied. The coefficients dyfr and stfr stand for
dynamic and static friction coefficient.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
wet01 IQS_DS_WET_CLB cohn= 0.2234379D+01 coht= 0.2234379D+01
Wthk= 0.1000000D-02
dyfr= 0.2500000D+00 stfr= 0.5500000D+00

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 106 / 155
IQS_DS_WET_CLB

When the status is cohesive the couple (RlocN+cohn, gap), where RlocN is the normal
reaction force and gap is the gap, satisfies the Signorini complementary condition.
Thus RlocN can take any value between +∞ and -cohn, so as to equilibrate all other
forces. The coefficient -cohn is thus some adhesion (cohesion) force. The status is
found Wstck (Wet sticking), Wslfw (Wet sliding forward), Wslbw (Wet sliding backward),
Wnctc (Wet no contact). For the next steps, adhesion is active as long as the gap
remains less than the given value Wthk. When the detachment has occurred, gap ≥
Wthk, the adhesive status is lost and the law IQS_DS_CLB is applied. The adhesive
process is active again if the gap appears to be less than Wthk. On the whole, the
energy to separate the contactors is cohn*Wthk. back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 108 / 155
IQS_DS_WET_CLB

The Lennard Jones law is sometimes used to model surface tension forces between
grains. The word “wet” refers to such a model. In fact it must be recalled that surface
tension forces act in the following way (as a magnet would do). If a pair of contactors
without any loading are touching (vanishing gap) they are attracted with some non
vanishing force due to surface tension, and the reaction force will be found to equal the
attracting force. In the above model, the reaction will be found null. Nevertheless as
soon as enough loading is applied the reaction force reaches the value -cohn. The
model could be improved if this vanishing gap surface tension feature has to be
described. One may notice also that in this model no energy is dissipated when
contactors are rolling without sliding on each other. back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 108 / 155
xQS_DS_WET_CLB

This contact law takes into account adhesion between contactors as defined for
IQS_DS_WET_CLB contact law. Parameters are the same that the ones defined
above. The main different concerns the irreversible feature of cohesion. When the
cohesive contact is broken, it could not be again cohesive.
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
wet01 IQS_DS_WET_CLB cohn= 0.2234379D+01 coht= 0.2234379D+01
Wthk= 0.1000000D-02
dyfr= 0.2500000D+00 stfr= 0.5500000D+00

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 110 / 155
GAP_WET_DS_CLB

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 112 / 155
ELASTIC_REPELL_CLB

This law describes a normal reaction force proportional to the gap (interpenetration),
otherwise the reaction force vanishes when the contactors separate (positive gap). The
friction law is Coulomb’s law. Coulomb’s law. The stiffness between contactors is
described by the coefficient F/gp i.e. a force per unit length (of gap). The coefficient fric
is the friction coefficient and a tangential restitution coefficient rstt are used. This shock
law is used together with Coulomb’s law, with a friction coefficient fric, for instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
erpcE ELASTIC_REPELL_CLB F/gp= 0.4000000D+05
fric= 0.8391000D+00

This law is useful when there are physical reasons to take elasticity in consideration,
for instance one of the contactor is soft. Be aware of the fact that dynamical effects
(oscillations of the contactors) may occur if the time step is soft enough.
back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 114 / 155
ELASTIC_WIRE

This law describes the behaviour of an elastic wire connecting two contactors, usually
points PT2Dx, but actually any kind of contactors. The reaction force when the wire is
under tension is proportional to the deformation, otherwise the wire does not bear any
compression and the reaction force vanishes.The reaction force writes,
RlocN = -F/st * strain , where,
strain = (gapTT-gapREF)/gapREF - prst, where,
gapREF is the gap between contactors in the reference configuration, i.e. the
BODIES.DAT configuration together with a vanishing X in DOF.INI ; the coefficient prst
is a prestrain. For instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
BIOff ELASTIC_WIRE F/st= 0.5000000D+01 prst=-0.5000000D-01

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 116 / 155
ELASTIC_ROD

This law describes the behaviour of an elastic rod connecting two contactors, usually
points PT2Dx, but actually any kind of contactors. The reaction force is proportional to
the deformation,
RlocN = -F/st * strain , where,
strain = (gapTT-gapREF)/gapREF - prst, where,
gapREF is the gap between contactors in the reference configuration, i.e. the
BODIES.DAT configuration together with a vanishing X in DOF.INI ; the coefficient prst is
a prestrain. For instance,
#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
BIOrd ELASTIC_ROD F/st= 0.1000000D+05 prst=-0.1000000D-03

The data gapREF may be considered as an internal parameter and is now being carried
on in Vloc_Rloc.INI, Vloc_Rloc.LAST files.
Remark : The above laws involving elasticity, have been treated as so called Derived
Signorini Coulomb laws, i.e. auxiliary variables obtained by affine change of variables
from standard reactions, gaps and relative velocities, must satisfy the standard
Signorini Coulomb relations. The changes of variables done in mod_nlgs.f90 are
relevant for θ = 1. For θ 6= 1 they should be revisited. back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 118 / 155
VOIGT_WIRE

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 120 / 155
VOIGT_ROD

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 122 / 155
ELASTIC_REPELL_WET_CLB

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 124 / 155
CRITICAL_VOIGT_CLB

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 126 / 155
TEX_SOL_UNILAT

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 128 / 155
COUPLED_DOF

#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
cpd01 COUPLED_DOF

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 130 / 155
PLASTIC_COUPLED_DOF

#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
pcpd1 PLASTIC_COUPLED_DOF

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 132 / 155
NORMAL_COUPLED_DOF

#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
ncpd1 NORMAL_COUPLED_DOF

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 134 / 155
TANGENTIAL_COUPLED_DOF

#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
tcpd1 TANGENTIAL_COUPLED_DOF

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 136 / 155
PERIO_DOF

#23456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
$behav lawty
perd1 PERIO_DOF E_xx= 0.1000000D+05 E_yy=-0.1000000D-03 E_xy=-0.1000000D-03

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 138 / 155
MD_JKRs

#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
jkrs1 MD_JKRs kn__= 0.1000000D+05 kt__= 0.1000000D+05
damp= 0.1000000D+00 gamm= 0.1000000D+00
fric= 0.8391000D+00

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 140 / 155
DEM_Cohe_Hertz

#2345678901234567890123456789012345678901234567890123456789012345678901234567890
$behav lawty
dch01 DEM_Cohe_Hertz kn__= 0.1000000D+05 Weth= 0.1000000D+05
damp= 0.1000000D+00 gamm= 0.1000000D+00

back to tact_behav list

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 142 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 143 / 155
RIGID

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 145 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 146 / 155
xx

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 148 / 155
Outline
1 Overview of LMGC90 files
Introduction
Data Files
Output files
2 DATBOX
The BODIES.DAT file
The TACT_BEHAV.DAT file
The BULK_BEHAV.DAT file
The MODELS.DAT file
The DRV_DOF.DAT file
The INI files
3 OUTBOX
The DOF.OUT file
The Vloc_Rloc.OUT file
The GPV.OUT file
4 LMGC90 driver
CHIC driver
ChiPy driver
5 Interaction laws description
6 Bulk behaviour parameters description
7 Model parameters description
8 Post computation operations

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 149 / 155
postmortem

Restart

Visualisation

Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 151 / 155
Bibliography

V. ACARY.
Contribution à la modélisation mécanique et numérique des édifices maçonnés.
Thèse de Doctorat, Université de la Méditerranée, 5 janvier 2001.
V. ACARY, M. JEAN.
Numerical simulation of monuments by the Contact Dynamics method.
In Monuments 98, workshop on seismic performances of monuments, 12-14
november 1998, Pinto & Géradin eds., Laboratoire National de Génie Civil, pub,
pp. 69–78, 1998.
P. ALART, A. CURNIER.
A generalized Newton method for contact problems with friction.
J. de Mécanique Théorique et Appliquée, supplément no 1 to 7, pp. 67–82, 1988.
P. ALART, A. CURNIER.
A mixed formulation for frictional contact problems prone to Newton like solution
method.
Computational Methods in Applied Mechanics Engineering, 92(3), pp. 353–375,
1991.
P. ALART.
Méthode de Newton généralisée en mécanique du contact.
J. Math. Pure Appl., 76, pp. 83–108, 1997.
Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 153 / 155
Dubois, Jean & Renouf (CNRS) LMGC90 User’s Guide 2008 155 / 155

You might also like