background image
Code_Aster
®
Version
8.2
Titrate:
Operator
FACT_LDLT
Date:
31/01/06
Author (S):
J. PELLET
Key
:
U4.55.01-I1
Page
:
1/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-62/06/004/A
Organization (S):
EDF-R & D/AMA














Instruction manual
U4.5- booklet: Methods of resolution
Document: U4.55.01



Operator
FACT_LDLT



1 Goal
To factorize a matrix assembled in a product of two triangular matrices. This factorization
then allows to quickly solve the linear systems thanks to control RESO_LDLT.
This control is usable only for the matrices of which method of resolution (selected in
order NUME_DDL) is “LDLT”, “MULT_FRONT” or “MUMPS”.
Product (or modifies) a structure of data of the type matr_asse.
background image
Code_Aster
®
Version
8.2
Titrate:
Operator
FACT_LDLT
Date:
31/01/06
Author (S):
J. PELLET
Key
:
U4.55.01-I1
Page
:
2/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-62/06/004/A
2 Syntax

chechmate [matr_asse_ *] = FACT_LDLT
(
reuse = chechmate,
MATR_ASSE =
chechmate,
/
[matr_asse_DEPL_R]
/
[matr_asse_DEPL_C]
/
[matr_asse_TEMP_R]
/
[matr_asse_TEMP_C]
/
[matr_asse_PRES_R]
/
[matr_asse_PRES_C]

/
# If method LDLT or MULT_FRONT:
STOP_SINGULIER =/“YES”, [DEFECT]
/“NOT”,

NPREC =
/nprec
,
[I]
/
8
,
[DEFECT]
# If method LDLT:
PRE_COND
=/“WITHOUT”
, [DEFECT]
/
“DIAG”
,
/
BLOC_DEBUT =
data base
,
[I]
/
DDL_DEBUT = dd
,
[I]
/
BLOC_FIN = bf
,
[I]
/
DDL_FIN =
df
,
[I]

/
# If method MUMPS:
TYPE_RESOL
=
/
“CAR”
,
[DEFECT]
/“NONSYM”,
/“SYMDEF”,
/“SYMGEM”,
PCENT_PIVOT =
/
20
,
[DEFECT]
/
pcpiv
[R]
TITRATE =
titrate
,
[l_K80]

INFORMATION =
/1
,
[DEFECT]
/
2
,

)



if
MATR_ASSE:
[matr_asse_DEPL_R]
then
[*]
- >
DEPL_R
[matr_asse_DEPL_C]
DEPL_C
[matr_asse_TEMP_R]
TEMP_R
[matr_asse_TEMP_C]
TEMP_C
[matr_asse_PRES_R]
PRES_R
[matr_asse_PRES_C]
PRES_C
background image
Code_Aster
®
Version
8.2
Titrate:
Operator
FACT_LDLT
Date:
31/01/06
Author (S):
J. PELLET
Key
:
U4.55.01-I1
Page
:
3/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-62/06/004/A
3 Operands
The choice of the method of resolution is made as a preliminary in control NUME_DDL (key word
METHOD).
Three methods are possible: “LDLT”, “MULT_FRONT” and “MUMPS”.
·
for method “LDLT”, if the user uses a réentrant concept:
subdued = FACT_LDLT (reuse = subdued, MATR_ASSE = subdued)
it “crushes” its initial matrix. It will not be able to thus make combination of matrices any more or of
product stamps X vector,
·
for methods “MULT_FRONT” and “MUMPS”, the factorized matrix is stored elsewhere.
For these method, it is thus strongly recommended to use a réentrant concept; that
avoid duplicating the initial matrix.
·
for method “MUMPS”, the factorized matrix is stored only in memory. When the “job”
finishes, factorized is lost. It is thus necessary Re-to factorize the matrices with each
CONTINUATION.

3.1 Operand
MATR_ASSE
MATR_ASSE = chechmate
Name of the matrix assembled to factorize. This matrix can be real or complex, symmetrical
or not.

3.2 Operands
STOP_SINGULIER
,
NPREC
,
TYPE_RESOL
and
PCENT_PIVOT
These key words are described in [U4.50.01].

