Cassiopee Forum
CFD python modules
S'il vous plaît connectez vous ou Enregistrement'.
Date et heure en ce moment : lundi, 20 novembre 2017, 20:09

Nouvelle discussion | Répondre
Cassiopee Forum :: Discussions, suggestions, bug report :: Geom :: création d'un "disque" non-plan  ::
Alexandre Minot
Newbie
Image


Messages: 14
création d'un "disque" non-plan (vendredi, 24 février 2017, 16:08) citation  
Bonjour,

Je cherche à créer un disque non-plan.

J'ai une courbe définie en x,y. Je souhaite construire une surface par révolution de cette courbe autour de l'axe x.

Sauriez-vous m'indiquer la marche à suivre ?

Merci d'avance,
Alexandre.

Ip enregistré Statut: déconnecté Profil | Site Web 
Ordre des réponses: Première réponse en dernier :: Première réponse en premier
Alexandre Minot
Newbie
Image


Messages: 14
RE: création d'un "disque" non-plan (lundi, 27 février 2017, 17:38) citation  
Bonjour,

Je confirme. Je joins un script d'exemple si d'autres utilisateurs cherche à faire ceci :


import numpy as np
import Geom.PyTree as D
import CGNS.PAT.cgnsutils as CGU
import CGNS.PAT.cgnslib as CGL
import CGNS.PAT.cgnskeywords as CGK
import CGNS.VAL.simplecheck as CGV
import CHLone


planesFamilyName = 'planes'
tree = CGL.newCGNSTree()
ncell = 2 # cell dimension
nphys = 3 # physical dimension
base = CGL.newCGNSBase(tree,'test',ncell,nphys)
familyDoesNotExist = CGU.checkDuplicatedName(base, planesFamilyName)
if familyDoesNotExist:
# attention, l'indentation ne passe pas dans le forum !
# indenter cette ligne :
family = CGL.newFamily(base, planesFamilyName)

x = np.linspace(0.1,0.11,20)
y = np.linspace(0.2,0.3,20)**2
z = np.zeros(len(x))
plane_name = 'test2'

zoneSize = np.asarray([ [len(x),len(x)-1,0], [len(y),len(y)-1,0] ], dtype='i', order='Fortran')
zone = CGL.newZone(base, plane_name, zsize=zoneSize, ztype=CGK.Structured_s, family=planesFamilyName)
GridCoordinates = CGL.newGridCoordinates(zone,CGK.GridCoordinates_s)
CGL.newDataArray(GridCoordinates,CGK.CoordinateX_s,x)
CGL.newDataArray(GridCoordinates,CGK.CoordinateY_s,y)
CGL.newDataArray(GridCoordinates,CGK.CoordinateZ_s,z)

D._axisym(zone, (0.,0.,0.), ( 1,0,0), 360., 100 )

checkdiag=CGV.run(tree,True,['DEFAULT'])
CGV.showDiag(checkdiag,[])

CHLone.save('test.cgns',tree)


Ip enregistré Statut: déconnecté Profil | Site Web 
ChristopheBenoit
Administrator
Image


Messages: 169
RE: création d'un "disque" non-plan (lundi, 27 février 2017, 10:50) citation  
Bonjour Alexandre,

Est-ce que :
D.axisym répond à ton besoin?
a+

Ip enregistré Statut: déconnecté Profil | Site Web 
Nouvelle discussion | Répondre

Software PBLang 4.65 © 2002-2003 by Martin Senftleben
Image