Code_Aster ®
Version
6.2
Titrate:
Note of use of the boundary conditions treated by elimination
Date:
22/01/02
Author (S):
J. Key PELLET
:
U2.01.02-A Page
: 1/6

Organization (S): EDF/AMA
Handbook of Utilization
U2.01 booklet: General concepts
Document: U2.01.02

Note of use of the boundary conditions
treated by elimination

Summary

The processing of the boundary conditions of the type Dirichlet value of ddl imposed by elimination does not offer
even flexibility that by dualisation. This processing is to be used when one seeks to improve times
of execution of a calculation (although at present, the gain is not guaranteed) or if one wishes to use
positive definite matrices of rigidity.

Let us note that all types of boundary conditions available in AFFE_CHAR_ *
(* = meca/ther/acou) cannot be eliminated and treated by AFFE_CHAR_CINE.
Handbook of Utilization
U2.01 booklet: General concepts
HT-66/02/003/A

Code_Aster ®
Version
6.2
Titrate:
Note of use of the boundary conditions treated by elimination
Date:
22/01/02
Author (S):
J. Key PELLET
:
U2.01.02-A Page
: 2/6

1
Principle of elimination used

One seeks to solve in RN the problem of minimization under constraint (Pb1) according to:

Min 1 C Ku - C F with: U = U RN, U
= U
G
0
2


G

U UG

where

·
uo RP is known (1pn)
·
G is the subset of NR = {1,…,}
N, of cardinal p: G = G
G
1…
p
·
uIG is the projection of U on under space generated by ui iG
·
where (ui) J = ij jN
·
K is a symmetrical matrix N X N,
·
F RN is fixed.

The constraint uI = U
G
0 or not represent boundary conditions of the homogeneous Dirichlet type.

If one notes L = C G,
NR
the complementary one to G in NR, one can, using the previously definite ui,
U
to break up RN all in all direct of VG = vector space generated by I iG and of VL = space
vectorial generated by U
I
it;

Consequently, we have RN = VG VL
and one notes U = uG uL where uG = uI and U
G
L = uIL
uG
that is to say still in vectorial notation U = uL

The problem (Pb1) can thus be written in the form of the problem (Pb2):

Min 1 C K U + 1 C K U + C K U - C F - C F
G
GG
G
L
L
L
L
LG
G
L
L
G
G
2
2
U V
G
G

U V
L
L
U = U
G
0


What amounts writing (by supposing that K is definite positive)
GG

Min 1 C K U + C K U - C F
L
L
L
L
LG
0
L
L
2
(Pb1) (Pb3) U V
L
L
U = U U
0
1


One then eliminated U from the problem of minimization.
G
Handbook of Utilization
U2.01 booklet: General concepts
HT-66/02/003/A

Code_Aster ®
Version
6.2
Titrate:
Note of use of the boundary conditions treated by elimination
Date:
22/01/02
Author (S):
J. Key PELLET
:
U2.01.02-A Page
: 3/6

We now will seek the matric problem associated with (Pb3).

One seeks U minimizing
L

1 C K U + C K U - C F
L
L
L
L
LG
0
L
L
2


what amounts solving the following matric problem:

K U = F - K U
L
L
L
LG
0

One can thus write:

uL
K
0
F
- K U
(Pb1)
U
L
LG
0
U
(Pb2) (Pb3)
L

L =
, that is to say K' G =

f'
0
I
uG
U
G
0



2 Processing
in
Aster

2.1
The loads kinematics

A kinematic load (standard Aster: char_cine_ * [* = meca/ther/acou]) makes it possible to characterize
the unit G of the imposed ddl and them (u0) I for I G which are the values assigned to these ddl.

The definition of a kinematic load is done via operator AFFE_CHAR_CINE for
(u0) I constant or functions of the geometry or time.

2.2
The vectors kinematics
0
The vectors kinematics are cham_no_ * which represent the vectors u0 stored in
the command of classification under unclaimed to the problem.

