Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2017:06_07

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
commit:2017:06_07 [2017/06/07 22:05] – created wauteletcommit:2017:06_07 [2017/06/07 22:35] (current) – [Cas tests ajoutés/supprimés] wautelet
Line 5: Line 5:
 ===== Bicubic Coons ===== ===== Bicubic Coons =====
  
-J'ai ajouté la possibilité de faire des Patch de Coons avec une continuité du type C1 (c'est-à-dire des tangentes d'un patch de Coons à un autre). Si nous avons une discontinuité des tangentes au niveau de la frontière du patch de Coons, nous avons aussi une discontinuité dans la normale. Du point de vue du contact, cette discontinuité peut freiner voir même empêcher la convergence du Newton Raphson lors de la résolution de l'équilibre mécanique. La forme implémentée des patch de Coons bicubic (Polynôme d'Hermitte) est la version Ferguson ([[https://www.math.hmc.edu/~gu/math142/mellon/Application_to_CAGD/Surface_Construction_Schem.html|External Link]]+J'ai ajouté la possibilité de faire des patch de Coons avec une continuité du type C1 (c'est-à-dire la continuité des tangentes d'un patch de Coons à un autre). Si nous avons une discontinuité des tangentes au niveau de la frontière du patch de Coons, nous avons aussi une discontinuité dans la définition de la normale. Du point de vue du contact, cette discontinuité peut freiner voir même empêcher la convergence du Newton Raphson lors de la résolution de l'équilibre mécanique. La forme implémentée des patch de Coons bi-cubique (Polynôme d'Hermitte) est la version Ferguson ([[https://www.math.hmc.edu/~gu/math142/mellon/Application_to_CAGD/Surface_Construction_Schem.html|Ferguson Patch]]).
  
-===== Projection sur les surfaces de révolution =====+Si nous avons une surface plane constituée de patch de Coons, nous avons d'office une continuité des tangentes au niveau des frontières d'un patch à un autre. Lors que la surface n'est plus plane, il faut certaines conditions pour que les tangentes soient continues, ce qui n'est toujours aisé à remplir !
  
-J'ai constaté la présence d'un bug dans le cas de la projection d'un point sur une surface de révolutionPrécisémentnous devons récupérer le numéro du segment et la valeur locale de la coordonnée sur la génératrice (le Wire) lorsque nous avons au préalable une projection valide, ce qui n'était pas fait auparavantNous prénions la valeur du segment (i.ele numéro de la side de la skin) pour faire cette projection ! Désormaisceci est corrigé !+Voici les commandes pour instancier un patch bicubique de Coons :  
 + 
 +<code> 
 +    surfaceset = geometry.getSurfaceSet() 
 +    surfaceset.add(BicubicCoons(1wireset(1))) 
 +</code> 
 + 
 +Dans le cas de la boite carré, voici les différences que nous observons pour une pénalité de 1E5 N/mm³ : 
 + 
 +<code> 
 +Version avec patch de Coons bicubique :  
 + 
 +User CPU : 1h6m52.28s 
 +Real CPU : 19m52.39s 
 +  
 +[TSC-STP]                         Number of steps : 1696 
 +[TSC-ITE]              Number of mechiterations : 5607 
 +[TSC-INW]                         Internal energy : 4856.52 
 +[TSC-EXW]                 Work of external forces : 467297 
 +[TSC-CPU]                           User CPU Time : 4012.28 
 +[TSC-REA]                           Real CPU Time : 1192.39 
 +[TSC-KER]                         Kernel CPU Time : 82.8281 
 +[TSC-MEM]                        Peak Memory [Kb] : 368400 
 +[TSC-EXT]               AbsMax of gTmax_-_ciPunch : 0.000662198 
 +[TSC-EXT]                 AbsMax of gTmax_-_ciDie : 0.00147749 
 +[TSC-EXT]              AbsMax of gTmax_-_ciHolder : 0.000255104 
 +[TSC-EXT]               AbsMax of gNMax_-_ciPunch : 0.00075458 
 +[TSC-EXT]                 AbsMax of gNMax_-_ciDie : -0.00156713 
 +[TSC-EXT]              AbsMax of gNMax_-_ciHolder : 0.00110586 
 +</code> 
 + 
 +<code> 
 +Version avec patch de Coons :  
 +  
 +User CPU : 1h10m25.63s 
 +Real CPU : 21m6.52s 
 +  
 +[TSC-STP]                         Number of steps : 1766 
 +[TSC-ITE]              Number of mech. iterations : 5867 
 +[TSC-INW]                         Internal energy : 4880.2 
 +[TSC-EXW]                 Work of external forces : 467820 
 +[TSC-CPU]                           User CPU Time : 4225.63 
 +[TSC-REA]                           Real CPU Time : 1266.52 
 +[TSC-KER]                         Kernel CPU Time : 68.7188 
 +[TSC-MEM]                        Peak Memory [Kb] : 308420 
 +[TSC-EXT]               AbsMax of gTmax_-_ciPunch : 0.000666918 
 +[TSC-EXT]                 AbsMax of gTmax_-_ciDie : 0.00138641 
 +[TSC-EXT]              AbsMax of gTmax_-_ciHolder : 0.000279426 
 +[TSC-EXT]               AbsMax of gNMax_-_ciPunch : 0.000757402 
 +[TSC-EXT]                 AbsMax of gNMax_-_ciDie : -0.00156178 
 +[TSC-EXT]              AbsMax of gNMax_-_ciHolder : 0.00114145 
 +</code> 
 + 
 +Pour montrer la discontinuité de la normale aux interfaces entre les patchs de Coonsil suffit d'afficher les territoires de contact de type "Corner Edges"
 + 
 +Version avec patch de Coons  
 + 
 +{{:commit:2017:coonspatch0000.png?600|}} 
 + 
 +Version avec patch de Coons bicubique 
 + 
 + 
 +{{:commit:2017:bicubiccoons0000.png?600|}}
  
-Finalement, j'ai constaté des différences dans les cas-tests "RollForming". Après investigations, l'origine de la différence vient du fait que nous avons un Wire avec une discontinuité de la normale pour la génératrice de notre surface de révolution. Pour bien faire, il faudrait ajouter des congés de raccordement là où nous avons des discontinuités de normale pour garantir l'unicité de la projection.  
  
-Voici des captures d'écran de la situation rencontrée au step 261 (première différence entre la version officielle et celle de développement) :+===== Correction Patch de Coons =====
  
-{{:commit:2017:rollformingu6symlr00000.png?300|}} +Par la même occasion, j'ai corrigé une erreur dans les dérivées des tangentes pour les patchs de CoonsElles sont utilisées pour la matrice de raideur analytique de contact avec les termes géométriques !
-{{:commit:2017:rollformingu6symlr10000.png?300|}} +
-{{:commit:2017:rollformingu6symlr20000.png?300|}} +
-{{:commit:2017:rollformingu6symlr30000.png?300|}}+
  
-Il semblerait que la ligne de nœuds sur la fibre centrale soit à l'origine de la différence entre les deux versions et elle se trouve en fait sur cette zone en coin. 
 ===== Fichiers ajoutés/supprimés ====== ===== Fichiers ajoutés/supprimés ======
  
 <code> <code>
-[a]:+[a]:mtGeo\mtGeoBicubicCoons.cpp 
 +[a]:mtGeo\mtGeoBicubicCoons.h
 [r]: [r]:
 </code> </code>
Line 31: Line 89:
  
 <code> <code>
-[a]:+[a]:apps\qs\contactBicubicCoons.py
 [r]: [r]:
 </code> </code>
commit/2017/06_07.1496865920.txt.gz · Last modified: 2017/06/07 22:05 by wautelet

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki