====== 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. {{commit:geo9.jpg?100|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. {{commit:geo9b.jpg?100|SplineSeg + background mesh}} Spline et background mesh : Raffinement du maillage quand on va de en haut à gauche à en bas à droite. {{commit:geo9c.jpg?100|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. {{commit:gen4bgmesh.jpg?100|Configuration initiale}} {{commit:gen4bgmesh2.jpg?100|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 --- //[[ppjeunechamps@ulg.ac.be|Pierre-Paul Jeunechamps]] 2007/04/23 10:33//