With each kinematic load corresponds a kinematic vector.

This operation is carried out by operator CALC_CHAR_CINE.

2.3
Calculation of K'

K' is directly calculated at the assembly time by operator ASSE_MATRICE provided
naturally that one provides in argument a list of loads kinematics.

The structure of data MATR_ASSE_ * was modified in order to be able to store K' when that is
necessary.

2.4
Calculation of f'

Operator FACT_LDLT not being modified, the concept of the produced matr_asse_ type *, contains
factorized of K' and the unchanged matrix K.
LG

The calculation of f' is carried out at the time of the resolution: it is necessary to provide to operator RESO_LDLT in
0
argument the kinematic vector corresponding to u0 via key word CHAM_CINE.

uL
This operator then calculates f' before solving fact (K') uG = f'.
Handbook of Utilization
U2.01 booklet: General concepts
HT-66/02/003/A

Code_Aster ®
Version
6.2
Titrate:
Note of use of the boundary conditions treated by elimination
Date:
22/01/02
Author (S):
J. Key PELLET
:
U2.01.02-A Page
: 4/6

3
Examples of command files

3.1 In
using
FACT_LDLT and RESO_LDLT:

BEGINNING (CODE:(NOM:“SSLV101AC”) CALCUL: “GROS”);

MA =LIRE_MAILLAGE ();

MO =AFFE_MODELE (GRID: MA,
AFFE: (TOUT: “YES”, PHENOMENON: “MECANIQUE”,
MODELISATION: “3D”));

CHECHMATE =DEFI_MATERIAU (ELAS: (E: 202702.7, NAKED: 0.3)
THER: (LAMBDA: 2.7 CP: 0.3));

CHMAT =AFFE_MATERIAU (GRID: MA,
AFFE: (TOUT: “YES”, MATER: MAT));
%
============================================================================
CHCINE = AFFE_CHAR_CINE (MODEL: MO
MECA_IMPO:(GROUP_NO: GRNO7, DX: 0.0, DY: 0.01)
(GROUP_NO: GRNO1, DZ: 0.0)
(GROUP_NO: GRNO8, DY: 0.0));
%
============================================================================
MEL =CALC_MATR_ELEM (MODEL: MO CHAM_MATER: CHMAT OPTION: “RIGI_MECA”);

NAKED = NUME_DDL (MATR_RIGI: MEL);

MATASS = ASSE_MATRICE (MATR_ELEM: MEL, NUME_DDL: NAKED
CHAR_CINE: CHCINE);

VECASS = AFFE_CHAM_NO (GRID: MA SIZE: “DEPL_R”
NUME_DDL: NAKED
AFFE: (TOUT: “OUI”,
NOM_CMP:(“DX”, “DY”, “DZ”)
VALE_R:(0. , 0. , 0. )) );
%
============================================================================
VCINE = CALC_CHAR_CINE (NUME_DDL: NAKED CHAR_CINE: CHCINE);
%
============================================================================
&MATASS = FACT_LDLT (MATR_ASSE: MATASS);

&VECASS = RESO_LDLT (MATR_FACT: MATASS CHAM_NO: VECASS CHAM_CINE: VCINE);

IMPR_RESU (MODEL: MO
RESU: (FICHIER:“RESULTAT”
CHAM_GD: VECASS));
FIN ();

Handbook of Utilization
U2.01 booklet: General concepts
HT-66/02/003/A

Code_Aster ®
Version
6.2
Titrate:
Note of use of the boundary conditions treated by elimination
Date:
22/01/02
Author (S):
J. Key PELLET
:
U2.01.02-A Page
: 5/6

3.2 In
using
MECA_STATIQUE

DEBUT (code: (NOM:“SSLX100A”));

my = LIRE_MAILLAGE ();