3.3 Operand
TITRATE
TITRATE = title
Titrate that one wants to give to the result [U4.02.01].
3.4 Operand
INFORMATION
INFORMATION =
1
: no impression
3.5 Operand
PRE_COND
The effect of this key word is “to standardize” the matrix before its factorization. The author of this document
in forever considering the interest!
PRE_COND =
Type of prepacking.
“WITHOUT”
:
no prepacking (defect).
“DIAG”
:
prepacking by the diagonal. Lines having a diagonal term no one,
are not treated.
background image
Code_Aster
®
Version
8.2
Titrate:
Operator
FACT_LDLT
Date:
31/01/06
Author (S):
J. PELLET
Key
:
U4.55.01-I1
Page
:
4/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-62/06/004/A
3.6
Partial factorization (method LDLT)
For method “LDLT”, the operator allows to factorize only partially the matrix. This
possibility is “historical”. It makes it possible to factorize the matrix in several “times” (several work).
Today, the interest of this functionality is not imagined well.
/BLOC_DEBUT = data base
data base
: partial factorization since
data base
- ième
block included.
/
DDL_DEBUT = dd
dd:
partial factorization since
dd
- ième
equation included (in established internal classification
by the operator
NUME_DDL
[U4.61.11]).
/
BLOC_FIN = bf
bf:
partial factorization until
bf
- ième
block included.
/
DDL_FIN = df
df:
partial factorization until
df
- ième
equation included (in internal classification
established by the operator
NUME_DDL
[U4.61.11]).
The operator carries out the following checks:
·
if the name of the produced concept corresponds to a new concept, factorization is
out-place: it is checked that factorization begins well with the first degree of freedom.
·
if the argument
df
is negative or higher than the command of the matrix, then the aforementioned will be factorized
until the end. If not, one carries out a partial factorization (of the 1ère equation) until
df
- ième
equation included.
BLOC_DEBUT
and
DDL_DEBUT
·
in the absence of key words
BLOC_DEBUT
and
DDL_DEBUT
, the matrix will be factorized to leave
of its first line.
·
if the argument
data base
key word
BLOC_DEBUT
is negative or null, the matrix will be factorized with
to leave the first block. If not, one carries out a partial factorization from
data base
- ième
block
included.
·
if the argument
dd
key word
DDL_DEBUT
is negative or null, the matrix will be factorized to leave
first equation. If not, one carries out a partial factorization from
dd
- ième
equation included.
background image
Code_Aster
®
Version
8.2
Titrate:
Operator
FACT_LDLT
Date:
31/01/06
Author (S):
J. PELLET
Key
:
U4.55.01-I1
Page
:
5/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-62/06/004/A
bf
1
data base
data base
bf
end
dd
dd
df
df
1
End


4 Example
4.1
Method LDLT except place
naked = NUME_DDL (MATR_RIGI = kel,
METHOD = “LDLT”)
K = ASSE_MATRICE (MATR_ELEM = kel,
NUME_DDL = naked)
k2 = FACT_LDLT (MATR_ASSE = K)
U = RESO_LDLT (MATR_FACT = K2,
CHAM_NO = F)
4.2
Method LDLT in place
naked = NUME_DDL (MATR_RIGI = kel,
METHOD = “LDLT”)
K = ASSE_MATRICE (MATR_ELEM = kel,
NUME_DDL = naked)
K = FACT_LDLT (reuse = K, MATR_ASSE = K)
U = RESO_LDLT (MATR_FACT = K,
CHAM_NO = F)
4.3 Method
multi-frontal
naked = NUME_DDL (MATR_RIGI = kel,
METHOD = “MULT_FRONT”)
K = ASSE_MATRICE (MATR_ELEM = kel,
NUME_DDL = naked)
K = FACT_LDLT (reuse = K, MATR_ASSE = K)
U = RESO_LDLT (MATR_FACT = K,
CHAM_NO = F)
background image
Code_Aster
®
Version
8.2
Titrate:
Operator
FACT_LDLT
Date:
31/01/06
Author (S):
J. PELLET
Key
:
U4.55.01-I1
Page
:
6/6
Instruction manual
U4.5- booklet: Methods of resolution
HT-62/06/004/A


























Intentionally white left page.