5 – Simulations physiques 2

Cet exemple m’a permis de mieux comprendre le concept de la relaxation, qui consiste à créer une forme initiale puis en chercher une forme plus relaxée, qui ne présente pas de discontinuités et qui répartie les charges d’une façon égale.

Etape 1: Cette etape consiste à transformer le dessin de la structure en maillage: Il faut créer un maillage à partir des lignes (le rectangle et le cercle) à travers un script Python afin d’eviter le passage par Rhino.

1

Après, ca sera le tour de la surface (forme initiale) de transformer en mesh, on pourra reperer clairement reperer les imperfections et les discontinuités de la grille.

2

Etape 2: Créer les contraintes

1. Tous les points du maillage de la structure doivent se trouver sur la surface de la toiture.

On utilisera le composant OnMesh (Kangaroo2/Goals-On/OnMesh) qui prendra en entrée P les points du maillage de la structure et dans l’entrée M, le maillage de la surface de la toiture..

Pour récupérer la liste de ses sommets du maillage on utilisera le composant DeconstructMesh (Mesh/Analysis/Deconstruc Mesh).

3

2. Les points du contour de la structure doivent être ancrés sur les limites de la cour: le rectangle et le cercle.

Le composant MeshEdges (Mesh/Analysis/MeshEdges) permet de récupérer à sa sortie E1 les arêtes du contour du maillage de la structure. A partir de ces arêtes on pourra récupérer les points à ancrer mais il faut distinguer ceux qui doivent être ancrés sur le cercle et ceux qui doivent être ancrés sur le rectangle.

Une possibilité consiste à joindre les arêtes des contours afin de créer deux polylignes: une représentera le rectangle et l’autre le cercle. Pour cela on utilisera le composant Join Curves (Curve/Util/Join Curves).

Pour ordonner les polylignes on utilisera le Length (Curve/Analysis/Length) et le composant Sort (Sets/List/SortList) qu’on raccorde comme sur la figure ci-dessous. La sortie A du composant SortList sera connecté à un composant ListItem (Sets/List/List Item) permettant de récupérer dans la sortie i la première polyligne (le cercle) et dans la sortie +1 (le rectangle).

4

Les listes des points des polylignes peuvent être récupérées avec le composant Explode (Curve/Util/Explode). On ajoute deux contraintes OnCurve pour fixer les points sur le cercle et le rectangle.

5

3. Ajouter une contrainte pour tendre toutes les arêtes du maillage

Placez un composant Length (Kangaroo2/Goals-Lin/Length(Line)), reliez les sorties E1 (arêtes du contour extérieur du maillage) et E2 (arêtes intérieures du maillage) du composant MeshEdges à l’entrée Line du composant Length(Line) puis positionnez l’entrée Length à 0 pour demander à Kangaroo de tendre les arêtes du maillage au maximum.

Ceci aura pour effet d’opérer une continuité dans les éléments de la structure.

6

On voit sur la figure ci-dessus que le maillage n’est pas correctement fixé sur les 4 sommets du rectangle. Pour remédier à ce problème on peut ajouter une nouvelle contrainte. Placer un composant MeshCorners (Kangaroo2/Mesh/Mesh Corners) pour récupérer les points du maillage correspondant aux 4 extrémités et placer un composant Anchor (Kangaroo2/Goals-Pt/Anchor) pour ancrer les 4 points. Ajouter cette contrainte à la liste GoalObjects du Solver.

7

Exercice

1- Utiliser le composant Python permettant de créer un maillage à partir des lignes représentant ses arêtes ou de creer la Mesh sur Rhino, j’ai utilisé la deuxième procédure comme le code Python ne marchait pas pour cette  exercice.

2-Association du Mesh au composant NakedVerticles.

9

3- Pour définir les contraintes physiques, on utilisera:

  • un composant Anchor (Kangaroo/Goals-Pt/Anchor) pour fixer ces sommets,
  • un composant Length(Line)  (Kangaroo/Goals-Lin/Length (Line)) pour tendre les arêtes du maillage,
  • un composant Vertex Loads (Kangaroo/Goals-Mesh/VertexLoads) pour affecter une charge aux sommets du maillage dont la valeur sera contrôlée par un slider.
  • un composant Show afin que le Solver de Kangaroo produise le maillage dans sa sortie O. En mettant à plat liste produite en sortie O (Cliquez avec le bouton droit de la souris sur la sortie O et choisir l’option flatten), le maillage se trouve être le premier élément de la liste. On peut l’obtenir avec le composant List Item (Sets/List/List Item).

10