Mo = AFFE_MODELE (Maillage:my,
Affe:(Mesh:HE1,
Phenomenon:“MECHANICAL”, Modeling:“3D”)
(Group_ma:GRMA1,
Phenomenon:“MECHANICAL”, Modeling:“DKT”)
(Group_ma:GRMA2,
Phenomenon:“MECHANICAL”, Modeling:“POU_D_E”));

chechmate = DEFI_MATERIAU (Elas:(E:2.E5 Naked:0.3 Alpha:0.));

chma = AFFE_MATERIAU (Maillage:my Affe:(All:“YES” MATER:chechmate));

= AFFE_CARA_ELEM (Modele will cara:Mo,
Hull:(Group_ma:GRMA1, Epais:1.)
Beam:(Group_ma:GRMA2,
Section:“RECTANGLE”,
CARA:(“HZ”, “HY”), VALE:(3., 1.)));

chci = AFFE_CHAR_cine (Modele:Mo,
meca_impo:(Group_no:GRNO1 Dx:0. Dy:0. Dz:0.)
(Node:(N10, N11, N26, N23) Dz:0.) );
chme = AFFE_CHAR_MECA (Modele:Mo,
Liaison_ddl:
(Node:(N4, N21)
Ddl:(“DX”, “DX”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N4, N21)
Ddl:(“DY”, “DY”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N4, N21)
Ddl:(“DZ”, “DZ”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N16, N25)
Ddl:(“DX”, “DX”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N16, N25)
Ddl:(“DY”, “DY”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N16, N25), Ddl:(“DZ”, “DZ”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N5, N21)
Ddl:(“DX”, “DRZ”)
Coef_mult:(1., 0.5)
Coef_impo:0.)
(Node:(N17, N25)
Ddl:(“DX”, “DRZ”)
Coef_mult:(1., 0.5)
Coef_impo:0.)
(Node:(N11, N26)
Ddl:(“DX”, “DRZ”)
Coef_mult:(1., 0.5)
Coef_impo:0.)
(Node:(N3, N21)
Ddl:(“DX”, “DRZ”)
Coef_mult:(1., - 0.5)
Coef_impo:0.)
(Node:(N15, N25)
Ddl:(“DX”, “DRZ”)
Coef_mult:(1., - 0.5)
Coef_impo:0.)
(Node:(N10, N26)
Ddl:(“DX”, “DRZ”)
Coef_mult:(1., - 0.5)
Coef_impo:0.)
(Node:(N22, N23)
Ddl:(“DRZ”, “DRZ”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
(Node:(N23, N24)
Ddl:(“DRZ”, “DRZ”)
Coef_mult:(1., - 1.)
Coef_impo:0.)
Force_nodale:(Node:N29, Fy:- 1.)
Impr:0);
Handbook of Utilization
U2.01 booklet: General concepts
HT-66/02/003/A

Code_Aster ®
Version
6.2
Titrate:
Note of use of the boundary conditions treated by elimination
Date:
22/01/02
Author (S):
J. Key PELLET
:
U2.01.02-A Page
: 6/6


EPD = MECA_STATIQUE (Modele:Mo
Cham_mater: chma
Cara_elem: will cara
EXCIT: (Load: chme)
EXCIT: (Load: chci));
&dep = CALC_ELEM (Model:Mo
Result:EPD
Cham_mater: chma
Option:“EFGE_ELNO_DEPL”
Cara_elem: will cara
Tout_ordre:“OUI”);

&dep = CALC_ELEM (Model:Mo
Result:EPD
Cham_mater: chma
Option:“SIGM_ELNO_DEPL”
Cara_elem: will cara
Tout_ordre:“OUI”);

dep1 = RECU_CHAMP (Result: EPD Nom_cham: “DEPL” NUME_ORDRE:1);

IMPR_RESU (Model:Mo Resu:(Result:EPD));

FIN ();


Handbook of Utilization
U2.01 booklet: General concepts
HT-66/02/003/A

Outline document