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
Mechanical department and Digital Models
Index:
With
Dissemination:
Developers
EDF
Direction of the Studies and Search
Electricity of France
Project Codes of Mechanics
Copyright EDF/DER 1997
Data-processing manual of Description
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 main 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 main hinges
logics of the operator
STAT_NON_LINE
of Code_Aster, its shaft of call, a description of
data-processing objects and of the main routines, and some traps to be avoided during the development
in this operator.
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
Data-processing manual of Description
D9.05 booklet: Index A
Contents
Error! No table of contents entry was found.
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
Data-processing manual of Description
D9.05 booklet: Index A
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
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:
L
méca
U
D
The length of these vectors is arranged in the majority of the routines in the variable
LONCH
.
One must solve for a succession of moments of calculation
T
I
(often fictitious, allowing to parameterize it
loading), the following system:
Q
T
I
+
B
T
I
=
L
I
méca
Drunk
I
=
U
I
D
with the notations of the document [R5.03.01].
NB:
In the case of piloting, one has an additional unknown factor
and an equation
additional (cf [§1.4]).
The algorithm is as follows: for each pitch 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 the index
I
(like moment) the number
pitch of time, and by the exponent
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 pitch of time
(balance), and
when they are measured compared to the state obtained with the last iteration of Newton.
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
Data-processing manual of Description
D9.05 booklet: Index A
One has as follows:
U
I
=
U
I
-
U
I
-
1
I
=
I
-
I
-
1
L
I
méca
=
L
I
méca
-
L
I
-
1
méca
U
I
D
=
U
I
D
-
U
I
-
1
D
U
I
N
+
1
=
U
I
N
+
U
I
N
+
1
-
U
I
-
1
U
I
N
+
1
U
I
0
U
I
1
U
I
N
U
I
-
1
U
I
U
I
0
U
I
N
U
I
1
U
I
N
+
1
U
I
N
+
1
U
I
1
U
I
N
+
1
=
U
I
0
+
U
I
K
K
=
1
N
+
1
abstr. ultat
converged
precedent
Pr édict ion
Newton
I térat ion 1
Newton
it érati one n+1
R be ultat
conver Ge
NB:
When linear search is made, one writes
U
I
N
+
1
=
U
I
N
+
U
I
N
+
1
instead of
U
I
N
+
1
=
U
I
N
+
U
I
N
+
1
, the symbol
thus completely any more the same significance (it does not have 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 piloting): 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 piloting) are in [§1.4].
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
Data-processing manual of Description
D9.05 booklet: Index A
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)
K
I
-
1
U
I
0
+
B
T
I
0
=
L
I
méca
+
L
I
ther
B
U
I
0
=
U
I
D
éq 1.2-1
where
K
I
-
1
is the tangent matrix calculated in
merimo
via the option of calculation
RIGI_MECA_TANG
.
First pitch of time
K
0
U
1
0
+
B
T
1
0
=
L
1
méca
-
Q
T
0
+
L
1
ther
B
U
10
=
U
1
D
-
B U
0
éq 1.2-2
Recovery with boundary conditions of differential the Dirichlet type ('
DIDI
')
K
0
U
1
0
+
B
T
1
0
=
L
1
méca
-
Q
T
0
+
L
1
ther
B
U
1
0
=
U
1
D
1.2.2
Iteration of Newton
K
I
N
U
I
N
+
1
+
B
T
I
N
+
1
=
L
I
méca
-
Q
T
I
N
-
B
T
I
N
B
U
I
N
+
1
=
0
éq 1.2-3
where
K
I
N
is the tangent matrix calculated in
merimo
via the option of calculation
FULL_MECA
.
1.2.3 Linear search
G (
)
=
U
I
N
+
1
[]
T
Q
T
(U
I
N
+
U
I
N
+
1
)
+
B
T
(
I
N
+
I
N
+
1
)
-
L
I
méca
[
]
=
0
p
+
1
=
p
-
p
-
p
-
1
G
p
-
G
p
-
1
G
p
=
p
-
1
G
p
-
p
G
p
-
1
G
p
-
G
p
-
1
One makes iterations on
p
, on the basis of
0
=
0
and
1
=
1
.
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
Data-processing manual of Description
D9.05 booklet: Index A
1.2.4
Updating of the unknown factors
U
I
N
+
1
=
U
I
N
+
U
I
N
+
1
I
N
+
1
=
I
N
+
I
N
+
1
idem for
U
and
1.2.5
Tests of convergence
RESI_GLOB_RELA
:
Q
T
I
N
+
B
T
I
N
-
L
I
méca
L
I
méca
+
L
I
ther
-
B
T
I
N
1
RESI_GLOB_MAXI
:
Q
T
I
N
+
B
T
I
N
-
L
I
méca
2
INCO_GLOB_RELA
:
U
I
N
+
1
U
I
N
+
1
3
ITER_GLOB_MAXI
: if
N
>
N
max
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 pitch 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:
L
I
méca
=
L
I
fixed
+
L
suiv
(U
I
, T
I
)
The system to be solved is then:
Q
T
I
+
B
T
I
=
L
I
fixed
+
L
suiv
(U
I
, T
I
)
Drunk
I
=
U
I
D
1.3.1
Phase of prediction
(
K
I
-
1
-
L
suiv
U
U
I
-
1
)
U
I
0
+
B
T
I
0
=
L
I
fixed
+
L
I
suiv
+
L
I
ther
B
U
I
0
=
U
I
D
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
Data-processing manual of Description
D9.05 booklet: Index A
1.3.2
Iteration of Newton
(
K
I
N
-
L
suiv
U
U
I
N
)
U
I
N
+
1
+
B
T
I
N
+
1
=
L
I
fixed
+
L
suiv
(U
I
N
)
-
Q
T
I
N
-
B
T
I
N
B
U
I
N
+
1
=
0
1.4
Controlled loadings
The amplitude of part of the loading to each pitch 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
of which the amplitude
I
is an additional unknown factor of the problem:
L
icste
+
I
L
pilo
U
I
cste
+
I
U
pilo
.
The loading known as “constant” includes the possible following forces:
L
I
cste
=
L
I
fixed
+
L
isuiv
U
I
cste
=
U
I
fixed
In the same way the matrix of tangent rigidity, noted
K
the possible matrix of tangent rigidity will incluera
had with following forces.
The system to be solved is written:
Q
T
I
+
B
T
I
=
L
icste
+
I
L
pilo
B U
I
=
U
I
cste
+
I
U
pilo
D (U
I
)
=
I
The third relation is scalar and
I
the moment of calculation is worth
T
I
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
I
-
1
U
I
0
+
B
T
I
0
-
i0
L
pilo
=
L
icste
+
L
ither
B
U
I
0
-
I
0
U
pilo
=
U
I
cste
P
I
-
1
U
I
0
=
I
-
D (U
I
-
1
)
D
is the operator of piloting (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
.
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
Data-processing manual of Description
D9.05 booklet: Index A
i0
=
I
-
D (U
I
-
1
)
-
C
I
-
1
With
I
-
1
()
-
1
L
I
cste
+
L
I
ther
U
I
cste
C
I
-
1
With
I
-
1
()
-
1
L
pilo
U
pilo
U
I
0
I
0
=
With
I
-
1
()
-
1
L
I
cste
+
L
I
ther
U
I
cste
+
I
0
With
I
-
1
()
-
1
L
pilo
U
pilo
éq 1.4-1
with
With
I
-
1
=
K
I
-
1
B
T
B
0
and
C
I
-
1
=
P
I
-
1
0
(
)
.
1.4.2
Iteration of Newton
K
I
N
U
I
N
+
1
+
B
T
I
N
+
1
-
in
+
1
L
pilo
=
L
I
cste
+
in
L
pilo
-
(Q
T
I
N
+
B
T
I
N
)
B
U
I
N
+
1
-
I
N
+
1
U
pilo
=
0
P
I
N
U
I
N
+
1
=
I
-
D (U
I
N
)
in
+
1
=
I
-
D (U
I
N
)
-
C
I
N
With
I
N
()
-
1
L
I
cste
0
-
C
I
N
With
I
N
()
-
1
I
N
L
pilo
-
(Q
T
I
N
+
B
T
I
N
)
0
C
I
N
With
I
N
()
-
1
L
pilo
U
pilo
U
I
N
+
1
I
N
+
1
=
With
I
N
()
-
1
L
I
cste
0
+
With
I
N
()
-
1
I
N
L
pilo
-
(Q
T
I
N
+
B
T
I
N
)
0
+
I
N
+
1
With
I
N
()
-
1
L
pilo
U
pilo
éq 1.4-2
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
Data-processing manual of Description
D9.05 booklet: Index A
2
Flow chart simplified of
STAT_NON_LINE
R L
R C
R C
nmstoc
nmlect
nminit
nmrepr
nmacmv
nmpred
nmnewt
nmrech
nmcrar
majour
convergence?
initial state
virgin?
yes
yes
not
reading of the operands
initializations and end of reading
rebuilding
initial loading
updating of the matrices and vectors
tests of convergence
U
I
-
1
,
I
-
1
(
)
known
U
I
N
,
I
N
(
)
known
U
I
N
+
1
=
U
I
N
+
U
I
N
+
1
I
N
+
1
=
I
N
+
I
N
+
1
phase of prediction
iteration of Newton
Q
T
I
N
+
B
T
I
N
-
L
iméca
L
I
méca
+
L
I
ther
-
B
T
I
N
1
Q
T
I
N
+
B
T
I
N
-
L
I
méca
2
U
I
N
+
1
U
I
N
+
1
3
K
I
-
1
U
I
0
+
B
T
I
0
=
L
I
méca
+
L
I
ther
B
U
I
0
=
U
I
D
iterations of linear search
updatings of the unknown factors
Iterations of Newton
(exponent N)
Loop on the “pitches of time”
T
I
L
I
=
L (
T
I
)
:
(index I)
L
0
ther
+
Q
T
0
B U
0
updatings and filing
K
I
N
U
I
N
+
1
+
B
T
I
N
+
1
=
L
I
méca
-
Q
T
I
N
-
B
T
I
N
B
U
I
N
+
1
=
0
U
I
=
U
I
N
+
1
,
I
=
I
N
+
1
I
=
I
N
,
I
=
I
N
not
N
>
N
max
?
U
I
0
,
I
0
(
)
U
I
N
+
1
,
I
N
+
1
(
)
U
I
N
+
1
,
I
N
+
1
(
)
U
I
,
I
,
I
,
I
(
)
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
Data-processing manual of Description
D9.05 booklet: Index A
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
Shaft of call of
op0070
One gives here the main routines called by
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
main 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 the 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
capture 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 piloting (
PILOTING
)
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
calculation of the initial nodal forces (
Q
T
0
)
vebume
calculation of displacements imposed initially (
B U
0
)
vectme
calculation of the initial thermal loading (
L
0
ther
)
vaczme
amendment due to the metallurgy (
L
0
ther
)
veanme
amendment due to anelastic deformations given
(
L
0
ther
)
nmitin
recovery of the moment of current calculation
T
I
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
Data-processing manual of Description
D9.05 booklet: Index A
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
amendment of the thermal loading due to the metallurgy
veanme
amendment 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 pitch of time
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
Data-processing manual of Description
D9.05 booklet: Index A
4
Contents of the main handled variables
4.1
Loadings
The total mechanical loading breaks up in the following way:
L
I
méca
U
I
D
=
L
I
fixed
U
I
fixed
+
L
I
suiv
0
+
I
L
I
pilo
U
I
pilo
variable
address
JEVEUX
contents
description
routine
creative
vectors
elementary
CNCHMP
JCHMP
L
I
fixed
0
loadings
of Neumann
not not controlled follower
vechme
VECHMP
CNFPIP
JFPIP
L
I
pilo
0
loadings
of Neumann
not controlled follower
vefpme
VEFPIP
CNCGMP
JCGMP
L
I
suiv
0
loadings
of Neumann
not controlled follower
vecgme
VECGMP
CNDIRP
JDIRP
0
U
I
fixed
loadings
of Dirichlet
not controlled
vedime
VEDIRP
CNDPIP
JDPIP
0
U
I
pilo
loadings
of Dirichlet
controlled
vedpme
VEDPIP
CNCHTP
JCHTP
L
I
ther
0
thermal loading
+ metallurgy
+ déf. anelastic
vectme
vaczme
veanme
VECHTP
CHFIXE
L
I
fixed
+
I
L
I
pilo
0
total of the loadings of
Neumann not follower
CHCSTE
JCHCS
L
I
fixed
+
L
I
suiv
+
L
I
ther
U
I
fixed
total of the loadings
not controlled
CHPILO
JCHPI
L
I
pilo
U
I
pilo
total of the loadings
controlled
4.2
Unknown factors, reactions of support and forces nodal
The notations in increments are pointed out:
U
I
N
+
1
=
U
I
N
+
1
-
U
I
-
1
U
I
N
+
1
=
U
I
N
+
1
-
U
in
Caution:
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
Data-processing manual of Description
D9.05 booklet: Index A
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, the 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
JEVEUX
contents
description
DEPMOI
JDEPM
U
I
-
1
I
-
1
displacement and Lagrange
with preceding balance
DISPLEASED
JDEPP
U
I
N
I
N
displacement and Lagrange
currents
DEPDEL
JDEPDE
U
I
N
I
N
increment of the unknown factors
since balance
precedent
DEPDET
JDEPDT
U
I
N
+
p
U
I
N
+
1
I
N
+
p
I
N
+
1
auxiliary vector for
linear search
DDEPLA
JDDEPL
U
I
N
I
N
increment of the unknown factors
since reiterated Newton
precedent
CNRESI
JCNRE
Q
T
I
N
+
B
T
I
N
0
nodal forces
(in the broad sense, including them
reactions of support)
CNDIRI
JDIRI
B
T
I
N
0
reactions of support
SIGMOI
I
-
1
stresses
with preceding balance
SIGPLU
I
N
stresses
current
VARMOI
I
-
1
internal variables
with preceding balance
VARMOJ
I
-
1
N
-
1
internal variables
with reiterated preceding
VARPLU
I
-
1
N
internal variables
current
TEMMOI
T
I
-
1
field of temperature
with preceding balance
TEMPLU
T
I
field of temperature
running
NB:
One makes a distinction between the values of preceding balance (i.e. in
T
I
-
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.
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
Data-processing manual of Description
D9.05 booklet: Index A
5
Detail of the main 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 the key word
ETAT_INIT
in the routine
nmdoet
) the field
displacements
U
0
and of stresses
0
. In this case the Boolean one
NEWCAL
is worth
.FALSE
.
Main routines called:
·
vefnme
: calculation of
Q
T
0
0
, initial nodal forces; calculation will be carried out on
initial deformed geometry (taking into account of
U
0
) if one indicated
GEOMETRY:“DEFORMED”
under the key word
ETAT_INIT
;
·
vebume
: calculation of
0
Drunk
0
, initial imposed displacements;
·
vectme
,
vaczme
,
veanme
: calculation of
L
0
ther
0
, initial loading due to thermics, with
metallurgy and with the imposed anelastic deformations.
One stores the initial loading (rebuilt) in
CHCSTE
:
CHCSTE
=
L
0
ther
+
Q
T
0
Drunk
0
If
NEWCAL=.true.
, the initial state is virgin and
CHCSTE
0 are worth.
5.2
Routine
nmacmv
It brings up to date the matrices and vectors at the beginning again of pitch of time (in the operator
THER_MECA_NOLI
, this routine is also called within a pitch of time for each
new iteration of thermomechanical coupling).
Main 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.
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
Data-processing manual of Description
D9.05 booklet: Index A
NB:
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
op0070
and stored in the object
MEDIRI
) in a large matrix
(object
MATASS
), that one can symbolically note:
With
I
-
1
=
K
I
-
1
-
L
suiv
U
U
I
-
1
B
T
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
This routine carries out the calculation of the predictor
U
I
0
I
0
, while solving in the general case (with piloting)
the system [éq 1.4-1].
One affects to
DISPLEASED
the values obtained with preceding balance, is
U
I
-
1
I
-
1
.
One stores in
DDEPLA
the increment of loading not controlled (mechanical + “thermal”):
DDEPLA =
CNCHMP + CNCGMP + CNDIRP + CNCHTP - CHCSTE
(current-precedent)
that is to say
DDEPLA
=
L
I
fixed
+
L
I
suiv
+
L
I
ther
U
I
fixed
The routine
vatzme
this second member by the taking into account of the increment of load due supplements to
the plasticity of transformation (metallurgy).
NB:
With the first pitch of time,
CHCSTE
contains
Q
T
0
+
L
0
ther
Drunk
0
thus
DDEPLA
will be worth:
DDEPLA
=
L
1
fixed
+
L
1
suiv
-
Q
T
0
+
L
1
ther
U
1
fixed
-
Drunk
0
(cf [éq 1.2-2]).
One brings up to date the loading not controlled:
CHCSTE =
CNCHMP + CNCGMP + CNDIRP + CNCHTP
(running)
that is to say
CHCSTE
=
L
I
fixed
+
L
I
méca
+
L
I
ther
U
I
fixed
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
Data-processing manual of Description
D9.05 booklet: Index A
The controlled loading is brought up to date:
CHPILO = CNFPIP + CNDPIP
(running)
that is to say
CHPILO
=
L
I
pilo
U
I
pilo
One solves the linear system [éq 1.4-1] while calling
nmreso
(cf [§5.9]) with in arguments
CHPILO
and
DDEPLA
(second member
CHRESU
in input, solution at exit).
NB:
DEPDEL
is given to zero in the routine
initiated.
Afterwards
nmpred
in
op0070
, one brings up to date
DISPLEASED
and
DEPDEL
(routine
majour
):
DISPLEASED
=
DISPLEASED
+
DDEPLA
=
U
I
-
1
+
U
I
0
I
-
1
+
I
0
DEPDEL
=
DEPDEL
+
DDEPLA
=
0
+
U
I
0
0
+
I
0
5.4
Routine
nmnewt
One brings up to date the second associate member with the following loadings
CNCGMP
.
Call of
merimo
: one calculates the nodal forces (if
OPTION=' RAPH_MECA'
) or 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
)
the noted total tangent matrix
With
I
N
. 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
DDEPLA
=
L
I
fixed
+
L
I
suiv
+
I
N
L
I
pilo
-
(Q
T
I
N
+
B
T
I
N
)
0
One solves the linear system [éq 1.4-2] while calling
nmreso
(cf [§5.9]) with in arguments
CHPILO
(unchanged) and
DDEPLA
(second member in input, solution at exit).
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
Data-processing manual of Description
D9.05 booklet: Index A
5.5
Routine
nmrech
This routine calculates the scalar
(
RHO
) which will be the pitch of advance in the direction given by
DDEPLA
.
NB:
For the moment, linear search is called only if
ETA
= 0 (not of piloting).
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
):
U
I
N
+
p
U
I
N
+
1
·
calculation of the nodal forces
CNRESI
(option '
RAPH_MECA'
) agent with
DEPDET
(routine
merimo
)
·
calculation of
DDEPLA * [CNRESI-CNCHMP-CNCGMP-ETA * CNFPIP]
, that is to say:
G (
p
)
=
U
I
N
+
1
[]
T
Q
T
(U
I
N
+
p
U
I
N
+
1
)
+
B
T
(
I
N
+
p
I
N
+
1
)
-
L
I
méca
[
]
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
superior with
ITER_LINE_MAXI
·
calculation of new
RHO
(
RHOT
auxiliary variable of transfer):
p
+
1
=
-
p
G
p
-
1
+
p
-
1
G
p
G
p
-
G
p
-
1
= -
RHO
*
F0
+
RHO0
*
F1
F1
-
F0
Afterwards
nmrech
in
op0070
, one brings up to date
DISPLEASED
and
DEPDEL
(routine
majour
):
DISPLEASED
=
DISPLEASED
+
RHO
*
DDEPLA
=
U
I
N
+
U
I
N
+
1
I
N
+
I
N
+
1
DEPDEL
=
DEPDEL
+
RHO
*
DDEPLA
=
U
I
N
+
U
I
N
+
1
I
N
+
I
N
+
1
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
Data-processing manual of Description
D9.05 booklet: Index A
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.
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 pitch of time (tilting of
values
XXXPLU
and
XXXMOI
: internal displacements, stresses, variables, temperatures,
ETA
) thus
that filings (routine
ndarch
) in the structure of data results
evol_noli
.
The stored solution is:
U
I
=
U
I
N
+
1
,
I
=
I
N
+
1
I
=
I
N
,
I
=
I
N
It is necessary to bring up to date the loading (which will be taken as loading of the pitch 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
CHCSTE
=
L
I
fixed
+
L
I
suiv
+
L
I
ther
U
I
fixed
The 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
who 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
op0070
to have these two objects.
5.8
Routine
merimo
It expresses the relation of behavior:
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
Data-processing manual of Description
D9.05 booklet: Index A
·
calculation of the stresses
I
N
(
SIGPLU
) and of the internal variables
I
N
(
VARPLU
) from
values
I
-
1
(
SIGMOI
) and
I
-
1
(
VARMOI
) with preceding balance (in
T
I
-
1
) and of the increment
of displacement
U
I
N
=
U
I
N
-
U
I
-
1
since this balance (
DEPDEL
);
·
calculation of the “nodal forces” (forces intern + reactions of support):
Q
I
N
+
B
T
I
N
(
VERESI
)
and of the reactions of support
B
T
I
N
(
VEDIRI
), that one assembles then;
·
possible calculation of the matrix of tangent stiffness:
K
I
N
(
MERIGI
).
For memory one gives here the sequence of the routines which, on the basis of
merimo
, the relation treats of
behavior
VMIS_ISOT_TRAC
for the isoparametric elements 2D:
·
merimo
: filling of the exit 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 stresses, variables internal, and derived from the stresses by report/ratio
with the deformations for the relation of behavior
VMIS_ISOT_TRAC
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
Data-processing manual of Description
D9.05 booklet: Index A
5.9
Routine
nmreso
It is reminded the meeting that:
L
I
cste
=
L
I
fixed
+
L
I
suiv
U
I
cste
=
U
I
fixed
With
=
K
-
L
suiv
U
B
T
B
0
C
=
P
0
(
)
In input of
nmreso
coming from
nmpred
:
In input of
nmreso
coming from
nmnewt
:
CHPILO
=
L
I
pilo
U
I
pilo
CHRESU
=
L
I
cste
+
L
I
ther
U
I
cste
MATASS
=
With
=
With
I
-
1
PILOT
C
=
C
I
-
1
DISPLEASED
=
U
I
-
1
CHPILO
=
L
I
pilo
U
I
pilo
CHRESU
=
L
I
cste
+
I
N
L
I
pilo
-
(Q
T
I
N
+
B
T
I
N
)
0
MATASS
=
With
=
With
I
N
PILOT
C
=
C
I
N
DISPLEASED
=
U
I
N
In
nmreso
: one solves [éq 1.4-1] or [éq 1.4-2]:
CHSOL1
=
With
-
1
.
CHPILO
CHSOL2
=
With
-
1
.
CHRESU
=
D (U)
RD
=
C
.
CHSOL1
RN
=
C
.
CHSOL2
DETA
=
I
N
+
1
=
BETA
-
-
RN
RD
CHRESU
=
U
I
0
I
0
or
U
I
N
+
1
I
N
+
1
=
DETA
.
CHSOL1
+
CHSOL2
ETA
=
I
N
+
1
=
I
N
+
I
N
+
1
=
ETA
+
DETA
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
Data-processing manual of Description
D9.05 booklet: Index A
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
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
run from time, that modifies the second member
U
D
and not the matrix
B
.
·
the thermal loading intervenes only by sound
(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 expansion factor
according to
temperature).
·
the 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
in fact the equivalent of only one is
VACHMP
: his address is taken
JTP
, and the values are
with the address of the 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
DISPLEASED
,
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 intermediate
routines
agglom
and
desagg
.
·
the processing of the contact consists in calling a routine
nmmico
afterwards
nmpred
and
nmnewt
, which
correct the field of displacement, and to add the forces of contact obtained (stored with
the address
JATMU
) with the nodal forces
CNRESI
and with 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 the object
DDEPLA
: it thus should be seized again by a call to
jeveuo
afterwards
nmpred
and
nmnewt
.
·
in the routines
nmxxx
all inevitably did not pass in argument: for example,
MEDIRI
in
nmacmv
is known by one
DATED
and used thus.
·
attention with the handling of
DATED
: 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
).
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
Data-processing manual of Description
D9.05 booklet: Index A
·
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 the 1
Er
, 3
ème
and 4
ème
. 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 the operator
THER_MECA_NOLI
, it
is also necessary to pay attention to avoid ambiguities between the thermal vectors (flow,
imposed temperatures…) and mechanical vectors.
·
routines
initiated
and
majour
refer 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…