+Instructions spécifiques au 2D
+""""""""""""""""""""""""""""""
+.. index:: single: 2D
+
+Les instructions pour adapter un maillage 2D sont exactement identiques à celles nécessaires à l'adaptation d'un maillage 3D. La seule exception concerne le raffinement selon des zones géométriques : des fonctions différentes sont utilisées pour pouvoir définir des zones 2D. On donne alors les coordonnées 2D des zones, en précisant l'orientation du plan du maillage.
+Dans le cas présenté ici, on raffine une première fois toutes les mailles contenues dans un disque percé, puis dans une seconde itération, toutes les mailles contenues dans un rectangle. On notera l'utilisation du suivi des frontières circulaires du domaine.
+::
+
+ dircase = "/tmp"
+ #
+ # Creation of the boundaries
+ # ==========================
+ # Creation of the discrete boundary Boun_1
+ Boun_1 = homard.CreateBoundaryDi('Boun_1', 'MAIL_EXT', dircase+'/tutorial_5.fr.med')
+ #
+ # Creation of the zones
+ # =====================
+ # Creation of the disk with hole enveloppe
+ enveloppe = homard.CreateZoneDiskWithHole( 'enveloppe', 0., 0., 250., 193., 1 )
+ # Creation of the rectangle quart_sup
+ quart_sup = homard.CreateZoneBox2D( 'quart_sup', 0., 250., 0., 250., 1 )
+ #
+ # Hypothesis
+ # ==========
+ # Creation of the hypothesis Hypo_1
+ Hypo_1 = homard.CreateHypothesis('Hypo_1')
+ Hypo_1.SetAdapRefinUnRef(0, 1, 0)
+ homard.AssociateHypoZone('enveloppe', 'Hypo_1')
+ # Creation of the hypothesis Hypo_2
+ Hypo_2 = homard.CreateHypothesis('Hypo_2')
+ Hypo_2.SetAdapRefinUnRef(0, 1, 0)
+ homard.AssociateHypoZone('quart_sup', 'Hypo_2')
+ #
+ # Case "Case_1"
+ # =============
+ Case_1 = homard.CreateCase('Case_1', 'COEUR_2D', dircase+'/tutorial_5.00.med')
+ Case_1.SetDirName(dircase)
+ Case_1.SetConfType(3)
+ Case_1.AddBoundaryGroup('Boun_1', '')
+ #
+ # Iteration "Iter_1"
+ # ==================
+ Iter_1 = homard.CreateIteration('Iter_1', Case_1.GetIter0Name())
+ Iter_1.SetMeshName('COEUR_2D_01')
+ Iter_1.SetMeshFile(dircase+'/maill.01.med')
+ homard.AssociateIterHypo('Iter_1', 'Hypo_1')
+ codret = homard.Compute('Iter_1', 1)
+ #
+ # Iteration "Iter_2"
+ # ==================
+ Iter_2 = homard.CreateIteration('Iter_2', 'Iter_1')
+ Iter_2.SetMeshName('COEUR_2D_02')
+ Iter_2.SetMeshFile(dircase+'/maill.02.med')
+ homard.AssociateIterHypo('Iter_2', 'Hypo_2')
+ result = homard.Compute('Iter_2', 1)
+
+.. note::
+ Téléchargement des fichiers
+
+ * :download:`maillage initial<files/tutorial_5.00.med.gz>`
+ * :download:`maillage de la frontière discrète<files/tutorial_5.fr.med.gz>`
+ * :download:`commandes python<files/tutorial_5.py>`
+
+