background image
Code_Aster
®
Version
7.4
Titrate:
Operator
FACT_GRAD
Date:
31/01/05
Author (S):
X. DESROCHES
Key
:
U4.55.03-G
Page
:
1/4
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.03



Operator
FACT_GRAD








1 Goal
To build a matrix of prepacking for a resolution by combined gradient. This
matrix makes it possible to accelerate the convergence of the algorithm of the gradient combined (operator
RESO_GRAD [U4.55.04]). This operator applies only to real and symmetrical matrices.
Product a structure of data of the matr_asse_ type *.
background image
Code_Aster
®
Version
7.4
Titrate:
Operator
FACT_GRAD
Date:
31/01/05
Author (S):
X. DESROCHES
Key
:
U4.55.03-G
Page
:
2/4
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
2 Syntax

matfac [matr_asse_ *] = FACT_GRAD
(
MATR_ASSE
= chechmate
,
/
[matr_asse_DEPL_R]
/
[matr_asse_TEMP_R]
/
[matr_asse_PRES_R]
PRE_COND
= “LDLT_INC”
,
[DEFECT]
NIVE_REMPLISSAGE
=
/
0,
[DEFECT]
/
N,
[I]
INFORMATION
=
/
1,
[DEFECT]
/2,
);











if
MATR_ASSE: [matr_asse_DEPL_R]
then
[*]
- > DEPL_R
[matr_asse_TEMP_R]
[*]
- > TEMP_R
[matr_asse_PRES_R]
[*]
- > PRES_R
background image
Code_Aster
®
Version
7.4
Titrate:
Operator
FACT_GRAD
Date:
31/01/05
Author (S):
X. DESROCHES
Key
:
U4.55.03-G
Page
:
3/4
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
3 Operands
3.1 Operand
MATR_ASSE
MATR_ASSE
=
Name of the real and symmetrical matrix which one wants préconditionner.
3.2 Operand
PRE_COND
PRE_COND =
Method of prepacking:
“LDLT_INC”:
the matrix of prepacking is obtained by a decomposition LDL
T
incomplete of the assembled matrix.
This decomposition is more or less complete, according to the level of
filling. The matrix result
matfac
is of type
matr_asse
.
3.3 Operand
NIVE_REMPLISSAGE
NIVE_REMPLISSAGE
=/0
/N
The matrix of prepacking (P) used to accelerate the convergence of the gradient
combined by factorizing in a more or less complete way the initial matrix (A) is obtained.
If niv = 0 (defect)
P has same storage that A. factorization is incomplete because one does not use for calculations
that the terms which one can store in P.
P thus represents an approximation (poor) of A
­ 1
; its storage is weak.
If niv = 1
One stores in P in addition to the terms which had their place in initial storage, them
“downward” of first generation of the initial terms. Indeed during factorization, one
null term in A can become nonnull in P. One obtains thus the filling of level 1.
If niv = 2,…
The same process is taken again: the matrix P filled on the level niv-1 creates the terms of
stamp P on the level niv.
The larger niv is, the more the matrix P is close to A
­ 1
and thus more the combined gradient
converge quickly (in iteration count).
On the other hand, more niv is the great more storage of P becomes bulky (in memory and on
disc) and more the iterations are expensive in CPU.
The first tests showed (roughly) that the size of P was worth:
·
3,5 * size (A) for niv = 1
·
7,5 * size (A) for niv = 2
Our experiment of this key word is still limited and we advise to use the value by
defect (niv = 0).
If niv = 0 does not allow the gradient combined to converge, one will test successively them
values niv = 1, 2, 3.
background image
Code_Aster
®
Version
7.4
Titrate:
Operator
FACT_GRAD
Date:
31/01/05
Author (S):
X. DESROCHES
Key
:
U4.55.03-G
Page
:
4/4
Instruction manual
U4.5- booklet: Methods of resolution
HT-66/05/004/A
3.4 Operand
INFORMATION
INFORMATION
=
1:
no impression,
2:
this option is reserved for the developers. Intermediate impressions on the file
message.


4 Example
of use
naked
= NUME_DDL (MATR_RIGI= mel, METHODE= “GCPC”);
subdued = ASSE_MATRICE (MATR_ELEM= mel, naked NUME_DDL=
);
kmatas = FACT_GRAD
(MATR_ASSE= subdued);