5. Affectation de valeurs#

Deux méthodes sont utilisables pour affecter des valeurs de caractéristiques:

  • la méthode classique: opérande dont le nom évoque la caractéristique traitée suivi d’une valeur ou d’une liste de valeurs. Exemples:

COQUE = _F(EPAIS = 1.E-2, GROUP_MA = ’G1’),

COQUE = _F(ANGL_REP = (0., 90.), GROUP_MA = ’G2’),

  • pour les affectations concernant BARRE, POUTRE et DISCRET, ainsi que ORIENTATION pour les éléments de poutre et les éléments discrets, le grand nombre de caractéristiques pouvant être affectés a conduit à une syntaxe mieux adaptée:

CARA= (…) # liste de noms de caractéristiques

VALE= (…) # liste des valeurs correspondant aux caractéristiques

On donne ci-dessous un exemple pour illustrer ce cas.

_images/affectation-valeur.png

Fig. 5.1  : Affectation des valeurs.#

Description des mailles :

SEG2 M1 N1 N2 M2 N2 N3 M3 N3 N4 M4 N5 N4 M5 N5 N6 M6 N6 N7 FINSF

Fichier de commandes :

cara = AFFE_CARA_ELEM(
    POUTRE= (
        _F(SECTION=’CERCLE’,CARA=(’R’,’EP’),VALE=(0.1,0.02),GROUP_MA=(’M1’,’M5’)),
        _F(SECTION=’CERCLE’,CARA=(’R’,’EP’),VALE=(0.2,0.05),GROUP_MA= ’M3’),
        _F(SECTION=’CERCLE’,CARA=(’R’,’EP’),VALE=(0.09,0.01),GROUP_MA= ’M6’),
        _F(SECTION=’CERCLE’,CARA=(’R1’,’R2’),VALE=(0.1,0.2),GROUP_MA=(’M2’,’M4’)),
        _F(SECTION=’CERCLE’,CARA=(’EP1’,’EP2’),VALE=(0.02,0.05),GROUP_MA=(’M2’,’M4’)),
    ),
)

Il est possible d’utiliser les fonctionnalités du langage python. L’exemple ci-dessous récupère des grandeurs calculées par la commande MACR_CARA_POUTRE, pour ensuite les affecter. L’utilisation de python nécessite de mettre PAR_LOT=’NON’ dans la commande DEBUT.

SECTION = MACR_CARA_POUTRE( NOEUD= ’N1’, GROUP_MA_BORD= ’BORD’ )

ii = 2
alpha0 = SECTION[ ’ALPHA’ , ii ]
cdgx0 = SECTION[ ’CDG_X’ , ii ]
cdgy0 = SECTION[ ’CDG_Y’ , ii ]
AIRE0 = SECTION[ ’AIRE’ , ii ]
IY0 = SECTION[ ’IY_PRIN_G’, ii ]
IZ0 = SECTION[ ’IZ_PRIN_G’, ii ]
EY0 = SECTION[ ’EY’ , ii ]
EZ0 = SECTION[ ’EZ’ , ii ]
JX0 = SECTION[ ’CT’ , ii ]
JG0 = SECTION[ ’JG’ ,ii ]
AY0 = SECTION[ ’AY’ , ii ]
AZ0 = SECTION[ ’AZ’ , ii ]
IYR20 = SECTION[ ’IYR2_PRIN_G’ , ii ]
IZR20 = SECTION[ ’IZR2_PRIN_G’, ii ]

carelem=AFFE_CARA_ELEM( MODELE=mod,
    POUTRE = (
        _F( GROUP_MA=(’POUT1’,’POUT2’), SECTION=’GENERALE’,
            CARA= (’A’, ’IY’,’IZ’,’AY’,’AZ’,’EY’,’EZ’,’JX’,’JG’,’IYR2’,’IZR2’),
            VALE= (AIRE0,IY0, IZ0, AY0, AZ0, EY0, EZ0, JX0, JG0, IYR20, IZR20),
        ),
    ),
)

Si le maillage section contient un groupe de maille surfacique nommé ‘carre’, il est possible d’utiliser directement la table issue de macr_cara_poutre de la façon suivante :

SECTION = MACR_CARA_POUTRE(MAILLAGE=mail, NOEUD= ’N1’, GROUP_MA_BORD= ’BORD’ )

carelem=AFFE_CARA_ELEM( MODELE=mod,
    POUTRE = (
        _F( GROUP_MA=(’POUT1’,’POUT2’), SECTION=’GENERALE’,
            TABLE_CARA=SECTION, NOM_SEC=’CARRE’,
        )
    )
)