Code_Aster ®
Version
8.2
Titrate:
Operator FACT_LDLT


Date:
31/01/06
Author (S):
J. Key PELLET
:
U4.55.01-I1 Page
: 1/6

Organization (S): EDF-R & D/AMA

Handbook of Utilization
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 command RESO_LDLT.

This command 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.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-62/06/004/A

Code_Aster ®
Version
8.2
Titrate:
Operator FACT_LDLT


Date:
31/01/06
Author (S):
J. Key PELLET
:
U4.55.01-I1 Page
: 2/6

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]













/“NON”,







NPREC =
/nprec,




[I]
/
8
,
[DEFAUT]






# If method LDLT:








PRE_COND
=/“SANS”
, [DEFAUT]
/
“DIAG”
,








/
BLOC_DEBUT =
data base,



[I]








/
DDL_DEBUT = dd,



[I]








/
BLOC_FIN = bf,



[I]








/
DDL_FIN =
df,



[I]






/# If method MUMPS:







TYPE_RESOL
=
/
“AUTO”
,
[DEFAUT]












/“NONSYM”,












/“SYMDEF”,












/“SYMGEM”,







PCENT_PIVOT =
/
20
,
[DEFAUT]
/
pcpiv
[R]







TITER =
titrate,






[l_K80]







INFO =
/1
,






[DEFAUT]









/
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

Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-62/06/004/A

Code_Aster ®
Version
8.2
Titrate:
Operator FACT_LDLT


Date:
31/01/06
Author (S):
J. Key PELLET
:
U4.55.01-I1 Page
: 3/6

3 Operands

The choice of the method of resolution is made as a preliminary in command NUME_DDL (key word
METHODE).

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
POURSUITE.

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
TITER

TITER = title

Titrate that one wants to give to the result [U4.02.01].

3.4 Operand
INFO


INFO =

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.

“SANS”:
no prepacking (defect).
“DIAG”:
prepacking by the diagonal. Lines having a diagonal term no one,
are not treated.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-62/06/004/A

Code_Aster ®
Version
8.2
Titrate:
Operator FACT_LDLT


Date:
31/01/06
Author (S):
J. Key PELLET
:
U4.55.01-I1 Page
: 4/6

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

- ième
data base: partial factorization since the data base
block included.


/DDL_DEBUT = dd

- ième
dd: partial factorization since the dd
equation included (in established internal classification
by operator NUME_DDL [U4.61.11]).

/BLOC_FIN = bf

- ième
bf: partial factorization until the bf
block included.


/DDL_FIN = df

- ième
df: partial factorization until the df
equation included (in internal classification
established by 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 this one will be factorized
until the end. If not, one carries out a partial factorization (of the 1ère equation) until
- ième
df
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 argument data base of 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 starting from the data base-ième block
included.
·
if the argument dd of 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.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-62/06/004/A

Code_Aster ®
Version
8.2
Titrate:
Operator FACT_LDLT


Date:
31/01/06
Author (S):
J. Key PELLET
:
U4.55.01-I1 Page
: 5/6

1
bf
data base
end
data base
bf
dd
df
1
df
dd
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)

Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-62/06/004/A

Code_Aster ®
Version
8.2
Titrate:
Operator FACT_LDLT


Date:
31/01/06
Author (S):
J. Key PELLET
:
U4.55.01-I1 Page
: 6/6

Intentionally white left page.
Handbook of Utilization
U4.5- booklet: Methods of resolution
HT-62/06/004/A

Outline document