Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
1/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
Organization (S):
EDF-R & D/AMA
Instruction manual
U4.2- booklet: Mesh
Document: U4.23.01
Operator
DEFI_MAILLAGE
1 Goal
To define a mesh using macronutrients for calculations of static under-structuring.
This control makes it possible to define a new mesh starting from macronutrients produced by
the operator
MACR_ELEM_STAT
[U4.62.01]. This new mesh (containing only the supports
geometrical of the macronutrients) can then “be assembled” with another mesh (containing by
example of the “conventional” meshs thanks to the control
ASSE_MAILLAGE
[U4.23.03] and the clean option
with the under-structuring.
Product a structure of data of the mesh type.
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
2/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
2 Syntax
my (mesh) = DEFI_MAILLAGE
(
DEFI_MAILLE
=
(_F (
MACR_ELEM_STAT
=
l_se
,
[l_macr_elem_stat]
NET
=
l_mail
,
[l_maille]
|
TRAN
=/(X, y), or (X, y, Z), [l_R]
/
(0., 0.)
or
(0., 0., 0.),
[DEFECT]
|
ANGL_NAUT
=/(
),
or (
,
,
),
[l_R]
/
(0.),
or
(0., 0., 0.), [DEFECT]
CENTER
=/(px, py)
or
(px, py, pz),
[l_R]
/
(0., 0.),
or
(0., 0., 0.),
[DEFECT]
),),
| RECO_GLOBAL =
(_F
(
/
ALL = “YES”
,
/
NET
=
l_maille
,
[l_maille]
| CRITERION =/“ABSOLUTE”,
/
“RELATIVE”
,
[DEFECT]
|
PRECISION
=
/
prec,
[R]
/
1.D-3
,
[DEFECT]
),),
|
RECO_MAILLE
=
(_F (
NET
=
l_mail
,
[l_maille]
GROUP_NO
=
l_gno
,
[l_group_no]
/OPTION
= “GEOMETRICAL”
,
[DEFECT]
| CRITERION =/“ABSOLUTE”,
/
“RELATIVE”
,
[DEFECT]
|
PRECISION
=
/
prec,
[R]
/
1.D-3
,
[DEFECT]
/
OPTION
=
“NOEUD_A_NOEUD”
,
/
OPTION
=
“OPPOSITE”
,
),),
DEFI_NOEUD
=
_F
(
/
ALL =
“YES”,
PREFIXES
=
pref,
[KN]
INDEX
=
(DM, Fm, DNN, fn),
[l_I]
/
NOEUD_FIN
=
no_fin
,
[node]
NET =
mall,
[mesh]
NOEUD_INIT
=
no_ini
,
[node]
),),
DEFI_GROUP_NO = _F (
/
/ALL =
“YES”,
/
NET
=
mall,
[mesh]
PREFIXES
=
pref,
[KN]
INDEX =
(DM, Fm, DNN, fn),
[l_I]
/
GROUP_NO_FIN
=
gno_fin,
[group_no]
NET
=
mall,
[mesh]
GROUP_NO_INIT=
gno_ini,
[group_no]
),),
)
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
3/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
3 General information
In the documentation of this control, one will speak about:
·
macronutrient: object of the type
macr_elem_stat
[U4.62.01],
·
super-mesh: geometrical entity supporting one macro_élément,
·
initial mesh when one indicates the mesh which was used to generate a macronutrient,
·
final mesh to indicate the mesh produced by this control.
By extension these adjectives initial/final will apply to the entities attached to the mesh: node,
net, group of nodes.
Practically, to build the final mesh:
·
one defines super-meshs while positioning in the space (2D or 3D) of the macronutrients
existing (same
macr_elem_stat
can generate several super-meshs),
·
one resticks the super-meshs between them,
·
one re-elects, if it is wanted, certain nodes,
·
one creates, if it is wanted, certain groups of nodes.
Note:
One can note that the mesh created by this control is made only of super-meshs.
One thus cannot (for example), to draw it with the usual post-processors.
possibilities of curing it will be able to exist with the control
DEFI_SQUELETTE
[U4.24.01].
To mix finite elements “conventional” and substructures, it is necessary to use
the operator of “concatenation” of mesh [U4.23.03]:
mag = ASSE_MAILLAGE (
MAILLAGE= (m1, m2))
A mesh resulting from the operator
DEFI_MAILLAGE
contains:
·
super-meshs,
·
nodes,
·
groups of nodes.
The super-meshs are defined by translation/rotation of macronutrients.
As a “conventional” mesh, a super-mesh is entirely defined by the list of its nodes.
coordinated nodes of the meshs are those of the external nodes of the macronutrients
transforms by the geometrical transformation: translation, rotation…
If one does not carry out a sticking together (cf.
RECO_GLOBAL
/
RECO_MAILLE
), the mesh has as much of
nodes that the sum of the nodes of the super-meshs.
C1 convention:
When one “resticks” the super-meshs, one eliminates certain nodes. By convention, at the time of one
elimination of coinciding nodes, one preserves the node (and thus its co-ordinates) which comes from
first mesh of the list
l_mail
(cf.
RECO_GLOBAL
/
RECO_MAILLE
).
As in any mesh Aster, the nodes are named. By defect, the names of the nodes are
given by the program in the form:
NOijklmn
where
ijklmn
is a number included/understood enters
000001
and
999999
.
Key words
DEFI_NOEUD
and
DEFI_GROUP_NO
allow the user to re-elect certain nodes
and to define groups of nodes.
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
4/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
4 Operands
4.1 Word
key
DEFI_MAILLE
DEFI_MAILLE =
This key word factor makes it possible to define the super-meshs of the mesh using
macr_elem_stat
.
4.1.1 Operand
MACR_ELEM_STAT
MACR_ELEM_STAT = l_se
l_se
is the list of the names of the macronutrients which will generate the meshs.
4.1.2 Operand
NET
NET = l_mail
l_mail
is the list of the names which one wants to give to the meshs. This argument is optional. In sound
absence, one will give to the meshs the names macronutrients (this is obviously impossible
if one wants to use several times the same macronutrient).
4.1.3 Geometrical operands of transformations
|
TRAN
=
This key word defines the translation to be applied to
macr_elem_stat
:
·
if one is in 2D, one awaits 2 realities: (
tx, ty)
,
·
if one is in 3D, one awaits 3 realities: (
tx, ty, tz).
|
ANGL_NAUT
=
CENTER =
These key words define rotation to be applied to
macr_elem_stat
.
If one is in 2D, one awaits 3 realities:
·
is the angle (in degrees) of rotation in the plan for
ANGL_NAUT
,
·
px
and
py
are the co-ordinates of the center of rotation for
CENTER
.
If one is in 3D, one awaits 6 realities:
·
, and are the nautical angles of rotation (in degrees). (Cf the operator
AFFE_CARA_ELEM
[U4.42.01]) for
ANGL_NAUT
,
·
px
,
py
and
pz
are the co-ordinates of the center of rotation for
CENTER
.
Important remark:
It is known that the key word order is not significant for Aster. The operation of
translation/rotation is conventionally made in the order rotation then
translation. These two operations do not switch over in general.
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
5/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
4.2 Word
key
RECO_GLOBAL
| RECO_GLOBAL
=
/
ALL = “YES”,
/
NET = l_maille,
| CRITERION =
/
“ABSOLUTE”
,
/
“RELATIVE”
,
[DEFECT]
|
PRECISION
=
/
prec,
/
1.D-3,
[DEFECT]
This key word makes it possible to restick a whole of super-meshs automatically
(indicated by the key word
NET
or the key word
ALL
) with a criterion of proximity
geometrical: 2 nodes of 2 different super-meshs
m1
and
m2
will be confused if
outdistance which separates them is:
<
prec
(CRITERION
=
“ABSOLUTE”),
<
prec * min (D (m1), D (m2))
(CRITERION
=
“RELATIVE”).
where
D (semi)
note the smallest distance between 2 nodes of the super-mesh
semi
.
Note:
Two nodes of the same mesh will never be restuck.
If a mesh contains one node, it is necessary to use it
CRITERION = “ABSOLUTE”
.
4.3 Word
key
RECO_MAILLE
RECO_MAILLE
=
This key word factor makes it possible to restick “with the hand” certain super-meshs indicated by
the user. The super-meshs which one can restick are those which were defined by the key word
DEFI_MAILLE.
One then resticks the super-meshs via groups of nodes. To say what
one wants to restick it is thus necessary to give couples (mesh, group of nodes
(of the initial mesh)).
Note:
When one gives a couple (mesh
,
group nodes), one indicates the list of the nodes of
group nodes which are external for
macr_elem_stat
who defines the super-mesh.
It is in fact the intersection of the group of nodes and the edge of the substructure. This list is
ordinate as the initial group of nodes.
In theory, when one resticks 2 meshs via 2 groups of nodes, the whole of the nodes
indicated (cf the convention chosen by the key word must restick
OPTION
). A message
of alarm will be emitted if it is not the case.
4.3.1 Operands
NET
/
GROUP_NO
NET
=
One gives the list of the meshs here to be restuck. In general, one resticks meshs 2 by 2.
For the “corners”, it can be pleasant to restick all the convergent meshs in only once
(for example the 4 super-cubic ones which shares the same edge).
GROUP_NO
=
One gives here the list of the groups of nodes to be restuck. This list is of the same length than
list meshs.
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
6/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
4.3.2 Operand
OPTION
OPTION
=
This word makes it possible to choose the convention of sticking together of the lists of nodes defined by
groups of nodes.
·
“GEOMETRICAL”:
The program will confuse the nodes by considerations of geometrical proximity.
(Cf key word:
RECO_GLOBAL
)
·
“OPPOSITE” “NOEUD_A_NOEUD”/:
{
}
{
}
{
}
That is to say:
G1
A1, B1, C1
G2
A2, B2, C2
G3
A3, B3, C3
=
=
=
If
OPTION = “NOEUD_A_NOEUD”, GROUP_NO = (G1, G2, G3)
one will restick:
with
with
with
with
with
with
A1
A2
A3
B1
B2
B3
C1
C2
C3
If
OPTION = “OPPOSITE”
,
GROUP_NO = (G1, G2, G3)
one will restick:
with
with
with
with
with
with
C1
A2
A3
B1
B2
B3
A1
C2
C3
Caution:
For option
“OPPOSITE”
, only the first group of nodes of the list of
GROUP_NO
is
“turned over”.
4.4 Word
key
DEFI_NOEUD
DEFI_NOEUD
=
This key word factor makes it possible to re-elect whole or part of the nodes of the mesh.
4.4.1 Operands
ALL
/
PREFIXES
/
INDEX
|
ALL = “YES”,
= pref PREFIXES,
INDEX = (DM, Fm, DNN, fn),
These key words make it possible to re-elect all the nodes of the mesh. The convention of
renaming is as follows (in pseudo FORTRAN):
no_fin (K8) = pref//no_mail (DM:Fm)//no_ini (DNN:fn)
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
7/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
What wants to say that the name of a node will be formed while concaténant:
·
the prefix possibly given by the user,
·
under-channels of characters extracted the name of the mesh which carries this node
(cf C1 convention of elimination of the nodes stated above [§ 3]). One
takes the characters of row included/understood enters
DM
and
Fm.
If
DM > Fm,
this
under-channels is empty,
·
under-channels of characters extracted the name of the node (in its mesh
initial). One takes the characters of row included/understood enters
DNN
and
fn
. If
DNN > fn,
this under-channel is empty.
It is necessary thus that:
ltot = length (prefix) + (Fm-dm+1) + (fn-dn+1)
8
It is reminded the meeting that 2 nodes cannot have the same name in the same mesh. The goal
“play” for the user is to manage to re-elect certain nodes (without too many efforts of
its share) in a conventional way without this convention leading to names
identical.
A frequent case is as follows:
if the mesh which gave rise to the macronutrients comes from one
preprocessor which generates names of nodes of the form
NOijklmn
and if
the user gives to his super-meshs names with 2 characters:
SA
,
SB
,…. the sequence:
DEFI_NOEUD = _F (TOUT= “YES”, INDEX= (1, 2, 3, 8,))
will generate nodes of names:
SA000001, SA000002,… , SB000001,
4.4.2 Operands
NOEUD_FIN
/
NET
/
NOEUD_INIT
|
NOEUD_FIN
= no_fin,
NET
=
mall,
NOEUD_INIT
=
no_ini,
These key words make it possible to re-elect nodes one by one:
·
no_fin
is the name which one wants to give to the node mesh that one creates
(final).
·
mall
and
no_ini
identify the node to be re-elected:
mall
is the name of
super-mesh which carries the node,
no_ini
is the name of the node in the mesh
who was used to create it
macr_elem_stat
who defined the super-mesh
mall
.
4.5 Word
key
DEFI_GROUP_NO
DEFI_GROUP_NO
=
This paragraph is almost identical to the precedent (
DEFI_NOEUD
) by replacing the word
NOEUD_
by the word
GROUP_NO
.
This key word factor makes it possible to define groups of nodes starting from groups existing in
initial mesh of the macronutrients.
Note:
An initial group of nodes can contain nodes which do not belong to the edges of
macronutrients. These internal nodes thus do not exist in the final mesh. By
convenience, one takes convention nevertheless to create the group reduced to its intersection
with the edge of the macronutrient.
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
8/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
4.5.1 Operands
ALL
/
NET
/
PREFIXES
/
INDEX
|
/
ALL = “YES”,
/
NET = mall,
= pref PREFIXES,
INDEX = (DM, Fm, DNN, fn),
These key words make it possible to create all the groups of nodes corresponding to
groups of the initial mesh associated the mesh
mall
or with all the meshs if:
ALL
=
“YES”
.
The convention of renaming is as follows (in pseudo FORTRAN):
gno_fin (k8) = pref//no_mail (DM:Fm)//gno_ini (DNN:fn)
What wants to say that the name of a group of nodes will be formed while concaténant:
·
the prefix possibly given by the user,
·
under-channels of characters extracted the name of the mesh,
·
under-channels of characters extracted the name of
group_no
initial mesh.
It is necessary thus that:
ltot= length (prefix) + (Fm-dm+1) + (fn-dn+1)
8
A frequent case is as follows
: the mesh which gave rise to
macronutrients come from a preprocessor which generates names of the form
GRNOijkl
. If the user gives to his super-meshs names with 2 characters:
SA
,
SB
,…., the sequence:
DEFI_GROUP_NO=_F (TOUT= “YES”, PREFIXE=' GN', INDEX= (1,2,5,8))
Will generate groups of nodes of names:
GNSA0001, GNSA0002,… , GNSB0001.
4.5.2 Operands
GROUP_NO_FIN
/
NET
/
GROUP_NO_INIT
|
GROUP_NO_FIN = gno_fin,
NET = mall,
GROUP_NO_INIT
= gno_ini,
These key words make it possible to create groups of nodes one by one:
·
gno_fin
is the name which one wants to give to
GROUP_NO
,
·
mall
and
gno_ini
identify it
GROUP_NO
initial:
-
mall
is the name of the super-mesh which carries it
GROUP_NO
,
-
gno_ini
is the name of
GROUP_NO
initial mesh.
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
9/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
5 Example
That is to say mesh
m1:
N9
N8
N7
N10
N11
N12
N6
N5
N1
N2
N3
N13
N14
N15
N19 N18
N17
N16
N4
With
E
D
G
F
B
C
grma1
grma2
3
GROUP_NO
: GROUP_MA
:
AB
=
(N1
N2
N3)
grma1
BC
=
(N3
N4
N5)
grma2
CD = .....
......
On this mesh
m1
2 are defined
macr_elem_stat
.
mo1 = AFFE_MODELE
(AFFE = _F (GROUP_MA = GRMA1)…)
mo2 = AFFE_MODELE
(AFFE = _F (GROUP_MA = GRMA2)…)
S1 =
MACR_ELEM_STAT
(DEFINITION = _F (MODEL = MO1…)
OUTSIDE
=
_F
(GROUP_NO
=
(AB, BC, CD, OF, EA))
…)
S2 =
MACR_ELEM_STAT
(DEFINITION = _F (MODEL = MO2…)
OUTSIDE
=
_F
(GROUP_NO
=
(BC, BG, FG, CF))
…)
One can then define the mesh
m2
:
S3
S2
S1
Code_Aster
®
Version
7.4
Titrate:
Operator
DEFI_MAILLAGE
Date:
31/01/05
Author (S):
J. PELLET
Key
:
U4.23.01-G
Page
:
10/10
Instruction manual
U4.2- booklet: Mesh
HT-66/05/004/A
m2 =
DEFI_MAILLAGE
(
DEFI_MAILLE
= (_F (MACR_ELEM_STAT = S1),
_F
(MACR_ELEM_STAT
= S2
, MESH
= S2,),
_F
(MACR_ELEM_STAT
= S2
, MESH
= S3, TRAN = 3.),),
RECO_MAILLE= (_F (MAILLE= (S1, S2), GROUP_NO= (BC, BC), OPTION=' NOEUD_A_NOEUD'),
_F
(MAILLE=
(S2, S3), GROUP_NO=
(FG, BC), OPTION=
“OPPOSITE”),),
DEFI_NOEUD=_F
(ALL = “YES”, INDEX = (1, 2, 2, 3))
_F (NOEUD_FIN = A, MESH = S1,
NOEUD_INIT = N1),),
DEFI_GROUP_NO =_F (GROUP_NO_FIN = FG, MESH = S3, GROUP_NO_INIT = FG),)
The mesh obtained contains:
·
3 super-meshs:
S1, S2, S3
·
26 nodes:
With, S12,…, S317
·
1
GROUP_NO: FG = (S315, S316, S317)
S3
S2
S1
S16
S15
S217
S317
S316
S315
S313
S213
S12
With
Note:
The sticking together of the super-meshs could have been made more simply by:
RECO_GLOBAL = _F (ALL = “YES”).