Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 1/22
Department Mécanique and Modèles Numériques
Index:
With
Diffusion:
Developers
Handbook of Descriptif Informatique
D9.05 booklet
D9.05.01 document
Implementation of STAT_NON_LINE
Summary:
One describes here implementation the data-processing of the algorithm of resolution of the problems quasi
nonlinear statics. The document [R5.03.01] describing in detail this algorithm is supposed to be known,
one will recall only the principal stages of them. One will find in this document a recall of the notations,
the simplified flow chart of the routine op0070, allowing to distinguish the principal articulations
logics of operator STAT_NON_LINE of Code_Aster, his tree of call, a description of
data-processing objects and of the principal routines, and some traps to be avoided during the development
in this operator.
EDF
Direction of Etudes and Recherches
Electricity of France
Project Code de Mécanique
Copyright EDF/DER 1997
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 2/22
Contents
Error! No table of contents entry was found.
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 3/22
1
Notations and algorithm
One gives here a summary of the algorithm explained in detail in the document [R5.03.01] to be able
to establish the link with the data-processing objects and operations.
1.1
Notations
One notes U the field of displacement and the multipliers of Lagrange associated with the conditions
with the limits. They are the unknown factors of the problem. These fields are arranged in the same vector
data processing, mixed with the liking of the classification of the unknown factors. Thereafter, this vector will be noted
in manner symbolic system, without supposing about appearance of the unknown factors:
U
In the same way, stresses applied to the structure (mechanical loadings and conditions to
limits) are arranged in a vector loading, in an order which imports us little. One will note
symbolically this vector:
méca
L
D
U
The length of these vectors is arranged in the majority of the routines in variable LONCH.
One must solve for a succession of moments of calculation Ti (often fictitious, allowing to parameterize it
loading), the following system:
T
T
méca
Q
+ =
I
B
I
Li
Drunk
=
D
I
ui
with the notations of the document [R5.03.01].
NB:
In the case of control, one has an additional unknown factor and an equation
additional (cf [§1.4]).
The algorithm is as follows: for each step of time, one carries out a prediction of Euler, then one
correct using iterations of the method of Newton with linear search.
The diagram hereafter gives the notations used. One indicates by index I (like moment) the number
step of time, and by exhibitor N (like newton) the number of the iteration of Newton.
increments are noted when they are measured compared to the state obtained with the last step of time
(balance), and when they are measured compared to the state obtained with the last iteration of Newton.
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 4/22
One has as follows:
U = -
I
ui ui - 1
= -
I
I
i-1
Lméca = méca - méca
I
Li
L i-1
ud
= D - D
I
ui
ui-1
n+1
N
n+1
U
=
+
-
I
ui
ui
ui-1
n+1
un+1 = u0 + the U.K.
I
I
I
k=1
un+1
I
linked
u1i
u0i
1
un+1
ui
I
U
u0
1
one
U
un+1
i-1
U
I
I
I
I
I
abstr. ultat
Pr édict ion
Newton
Newton
R be ultat
converged
I térat ion 1
it érati one n+1
conver Ge
precedent
NB:
N +1
N
n+1
When linear search is made, U is written
=
+
I
ui
ui instead of
N +1
N
n+1
U
=
+
I
ui
ui
, the symbol thus does not have completely any more the same significance (it is in
this case direction of search).
1.2
Algorithm
One restricts oneself to give the systems of equations here composing the algorithm (without following loads and
without control): the logic of the algorithm is detailed in [§2]. The taking into account of the loads
following is in [§1.3]. The complete equations (including control) are in [§1.4].
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 5/22
1.2.1
Phase of prediction
It consists in solving a linear system representing the tangent problem of speed
(cf [R5.03.01] and [R5.03.02]). That makes it possible to better converge in the later method of Newton
when one imposes anelastic deformations given (example: thermics, metallurgy).
No time running (other that the first)
0
T
0
méca
ther
K
+
=
+
i-1
ui
B
I
L I
Li
éq 1.2-1
B
u0 = D
I
ui
where Ki-1 is the tangent matrix calculated in merimo via the option of calculation RIGI_MECA_TANG.
First step of time
K
u0 + BT0 = Lméca - QT + Lther
0
1
1
1
0
1
éq 1.2-2
B
u0 = ud - Drunk
1
1
0
Recovery with boundary conditions of differential the Dirichlet type (“DIDI”)
0
T
0
méca
T
ther
K
+
=
-
+
0
u1
B
1
L1
Q
0
L1
0
D
B
U
=
1
u1
1.2.2
Iteration of Newton
N
n+1
T
n+1
méca
T
N
T
N
K
+
=
-
-
I
ui
B
I
Li
Q
I
B
I
éq 1.2-3
B
un+1 =
I
0
N
where Ki is the tangent matrix calculated in merimo via the option of calculation FULL_MECA.
1.2.3 Linear search
G ()
=
un+1
[] T QT N +un+1
N + n+1
méca
[
] =
I
(ui
I
) + BT (I
I
) - Li
0
p+1 = p - p - p-1 G p = p-1gp - PGP-1
gp - gp - 1
G p - gp-1
One makes iterations on p, on the basis of 0 = 0 and 1 = 1.
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 6/22
1.2.4
Updating of the unknown factors
n+1
N
n+1
U
=
+
I
ui
ui
idem for U and
n+1
= N + n+1
I
I
I
1.2.5
Tests of convergence
QT N + BT N - Lméca
I
I
I
RESI_GLOB_RELA:
1
Lméca + Lther - BT N
I
I
I
T
N
T
N
méca
RESI_GLOB_MAXI:
Q +
-
I
B
I
Li
2
un+1
I
INCO_GLOB_RELA:
3
un+1
I
ITER_GLOB_MAXI: if N > nmax one stops
1.3
Following loadings
These are loadings whose value depends on that of the unknown factors (for example the pressure in
great displacements, cf [R3.03.04]). They thus should be revalued, not only with each step of
time, but also with each iteration of Newton (i.e. with each change of the unknown factors).
Moreover, they lead to a term of additional rigidity.
One breaks up the mechanical loading into a fixed part (nonfollowing) and a following part:
méca
fixed
suiv
L
=
+
I
Li
L
(ui, Ti)
The system to be solved is then:
QT
+ BT = Lfixe + Lsuiv
I
I
I
(ui, Ti)
Drunk
= ud
I
I
1.3.1
Phase of prediction
Lsuiv
(
K
-
) 0 +
0
= + suiv fixes + ther
i-1
ui
BT I
Li
Li
Li
U
ui - 1
0
D
B
U
=
I
ui
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 7/22
1.3.2
Iteration of Newton
suiv
(
KN - L
) n+1 +
n+1
=
fix +
N
N -
N
I
ui
BTi
Li
Lsuiv (ui) - QTi
BT I
U
linked
n+1
B
U
=
I
0
1.4
Controlled loadings
The amplitude of part of the loading to each step of time is controlled by an equation
additional imposing the value of a degree of freedom. The loading (in the broad sense, including them
boundary conditions), breaks up then into a part known as “constant” (even if it depends on
time for example) of predetermined amplitude (given by the user) and of a “controlled” part known as
whose amplitude I is an additional unknown factor of the problem:
Lcste
+
I
I Lpilo
.
ucste
+
I
I U pilo
The loading known as “constant” includes the possible following forces:
Lcste
= Lfixe + Lsuiv
I
I
I
ucste
= U fixed
I
I
In the same way the matrix of tangent rigidity, noted K will incluera the possible matrix of tangent rigidity
had with following forces.
The system to be solved is written:
QT
+ BT = Lcste + Lpilo
I
I
I
I
Drunk
cste
+ upilo
I
= ui
I
D
(ui) = I
The third relation is scalar and I is worth the moment of calculation Ti in the current state of the code. For more
details, one will refer to the document [R5.03.01].
1.4.1
Phase of prediction
K
u0 + BT 0 - 0 Lpilo = Lcste + Lther
i-1
I
I
I
I
I
B
u0
0 upilo = ucste
I - I
I
P u0
- D
i-1
I
= I
(ui-1)
D is the operator of control (that which imposes the additional relation) and P its operator
tangent. As for the moment one imposes the value of a degree of freedom, the operator D is linear and
P = D.
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 8/22
cste
+ ther
-
() - 1 Li
Li
I
D (ui-1) - Ci-1 Have-1
cste
0 =
ui
I
pilo
C
() - 1 L
I
1 Have-1
pilo
U
éq 1.4-1
0
cste
ther
U
+
I
=
L
0
With
() - 1 Li
I
+ A
() - 1 Lpilo
0
i-1
cste
I
i-1
U pilo
I
ui
BT
with A
= Ki - 1
= (
)
i-1
and Ci-1
Pi-1 0.
B
0
1.4.2
Iteration of Newton
KN
n+1 +
n+1 - n+1
cste + N
N +
N
I
ui
BTi
I
Lpilo
= Li
I Lpilo - (QT I
BTi)
n+1
n+1
pilo
B
ui
- I U = 0
N
N +1
N
P
= -
I ui
I
D (ui)
cste
N
N
+
N
-
Lpilo - (QT
BT)
D
N
N Year
() - 1 Li
- Cn Year
() - 1 I
I
I
I
(ui) - Ci
I
I
I
n+1 =
0
0
I
Cn Year
() - 1 Lpilo
I
I
U pilo
éq 1.4-2
one +1
cste
N
Lpilo -
N + BTn
I
=
(QT
)
Year
() - 1 Li
+ Year
() - 1 I
I
I
+ n+1 Year
() - 1 Lpilo
n+1
I
I
I
I
U pilo
I
0
0
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 9/22
2
Simplified flow chart of STAT_NON_LINE
nmlect
reading of the operands
nminit
initializations and end of reading
initial state
not
virgin?
rebuilding
nmrepr
ther
yes
QT0 + L
initial loading
U
(
)
0
i-1, I - 1
B U
0
known
nmacmv
updating of the matrices and vectors
0
0
phase of prediction U
(
)
I, I
nmpred
R C
)
K u0 + BT0 = Lméca + Lther
(
T I
i-1
I
I
I
I
L
0
D
=
one
N
(
B
U = U
I, I)
I
I
I
L
known
n+1
n+1
iteration of Newton
(
)
:
ui, I
nmnewt
R C
T I
KN un+1 + BTn+1 = Lméca - QTn - BTn
I
I
I
I
I
I
B
un+1 =
I
0
(exhibitor N)
(index I)
nmrech
R L
iterations of linear search
n+1
n+1
updatings of the unknown factors U
(
)
I
, I
majour
un+1 = one + un+1
I
I
I
N
+1 = N + n+1
I
I
I
nmcrar
tests of convergence
Iterations of Newton
QTn + BT N - Lméca
un+1
I
I
I
I
méca + ther -
N
1
n+1
3
not
L
L
BT
U
I
I
I
I
convergence?
Loop on the “steps of time”
QTn + BT N - Lméca
N > N
I
I
I
2
max?
yes
updatings and filing U
(
)
I, I, I, I
nmstoc
U = un+1
= n+1
I
I
,
I
I
= N
= N
I
I,
I
I
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 10/22
The loops with symbol RC indicate the expression of the relation of behavior (through
routine merimo, cf [§5.10]).
The loop with symbol RL indicates the iterations of linear search (cf [§5.5]).
One gave in the flow chart of the simplified equations which do not take account of
following loadings nor of the controlled loadings.
3
Tree of call of the op0070
One gives here the principal routines called by the op0070 like their function. One does not speak
calls with the routines supervisor, the routines of creation of objects JEVEUX, assembly of
vectors and of matrices, impression of messages. A more detailed description of the routines
principal is given in [§5].
op0070
nmlect
beginning of the reading of the command file (cf key words)
nmdome
model, material, loading
(MODEL, CHAM_MATER, CARA_ELEM, EXCIT)
nmdorc
relation of behavior (COMP_ELAS, COMP_INCR)
nmdomt
parameters of the method of resolution (NEWTON)
cresol
parameters of solvor (SOLVEUR)
nmdocn
criteria of convergence (CONVERGENCE)
nmdoop
options of calculation (OPTION)
nminit
initializations and end of the reading of the command file
number
creation of classification - profile of the matrix
nmdoet
data entry of the initial state (ETAT_INIT)
nminst
calculation of the initial moment
nmdoin
list moments of calculation
nminin
initial moment
nmpogd
initializations for beams in great rotations
nmdopi
data acquisition of control (PILOTAGE)
medime
elementary matrices of rigidity (contributing to the matrix B)
associated the boundary conditions
nmdete
recovery of the initial field of temperature
nmrepr
taking into account of an initial state not no one
vefnme
T
calculation of the initial nodal forces (Q 0)
vebume
calculation of displacements imposed initially (B u0)
vectme
ther
calculation of the initial thermal loading (L 0)
vaczme
ther
modification due to the metallurgy (L0)
veanme
modification due to anelastic deformations given
ther
(L0)
nmitin
recovery of the moment of current calculation Ti
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 11/22
nmacmv
updating of the matrices and vectors for new T
nmrema
re-assembly of the tangent matrix? (Boolean REASMA)
merimo
calculation of the tangent matrix and the nodal forces
mecgme
calculation of the tangent matrix of the following loadings
preres
factorization or calculation of the preconditionnor
vedime
vector of not controlled imposed displacements
vechme
vector of the nonfollowing mechanical loads not controlled
vedpme
vector of controlled imposed displacements
vefpme
vector of the controlled nonfollowing mechanical loads
vecgme
vector of the following mechanical loads
vectme
vector of the thermal loading
vaczme
modification of the thermal loading due to the metallurgy
veanme
modification of the thermal loading due to the deformations
anelastic data
nmpred
preliminary phase of prediction
vatzme
increment of thermal load due to the metallurgy
nmreso
resolution of system linear
nmmico
processing of the unilateral contact
nmnewt
processing of an iteration of Newton
vecgme
vector of the following mechanical loads
nmrema
re-assembly of the tangent matrix? (Boolean REASMA)
merimo
calculation of the tangent matrix and the nodal forces
mecgme
calculation of the tangent matrix of the following loadings
preres
factorization or calculation of the preconditionnor
nmreso
resolution of system linear
nmrech
linear search
majour
updating of the unknown factors
merimo
calculation of the nodal forces
nmcrrl
test of stop of linear search
majour
updating of the unknown factors
nmcrar
test of stop of the iterations of Newton
nmstoc
updatings and filing of the results
ndarch
filing of the results of the step of time
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 12/22
4
Contents of the principal handled variables
4.1
Loadings
The total mechanical loading breaks up in the following way:
méca
fixed
pilo
L
suiv
L
I
= Li
+ Li
+
I
D
fixed
I
pilo
U
U
U
I
I
0
I
variable
address
contents
description
routine
vectors
JEVEUX
creative
elementary
CNCHMP
JCHMP
fixed
loadings
vechme
VECHMP
L
I
of Neumann
0
not not controlled follower
CNFPIP
JFPIP
pilo
loadings
vefpme
VEFPIP
L
I
of Neumann
0
not controlled follower
CNCGMP
JCGMP
L
suiv
loadings
vecgme
VECGMP
I
of Neumann
0
not controlled follower
CNDIRP
JDIRP
0
loadings
vedime
VEDIRP
fixed
of Dirichlet
U
I
not controlled
CNDPIP
JDPIP
0
loadings
vedpme
VEDPIP
pilo
of Dirichlet
U
I
controlled
CNCHTP
JCHTP
thermal loading
vectme
VECHTP
Lther
I
+ metallurgy
vaczme
0
+ déf. anelastic
veanme
CHFIXE
Lfixe
+ Lpilo
total of the loadings of
I
I
I
Neumann not follower
0
CHCSTE
JCHCS
Lfixe
+ Lsuiv + Lther
total of the loadings
I
I
I
not controlled
U fixed
I
CHPILO
JCHPI
Lpilo
total of the loadings
I
controlled
U pilo
I
4.2
Unknown factors, reactions of support and forces nodal
The notations in increments are pointed out:
n+1
n+1
U
=
-
I
ui
ui-1
un+1 = n+1 - N
I
ui
ui
Caution:
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 13/22
The contents of the objects (in particular unknown factors) are variable during routines: one
give in [§5] the detail of the objects according to crossed routines'. In the following table
one gives the significance planned for these objects.
For example, object DDEPLA is intended to collect the increment of the unknown factors between two
iterations of Newton. However, in nmpred one stores there temporarily the second member
linear system to solve, then the solution of this system, which is the increment enters
preceding balance and the prediction.
object
address
contents
description
JEVEUX
DEPMOI
JDEPM
U
displacement and Lagrange
i-1
with preceding balance
i-1
DEPPLU
JDEPP
one
displacement and Lagrange
I
currents
N
I
DEPDEL
JDEPDE
N
increment of the unknown factors
ui
since balance
N
precedent
I
DEPDET
JDEPDT
N
n+1
auxiliary vector for
U + p
I
ui
linear search
N
+ pn+1
I
I
DDEPLA
JDDEPL
N
increment of the unknown factors
ui
since reiterated of Newton
N
precedent
I
CNRESI
JCNRE
nodal forces
QT
N +
N
I
BT I
(in the broad sense, including them
0
reactions of support)
CNDIRI
JDIRI
reactions of support
BT
nor
0
SIGMOI
constraints
i-1
with preceding balance
SIGPLU
N
constraints
I
current
VARMOI
internal variables
I - 1
with preceding balance
VARMOJ
n-1
internal variables
I - 1
with reiterated preceding
VARPLU
N
internal variables
I - 1
current
TEMMOI
T
field of temperature
I - 1
with preceding balance
TEMPLU
T
field of temperature
I
running
NB:
One does a distinction between the values of preceding balance (i.e. out of Ti - 1) and them
values of reiterated preceding, i.e. those which one obtains during iterations of
Newton and which is not a priori in balance.
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 14/22
5
Detail of the principal routines
5.1
Routine nmrepr
This routine makes it possible to treat to take into account a nonvirgin initial state (case of the recoveries
in particular). One supposes known (read under key word ETAT_INIT in the routine nmdoet) the field
u0 displacements and constraints 0. In this case the Boolean NEWCAL is worth .FALSE.
Principal routines called:
Q
T
·
0
vefnme: calculation of
, initial nodal forces; calculation will be carried out on
0
initial deformed geometry (taking into account of u0) if one indicated
GEOMETRIE:“DEFORMEE” under key word ETAT_INIT;
0
·
vebume: calculation of Drunk
, initial imposed displacements;
0
Lther
·
0
vectme, vaczme, veanme: calculation of
, initial loading due to thermics, with
0
metallurgy and with the imposed anelastic deformations.
One stores the initial loading (rebuilt) in CHCSTE:
ther
+ T
Q 0
CHCSTE = L 0
Drunk
0
If NEWCAL=.true., the initial state is virgin and CHCSTE is worth 0.
5.2
Routine nmacmv
It brings up to date the matrices and vectors at the beginning again of step of time (in the operator
THER_MECA_NOLI, this routine are also called within a step of time for each
new iteration of thermomechanical coupling).
Principal routines called:
·
merimo: calculation of the tangent matrix if OPTION=' RIGI_MECA_TANG', if not nothing.
·
mecgme: calculation of the tangent matrix associated the following loadings.
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 15/22
NB:
The elementary matrices resulting from merimo (object MERIGI) and mecgme (object MESUIV) are
assemblies with the matrices relating to Lagrange (calculated once and for all by
medime at the beginning of the op0070 and stored in object MEDIRI) in a large matrix
(object MATASS), that one can symbolically note:
- Lsuiv
BT
With
= Ki
- 1
i-1
U
U
I - 1
B
0
·
preres: factorization of the tangent matrix (if solvor LDLT or MULT_FRONT) or calculation of
preconditionnor (if solvor GCPC),
·
vedime, vechme, vedpme, vefpme, vecgme, vectme, vaczme, veanme: updatings of
vectors representing the various contributions to the loading (cf table of [§ 4.1]).
5.3
Routine nmpred
0
U
This routine carries out the calculation of the predictor
I
, while solving in the general case (with control)
0
I
the system [éq 1.4-1].
U
One affects to
i-1
DEPPLU the values obtained with preceding balance, is
.
i-1
One stores in DDEPLA the increment of loading not controlled (mechanical + “thermal”):
DDEPLA =
CNCHMP + CNCGMP + CNDIRP + CNCHTP - CHCSTE (current-precedent)
Lfixe + Lsuiv + ther
I
L I
that is to say
I
DDEPLA =
U fixed
I
The routine vatzme supplements this second member by the taking into account of the increment of load due to
the plasticity of transformation (metallurgy).
NB:
T
ther
Q
+ L
With the first step of time,
0
0
CHCSTE contains
thus DDEPLA will be worth:
Drunk
0
fixed
+ Lsuiv -
+ ther
1
QT 0
L1
DDEPLA = L1
(cf [éq 1.2-2]).
U fixed - Drunk
1
0
One brings up to date the loading not controlled:
CHCSTE = CNCHMP + CNCGMP + CNDIRP + CNCHTP
(running)
fixed
+ Lméca + ther
I
Li
that is to say
CHCSTE = L I
U fixed
I
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 16/22
The controlled loading is brought up to date:
CHPILO = CNFPIP + CNDPIP
(running)
pilo
that is to say
CHPILO =
Li
upilo
I
One solves the linear system [éq 1.4-1] by calling nmreso (cf [§5.9]) with in arguments CHPILO
and DDEPLA (second member CHRESU in input, solution at output).
NB:
DEPDEL is given to zero in the routine initiated.
After nmpred in the op0070, one brings up to date DEPPLU and DEPDEL (routine majour):
+ u0i
DISPLEASED = DISPLEASED + DDEPLA = UI-1
+ 0
i-1
I
0
DEPDEL = DEPDEL + DDEPLA = 0 + ui
0
+ 0
I
5.4
Routine nmnewt
One brings up to date the second associate member with following loadings CNCGMP.
Call of merimo: one calculates the nodal forces (if OPTION=' RAPH_MECA') or the nodal forces and
the tangent matrix (if OPTION=' FULL_MECA'). If there is re-assembly (REASMA=.TRUE.), one calculates
the tangent matrix associated the following loadings, then one reassembles and one factorizes (preres)
N
the noted total tangent matrix Have. All this is identical to the operations carried out in
nmacmv (only difference: the option of calculation of the tangent matrix is “FULL_MECA” and not
“RIGI_MECA_TANG”, cf [R5.03.01] and [R5.03.02]).
One assembles the nodal forces and the reactions of support relating to reiterated preceding, respectively
in CNRESI and CNDIRI.
One stores in DDEPLA the second member of the linear system to solve:
DDEPLA =
CNCHMP + CNCGMP + ETA * CNFPIP - CNRESI
fixed
+ Lsuiv + N Lpilo -
N + BTn
I
I
I
(QTi
I)
DDEPLA = Li
0
One solves the linear system [éq 1.4-2] by calling nmreso (cf [§5.9]) with in arguments CHPILO
(unchanged) and DDEPLA (second member in input, solution at output).
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 17/22
5.5
Routine nmrech
This routine calculates the scalar (RHO) which will be the step of advance in the direction given by
DDEPLA.
NB:
For the moment, linear search is called only if ETA = 0 (not of control).
The vectors separately are sent: CNCHMP, CNCGMP, CNFPIP.
Linear search consists in cancelling the product:
G = DDEPLA * [CNRESI-CNCHMP-CNCGMP-ETA * CNFPIP]
by using a method of secant.
One makes a loop on an index p, on the basis of 0 = 0 and 1 = 1. Knowing p-1 (stored in
RHO0), G p-1 (stored in F0) and p (stored in RHO):
·
calculation for p of DEPDEL+RHO * DDEPLA stored in DEPDET (routine majour):
N
n+1
U + p
I
ui
·
calculation of nodal forces CNRESI (option “RAPH_MECA”) correspondent with DEPDET (routine
merimo)
·
calculation of DDEPLA * [CNRESI-CNCHMP-CNCGMP-ETA * CNFPIP], is:
N +1
T
N
n+1
T
N
n+1
méca
G (p) =
[U] T [+p
+ p
]
I
Q
(ui
ui
) + B (I
I
) - Li
stored in F1
·
checking of the criterion of stop of linear search (routine nmcrrl): value of CNRESI-
CNCHMP-CNCGMP-ETA * CNFPIP lower than RESI_LINE_RELA, or p higher than
ITER_LINE_MAXI
·
calculation of new RHO (auxiliary variable RHOT of transfer):
- p
-
p+1 =
G p-1 + p-1gp = RHO * F0 + RHO0 * F1
gp - gp - 1
F1 - F0
After nmrech in the op0070, one brings up to date DEPPLU and DEPDEL (routine majour):
N
+ un+1
I
DEPPLU = DEPPLU + RHO * DDEPLA = ui
N
+ n+1
I
I
one + un+1
I
I
DEPDEL = DEPDEL + RHO * DDEPLA =
N
+ n+1
I
I
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 18/22
5.6
Routine nmcrar
This routine tests the various criteria of stop of the iterations of Newton.
One separately sends the vectors representative of the loading to him:
CHFIXE = CNCHMP + ETA * CHFPIP
CNCGMP
CNCHTP
CNDIRI
One calculates the quantities specified with [the § 1.2.5] and one compares with the limiting values fixed by
the user. One prints the values of the various criteria and the iteration count of search
linear. The checked criteria are affublés of one * beside their value. Convergence is issued
if all the specified criteria are checked. The op0070 is thus informed that CONVER=.TRUE.
NB:
Before looking at convergence, one looks at if ITERAT N
() is strictly higher than
value given under ITER_GLOB_MAXI, and if it is the case one stops. That wants to say in it
case which one carried out an useless iteration of Newton (since one does not test
convergence): to correct in a forthcoming version.
5.7
Routine nmstoc
This routine carries out the updatings necessary to the end of the step of time (tilting of
values XXXPLU and XXXMOI: internal displacements, constraints, variables, temperatures, ETA) thus
that filings (routine ndarch) in the structure of data evol_noli results.
The stored solution is:
n+1
n+1
U
=
=
I
ui, I
I
= N
= N
I
I,
I
I
It is necessary to bring up to date the loading (which will be taken as loading of the step of previous time in
next nmpred). One needs to recompute CHCSTE since the following forces changed since
nmpred (in nmnewt and nmrech):
CHCSTE = CNCHMP + CNCGMP (new) + CNDIRP + CNCHTP
fixed
+ Lsuiv + ther
I
Li
CHCSTE = L I
U fixed
I
Vector CHPILO is not used to calculate increments and is built when one needs some, one does not have
thus not to update it. Idem for the vector CHFIXE which is useful only in the criterion of stop.
NB:
One could store CHFIXE and CHPILO in the same data-processing object since one them
recompute with each time one needs some. But it is preferable for the clearness of the op0070
to have these two objects.
5.8
Routine merimo
It expresses the relation of behavior:
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 19/22
N
N
·
calculation of constraints I (SIGPLU) and the variables intern I (VARPLU) from
values i-1 (SIGMOI) and i-1 (VARMOI) with preceding balance (out of Ti-1) and of the increment
N
N
of displacement U =
-
I
ui
ui - 1 since this balance (DEPDEL);
N
T
N
·
calculation of the “nodal forces” (forces intern + reactions of support): Q +
I
B
I (VERESI)
T
N
and of the reactions of support B I (VEDIRI), which one assembles then;
N
·
possible calculation of the matrix of tangent stiffness: Ki (MERIGI).
For memory one gives here the sequence of the routines which, on the basis of merimo, treats the relation of
behavior VMIS_ISOT_TRAC for the isoparametric elements 2D:
·
merimo: filling of the output and inlet limits for calculation, call of calculation for
to calculate the nodal forces, call of calculation to calculate the reactions of support
·
calculation: loop on the elements
·
te0100: for each element, shunting of the options of calculation (FULL_MECA,…) and call of
nmpl 2D
·
nmpl 2D: loop on the points of Gauss, calculation of the geometric standards, of
deformations, call of nmcomp, filling of the elementary matrix of rigidity and of
elementary vector of the nodal forces
·
nmcomp: shunting of the relations of behavior
·
nmisot: calculation of the constraints, variables internal, and derived from the constraints by report/ratio
with the deformations for the relation of behavior VMIS_ISOT_TRAC
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 20/22
5.9
Routine nmreso
It is pointed out that:
cste
fixed
suiv
L
=
+
I
Li
Li
ucste
= fixed
I
ui
Lsuiv
With =
K -
BT
U
B
0
C = P
(0)
In input of nmreso coming from nmpred:
In input of nmreso coming from nmnewt:
pilo
pilo
CHPILO = Li
CHPILO =
Li
upilo
upilo
I
I
cste
ther
L +
cste
+ N Lpilo - (QTn + BTn)
I
L I
I
I
I
I
CHRESU =
CHRESU =
Li
cste
U
0
I
N
MATASS = A = Have - 1
MATASS = A = Have
N
PILOT C = Ci
PILOT C = C
1
I
N
DEPPLU = U
DEPPLU = U
i-1
I
In nmreso: one solves [éq 1.4-1] or [éq 1.4-2]:
- 1
CHSOL1 = A. CHPILO
- 1
CHSOL2 = A. CHRESU
= D (U)
RD = C.CHSOL1
RN = C.CHSOL2
n+1
DETA =
= BETA - - RN
I
RD
u0
n+1
I
ui
CHRESU =
or
= DETA
.CHSOL1 + CHSOL2
0
n+1
I
I
n+1
N
n+1
ETA =
= +
= ETA + DETA
I
I
I
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 21/22
6
Traps and easy ways
In this chapter one even gives in disorder a certain number of important information (
essential) for which wants to develop in the op0070.
·
VERESI, RESIDUE, CNRESI,…: they are the nodal forces, i.e. the forces intern + them
reactions of support. As opposed to what could let think the name of the variable, it is not
not a residue: that thus does not tend towards 0 when one converges (that tends towards the loading
outside)!!!
·
the calculation of the elementary matrices associated Lagrange is made once and for all at the beginning
op0070 (call of medime): indeed, even if the value of Dirichlet imposed changes with
D
run from time, that modifies the second member U and not the matrix B.
·
the thermal loading intervenes only by its (except for the criterion of stop): nevertheless one
always calculate its value at the previous moment and at the current moment and one takes the difference of it
(to take account of the possible variation of the dilation coefficient according to
temperature).
·
object CNCHTP (thermal loading) is called a little differently other loadings.
Indeed, for the mechanical loadings (CNCHMP for example), the object is a list of
assembled vectors of type VACHMP. Since only one load can be thermal, the object
CNCHTP is in fact the equivalent of only one VACHMP: his address JTP is taken, and the values are
with the address of object ZK24 (JTP), that is to say JCHTP.
·
to limit the number of arguments of the routines, one gathered certain objects in a table
giving their names:
-
VALMOI contains to the maximum DEPMOI, SIGMOI, TEMMOI, VARMOI, and VARMOJ
-
VALPLU contains to the maximum DEPPLU, SIGPLU, TEMPLU, and VARPLU
-
SECMBR contains to the maximum CNCHMP, CNFPIP, CNCGMP, CNDIRP, CNDPIP, CNCHTP,
CNRESI, and CNDIRI
-
POUGD contains vectors relating to calculations of beams in great rotations
The “filling” and “emptying” of these tables of character strings are made by the intermediary
routines agglom and desagg.
·
the processing of the contact consists in calling a routine nmmico after nmpred and nmnewt, which
correct the field of displacement, and to add the forces of contact obtained (stored with
address JATMU) with nodal forces CNRESI and the reactions of support CNDIRI.
·
for a reason not included/understood well of the author of this document, the call to the routine nmreso
invalid the address of object DDEPLA: it thus should be seized again by a call to jeveuo after nmpred
and nmnewt.
·
in the routines nmxxx all inevitably did not pass in argument: for example, MEDIRI
in nmacmv is known by a DATA and is thus used.
·
attention with the handling of the DATA: the substitution of the names is made only during compilation.
It is preferable when one wants to impose fixed names for objects calculated on several
recoveries, to declare them like instruction at the beginning of routine (cf nmacmv).
Handbook of Descriptif Informatique
D9.05 booklet: Index A
Code_Aster ®
Version
4.1
Titrate:
Implementation of STAT_NON_LINE
Date:
28/01/99
Author (S):
I. VAUTIER
Key:
D9.05.01
Page: 22/22
·
if an elementary vector is stored in a variable of name &&VECHME…, the vector
assembled is stored in a variable of name &&VACH00… Only discriminating characters
for the names of vectors are thus 1st, 3rd and 4th. Thus two vectors &&VECHME and
&&VECHTP would lead to an ambiguity and thus bugs. Therefore they were used
names &&VEMCHA… (for VECHMP), &&VEMSUI… (for VECGMP), &&VEMTPP… (for
VECHTP), etc (cf nmacmv for example). Since the creation of operator THER_MECA_NOLI, it
is also necessary to pay attention to avoid ambiguities between the thermal vectors (flow,
imposed temperatures…) and mechanical vectors.
·
the routines initiated and majour refers partially to the beams in great rotations.
·
the test of convergence is made after the first iteration of Newton (one thus makes some always with
less one): thus for an elastic design where one with the solution at the end of the phase of prediction,
one makes an iteration of Newton for nothing…
Handbook of Descriptif Informatique
D9.05 booklet: Index A