Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2007:04_23



Commit 2007-04-23

Modifs

Matériaux

  • Début d'écriture d'une matrice de raideur numérique au niveau du matériau. A terme, cela permettra de debugger plus facilement la matrice de raideur d'un matériau et de séparer les calculs des matrices de raideur : full numérique, full analytique, analytique pour la géométrie, numérique pour le matériau. A l'heure actuelle, ce n'est fait que pour les matériaux hypoélastiques et le SRI avec report et il faut activer le code à la main (bof plus).
  • Gen4:
    • Interfaçage des nurbs de Metafor avec gen4.
    • Background mesh avec les nurbs et les splines (c'était pas fait).
    • Interfaçage du background mesh de gen4 avec Metafor. On créé un background mesh avec gen4, une géométrie avec Metafor et on maille ladite géométrie avec gen4 et des densités définies dans le background mesh. Petit exemple de apps.qs.gen4meshBg
# BG Mesh
from toolbox.gen4tools import createBG
import wrap.gen4
bgeo = wrap.gen4.Geometry()
densityCircle = 0.02
densityTop = 0.05
a = ((2.0*densityCircle-densityTop) * (Ly-cy)*(Ly-cy) - densityCircle * R*R)/((Ly-cy)*(Ly-cy)-R*R)
b = (densityTop - densityCircle)/((Ly-cy)*(Ly-cy)-R*R)
print a
print b
# Magnifique fonction avec une densite de maille elevee au bord du cercle, 
# densite qui diminue quand on s'en eloigne
def densityFunction(a,b):
    return lambda x,y : a + b * ((x-cx)*(x-cx) + (y-cy)*(y-cy))
bgmesh = createBG(bgeo, densityFunction(a,b), eps=0.7, delta=0.0, density=2.0)

# Mesh
from toolbox.meshers import Gen4Mesher
mesher = Gen4Mesher(sideset(1), domain)
mesher.setBgMesh(bgmesh)
mesher.execute()

def createBG(bgeo, fct, eps=2.0, delta=0.0, density=2.0):
    n1 = bgeo.add(Node(1,    -eps+delta,    -eps+delta, density))
    n2 = bgeo.add(Node(2, 1.0+eps+delta,    -eps+delta, density))
    n3 = bgeo.add(Node(3, 1.0+eps+delta, 1.0+eps+delta, density))
    n4 = bgeo.add(Node(4,    -eps+delta, 1.0+eps+delta, density))
    side = createSide(1, bgeo, n1,n2,n3,n4)
    bgmesh = startGen4(side,interactive=False)
    Quad2Tri(bgmesh).execute()
    bgmesh.setDensityF(fct) 
    return bgmesh   
  • Divers : correction d'une erreur dans la palplanche (il n'effaçait pas les fichiers générés), correction d'un bug dans l'endommagement.

Plaisir des yeux

Pied d'aube généré avec gen4 + background mesh : raffinement aux bords d'attaque et de fuite.

Nurbs + background mesh

SplineSeg et background mesh : raffinement du maillage selon un rond. Le centre du background mesh a une longueur de maille donnée et cette longueur décroît quand on s'éloigne du centre.

SplineSeg + background mesh

Spline et background mesh : Raffinement du maillage quand on va de en haut à gauche à en bas à droite.

Spline + background mesh

Maillage gen4 avec background mesh dans Metafor. La fonction densité du bgMesh a une densite de maille élevée au bord du cercle, et diminue ensuite quand on s'en eloigne.

Configuration initiale Configuration finale

Fichiers ajoutés/supprimés

  A oo_meta/apps/qs/gen4meshBg.py
  A oo_meta/toolbox/gen4/geo9
  A oo_meta/toolbox/gen4/geo9b
  A oo_meta/toolbox/gen4/geo9c

Pierre-Paul Jeunechamps 2007/04/23 10:33

commit/2007/04_23.txt · Last modified: 2016/03/30 15:23 (external edit)