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
Organization (S): EDF-R & D/AMA
Handbook of Utilization
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 *.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-66/05/004/A
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
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]
REPRISE
=
/“OUI”
,
/
“NON”
,
[DEFAUT]
RESI_RELA
=
/
1.E-6
,
[DEFAUT]
/
resi,
[R]
NMAX_ITER
=
/
niter
,
[I]
/
0
,
[DEFAUT]
INFO
=
/1,
/2,
)
If CHAM_NO:
[cham_no_DEPL_R]
then (*)
DEPL_R
[cham_no_TEMP_R]
TEMP_R
[cham_no_PRES_R]
PRES_R
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-66/05/004/A
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
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 the 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 command
AFFE_CHAR_CINE (_F). This cham_no comes from the execution of operator CALC_CHAR_CINE
on the list of the CHAR_CINE (kinematic loading) associated assembled matrix A.
Cf [U4.61.03].
3.4 Operand
MATR_FACT
MATR_FACT
= precond
Stamp prepacking, obtained by operator FACT_GRAD [U4.55.03].
prepacking is necessary to obtain a good convergence in a minimum
iterations.
3.5 Operand
REPRISE
REPRISE
=
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 REPRISE = “NON”
X (0) = S
the cham_no solution “if REPRISE = “OUI”; in this case, it is necessary
to indicate reuse = S.
The default value is “NON”.
3.6 Operand
RESI_RELA
RESI_RELA
=
Criterion of convergence of the algorithm; it is a relative criterion on the residue:
rm resi
B
rm is the residue with the iteration m
B
is the second member and the euclidian norm.
The default value is 1.E-6.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-66/05/004/A
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
3.7 Operand
NMAX_ITER
NMAX_ITER
= niter
Maximum iteration count of the algorithm.
If NITER = the 0 then number maximum 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
INFO
INFO
=
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.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-66/05/004/A
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
4
Algorithm of the gradient combined by LDLT
Are:
A: the matrix of the system to be reversed,
C: the matrix of prepacking, where D = diag (A),
b: the vector second member of the system.
4.1 Initialization
()
X O = null vector
if REPRISE: “NON”
cham_no produced
if REPRISE: “OUI”
(O)
(O)
R
= Ax
- B
0 = 0.
4.2
Body of the algorithm
rm
For m = 0 with niter and as long as
resi to make
B
~ (m)
(m)
that is to say to solve Cr
= R
where C
LDLT
=
incomplete,
~ (m)
(m)
that is to say to solve Dr.
=r
where D = diag (A)
(m) ~ (m)
m = (R, R)
(0)
~ (0)
if m = 0 p
= R
(m)
(m)
m
(m -
~
) 1
if m > 0 p
= R
+
p
M-1
(m)
(m)
(R, p)
()
m =
(
m)
(m)
(p, A. p)
(m+) 1
(m)
(m)
(m)
X
= X
-
p
reiterated m + 1
(m+) 1
(m)
(m)
(m)
R
= R
-
Ap
residue m + 1
End for m
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-66/05/004/A
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
5 Example
of use
naked
= NUME_DDL (MATR_RIGI= mel, METHODE= “GCPC”, RENUM= “SANS”,)
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 - Data 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].
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-66/05/004/A
Outline document