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

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:2017:06_07 [2017/06/07 22:16] – [Bicubic Coons] 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 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]].+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]]).
  
-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.+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 !
  
 Voici les commandes pour instancier un patch bicubique de Coons :  Voici les commandes pour instancier un patch bicubique de Coons : 
Line 16: Line 16:
 </code> </code>
  
-Dans le cas de la boite carré, voici les différences que nous observons (pour une pénalité de 1E5 N/mm³, nous obtenons les résultats suivants +Dans le cas de la boite carré, voici les différences que nous observons pour une pénalité de 1E5 N/mm³ :
  
 <code> <code>
 Version avec patch de Coons bicubique :  Version avec patch de Coons bicubique : 
  
 +User CPU : 1h6m52.28s
 +Real CPU : 19m52.39s
 + 
 +[TSC-STP]                         Number of steps : 1696
 +[TSC-ITE]              Number of mech. iterations : 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>
  
 <code> <code>
 Version avec patch de Coons :  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> </code>
  
Line 32: Line 66:
 Version avec patch de Coons  Version avec patch de Coons 
  
 +{{:commit:2017:coonspatch0000.png?600|}}
  
 Version avec patch de Coons bicubique Version avec patch de Coons bicubique
  
  
 +{{:commit:2017:bicubiccoons0000.png?600|}}
  
  
 +===== Correction Patch de Coons =====
  
-===== Projection sur les surfaces de révolution ===== +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 !
- +
-J'ai constaté la présence d'un bug dans le cas de la projection d'un point sur une surface de révolution. Précisément, nous 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 auparavant. Nous prénions la valeur du segment (i.e. le numéro de la side de la skin) pour faire cette projection ! Désormais, ceci est corrigé ! +
- +
-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évolutionPour 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) : +
- +
-{{:commit:2017:rollformingu6symlr00000.png?300|}} +
-{{: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 63: Line 89:
  
 <code> <code>
-[a]:+[a]:apps\qs\contactBicubicCoons.py
 [r]: [r]:
 </code> </code>
commit/2017/06_07.1496866589.txt.gz · Last modified: 2017/06/07 22:16 by wautelet

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki