Code_Aster
®
Version
7.4
Titrate:
Operator
RESO_GRAD
Date:
15/02/05
Author (S):
X. DESROCHES
Key
:
U4.55.04-G
Page
:
1/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
Organization (S):
EDF-R & D/AMA
Instruction manual
U4.5- booklet: Methods of resolution
Document: U4.55.04
Operator
RESO_GRAD
1 Goal
To solve a linear system by the method of the pre-contionné combined gradient.
prepacking is obtained before by operator FACT_GRAD [U4.55.03] and is necessary
to obtain a satisfactory convergence in a minimum of iterations.
Operator sometimes réentrant (if one takes again a solution already obtained by RESO_GRAD).
Product a structure of data of the cham_no_ type *.
Code_Aster
®
Version
7.4
Titrate:
Operator
RESO_GRAD
Date:
15/02/05
Author (S):
X. DESROCHES
Key
:
U4.55.04-G
Page
:
2/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
2 Syntax
S [cham_no_ *] = RESO_GRAD
(
reuse
= S,
MATR_ASSE
=
With,
/
[matr_asse_DEPL_R]
/
[matr_asse_TEMP_R]
/
[matr_asse_PRES_R]
CHAM_NO
=
B,
/
[cham_no_DEPL_R]
/
[cham_no_TEMP_R]
/
[cham_no_PRES_R]
CHAM_CINE
=
vcine,
/
[cham_no_DEPL_R]
/
[cham_no_TEMP_R]
/
[cham_no_PRES_R]
MATR_FACT
=
precond,
/
[matr_asse_DEPL_R]
/
[matr_asse_TEMP_R]
/
[matr_asse_PRES_R]
RECOVERY
=
/“YES”
,
/
“NOT”
,
[DEFECT]
RESI_RELA
=
/
1.E-6
,
[DEFECT]
/
resi,
[R]
NMAX_ITER
=
/
niter
,
[I]
/
0
,
[DEFECT]
INFORMATION
=
/1,
/2,
)
If
CHAM_NO:
[cham_no_DEPL_R]
then (*)
DEPL_R
[cham_no_TEMP_R]
TEMP_R
[cham_no_PRES_R]
PRES_R
Code_Aster
®
Version
7.4
Titrate:
Operator
RESO_GRAD
Date:
15/02/05
Author (S):
X. DESROCHES
Key
:
U4.55.04-G
Page
:
3/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
3 Operands
3.1 Operand
MATR_ASSE
MATR_ASSE
= A
Name of the matrix assembled of the system to solve.
3.2 Operand
CHAM_NO
CHAM_NO
=
B
Name of
cham_no
second member of the system.
3.3 Operand
CHAM_CINE
CHAM_CINE
= vcine
Name of the vector representing the “value” of the conditions limit of degree of freedom type imposed
translated in the form of kinematic loading (i.e. by the use of the control
AFFE_CHAR_CINE (
_
F)
. It
cham_no
comes from the execution of the operator
CALC_CHAR_CINE
on the list of
CHAR_CINE
(kinematic loading) associated the assembled matrix
With
.
Cf [U4.61.03].
3.4 Operand
MATR_FACT
MATR_FACT
= precond
Stamp prepacking, obtained by the operator
FACT_GRAD
[U4.55.03].
prepacking is necessary to obtain a good convergence in a minimum
iterations.
3.5 Operand
RECOVERY
RECOVERY
=
Indicate if one is or not in resumption of a preceding calculation which would not have converged
sufficient:
calculation is initialized by:
X
()
0
0
=
null vector if
RECOVERY
=
“NOT”
X
S
()
0
=
cham_no
solution
“
if
RECOVERY
=
“YES”
; in this case, it is necessary
to indicate reuse = S.
The default value is
“NOT”
.
3.6 Operand
RESI_RELA
RESI_RELA
=
Criterion of convergence of the algorithm; it is a relative criterion on the residue:
R
B
resi
m
R
m
is the residue with the iteration
m
B
is the second member and
the euclidian norm.
The default value is 1.E-6.
Code_Aster
®
Version
7.4
Titrate:
Operator
RESO_GRAD
Date:
15/02/05
Author (S):
X. DESROCHES
Key
:
U4.55.04-G
Page
:
4/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
3.7 Operand
NMAX_ITER
NMAX_ITER
= niter
Maximum iteration count of the algorithm.
If
NITER
=
0
then the maximum number of iterations is calculated as follows:
niter
=
nequ/2
where
nequ
is the number of equations of the system.
The default value is 0.
3.8 Operand
INFORMATION
INFORMATION
=
Parameter of impression:
1
= nothing,
2
= one prints the n° iteration to which one reached the criterion of
convergence and the standard of the residue with a message of convergence.
Code_Aster
®
Version
7.4
Titrate:
Operator
RESO_GRAD
Date:
15/02/05
Author (S):
X. DESROCHES
Key
:
U4.55.04-G
Page
:
5/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
4
Algorithm of the gradient combined by LDL
T
Are:
With
: the matrix of the system to be reversed,
C
: the matrix of prepacking, where D = diag (
With
),
B
: the vector second member of the system.
4.1 Initialization
()
X
O
=
null vector
if
RECOVERY: “NOT”
cham_no
product
if
RECOVERY: “YES”
()
()
R
Ax
B
O
O
=
-
0
0
=.
4.2
Body of the algorithm
For
m
= 0
with
niter
and as long as
R
B
resi
m
to make
that is to say to solve
()
()
Cr
R
m
m
~
=
where
C
LDL
T
=
incomplete,
that is to say to solve
()
()
m
m
R
R
D
=
~
where
()
With
diag
D
=
()
()
(
)
m
m
m
R
R
=
, ~
if
m
= 0
()
()
p
R
0
0
= ~
if
m
> 0
()
()
(
)
p
R
p
m
m
m
m
m
=
+
-
-
~
1
1
()
()
()
(
)
()
()
(
)
m
m
m
m
m
R
p
p
With p
=
,
.
(
)
()
()
()
X
X
p
m
m
m
m
+
=
-
1
reiterated
m
+ 1
(
)
()
()
()
R
R
Ap
m
m
m
m
+
=
-
1
residue
m
+ 1
End for
m
Code_Aster
®
Version
7.4
Titrate:
Operator
RESO_GRAD
Date:
15/02/05
Author (S):
X. DESROCHES
Key
:
U4.55.04-G
Page
:
6/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
5 Example
of use
naked
= NUME_DDL (MATR_RIGI= mel, METHODE= “GCPC”, RENUM= “WITHOUT”,)
subdued = ASSE_MATRICE (MATR_ELEM= mel, naked NUME_DDL=
)
vecas = ASSE_VECTEUR (VECT_ELEM= vel, naked NUME_DDL=
)
kmatas
= FACT_GRAD
(MATR_ASSE=
subdued
)
EPD
= RESO_GRAD
(CHAM_NO = vecas, MATR_ASSE=
subdued,
MATR_FACT=
kmatas,
NMAX_ITER=
1000
,
RESI_RELA=
1e-07
)
6 Bibliography
[1]
Steam Generator PAOLINI & G. RADICATI di BROZOLO - Dated structures to vectorize C.G algorithms for
general sparsity patterns, Bit 29, p 617-718 (1989).
[2]
J.P. GREGOIRE: Establishment and optimization of the algorithm of the combined gradient
[R6.01.02].