1. Problème de référence#

1.1. Géométrie#

_images/100000000000024200000104D5C0F4BEE56929B4.png

Rayon

\(R=10.m\)

Épaisseur

\(t=0.04\)

Coordonnées des points :

\(A\)

\(B\)

\(C\)

\(x\)

\(y\)

\(z\)

1.2. Propriétés de matériaux#

L’hémisphère est composé de béton renforcé par des grilles. Comme l’objectif est uniquement de tester des commandes, on donne les mêmes propriétés au béton et aux grilles.

\(E=200000\mathit{Pa}\) , \(\nu =0.3\)

1.3. Conditions aux limites et chargements#

Sur un quart de l’hémisphère :

Point \(C\)

pas de déplacement en \(z\)

Côté \(\mathrm{AC}\)

symétrie par rapport au plan \(xz\)

Côté \(\mathrm{BC}\)

symétrie par rapport au plan \(yz\)

Côté \(\mathrm{AB}\)

libre

Pression interne : \(P=10.\mathit{Pa}\)

1.4. Problématique d’orientation#

On veut que les grilles de renforcement soient orientées circonférentiellement par rapport à l’axe donné. Or, vue la forme hémisphérique considérée, on propose une fonction Python pour le réaliser.

Le principe est le suivant :

  1. l’axe de l’hémisphère est noté \(Z\)

  2. pour chaque maille, on calcule le vecteur indiquant la direction ciconférentielle par \(V=Z\mathrm{\wedge }N\) où \(N\) est la normale à la maille. On note \(V=[\mathit{Vx},\mathit{Vy},\mathit{Vz}]\) et on définit sa projection sur le plan \((\mathit{XOY})\) par \(W=[\mathit{Vx},\mathit{Vy},0]\)

  3. on calcule les valeurs de ANGL_REP à affecter à la maille courante par \(\alpha =\arctan(\mathrm{Vy}/\mathrm{Vx})\) et \(\beta =-\arctan(\mathit{Vz}/\mathit{norm}(W))\)

La fonction appelée LIST_CARA_CIRCONF boucle sur toutes les mailles grille, calcule \(\alpha\) et \(\beta\) et crée les mots-clé :

_F(SECTION=20.0,

MAILLE=Nom_Maille_Courante,

EXCENTREMENT=0.0, ANGL_REP=(,)),

COEF_RIGI_DRZ=1.E-10

),

et il les ajoute dans une liste. On fournit ensuite cette liste à AFFE_CARA_ELEM. On obtient donc les commandes :

LIST_GRI=LIST_CARA_CIRCONF(

GROUP_MA=”GRILLE”,

AXE=(0.,0.,1.),

MODELE=MODEL,

GRILLE=_F(SECTION=20.,EXCENTREMENT=0.,)

)

CARA_COQ=AFFE_CARA_ELEM(

MODELE=MODEL,

COEF_RIGI_DRZ=0.,),

GRILLE=LIST_GRI,

)

Notons enfin que, formellement, LIST_CARA_CIRCONF obéit au catalogue suivant:

LIST_CARA_CIRCONF(

GROUP_MA =SIMP(statut=”o”,typ=grma,max=”**”),

AXE =SIMP(statut=”o”,typ=”R”,max=3,min=3),

MODE =SIMP(statut=”o”,typ=modele_sdaster ),

GRILLE =FACT(statut=”f”,max=1,

SECTION =SIMP(statut=”o”,typ=”R”),

EXCENTREMENT =SIMP(statut=”f”,typ=”R”),

COEF_RIGI_DRZ =SIMP(statut=”f”,typ=”R”),

),

)