1. Reference problem#

1.1. Geometry#

_images/100000000000024200000104D5C0F4BEE56929B4.png

Ray

\(R\mathrm{=}10.m\)

Thickness

\(t\mathrm{=}0.04\)

Coordinates of the points:

\(A\)

\(B\)

\(C\)

\(x\)

\(y\)

\(z\)

1.2. Material properties#

The hemisphere is composed of concrete reinforced by grids. As the objective is only to test controls, the same properties are given to concrete and to grids.

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

1.3. Boundary conditions and loads#

Over a quarter of the hemisphere:

Point \(C\)

no move in \(z\)

Side \(\mathrm{AC}\)

symmetry with respect to plane \(\mathit{xz}\)

Side \(\mathrm{BC}\)

symmetry with respect to plane \(\mathit{yz}\)

Side \(\mathrm{AB}\)

free

Internal pressure: \(P\mathrm{=}10.\mathit{Pa}\)

1.4. Orientation problem#

It is desired that the reinforcing grids be oriented circumferentially with respect to the given axis. However, given the hemispherical shape considered, a Python function is proposed to achieve it.

The principle is as follows:

  1. the axis of the hemisphere is noted \(Z\)

  2. for each cell, we calculate the vector indicating the ciconferential direction by \(V\mathrm{=}Z\mathrm{\wedge }N\) where \(N\) is the normal to the mesh. Note \(V\mathrm{=}\mathrm{[}\mathit{Vx},\mathit{Vy},\mathit{Vz}\mathrm{]}\) and define its projection on the \((\mathit{XOY})\) plane by \(W\mathrm{=}\mathrm{[}\mathit{Vx},\mathit{Vy}\mathrm{,0}\mathrm{]}\)

  3. we calculate the values of ANGL_REP to be assigned to the current mesh by \(\alpha =\mathrm{arctan}(\mathrm{Vy}/\mathrm{Vx})\) and \(\beta \mathrm{=}\mathrm{-}\mathrm{arctan}(\mathit{Vz}\mathrm{/}\mathit{norm}(W))\)

The function called LIST_CARA_CIRCONF loops through all grid cells, computes \(\alpha\) and \(\beta\), and creates the keywords:

_F (SECTION =20.0,

MAILLE =Current_Mesh-Name,

EXCENTREMENT =0.0, ANGL_REP =(,)),

COEF_RIGI_DRZ =1.E-10

),

and he adds them to a list. This list is then provided to AFFE_CARA_ELEM. So we get the commands:

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,

)

Finally, note that, formally, LIST_CARA_CIRCONF obeys the following catalog:

LIST_CARA_CIRCONF (

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

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

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

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

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

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

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

),

)