Cassiopee Forum
CFD python modules
S'il vous plaît connectez vous ou Enregistrement'.
Date et heure en ce moment : dimanche, 22 octobre 2017, 15:32

Nouvelle discussion | Répondre
Cassiopee Forum :: Discussions, suggestions, bug report :: Generator :: Calculs des normales en non-structuré  ::
Alexandre Minot
Newbie
Image


Messages: 14
Calculs des normales en non-structuré (mardi, 4 octobre 2016, 17:49) citation  
Bonjour,

Pourriez-vous s'il vous plait me détailler ce qu'il faut passer comme argument à la fonction G.getNormalMap(t) en non-structuré ? En effet, je ne suis pas sûr de comprendre ce qu'est un "surface array" en non-structuré.

Je vous précise mon besoin:
Je cherche à calculer les normales aux parois sur un arbre issu de elsA-H (full non-structuré). J'ai essayé de passer l'ElementList d'une Zone_BC à G.getNormalMap(t) mais elle m'est retournée.

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
StephaniePeron
Full Member
Image


Messages: 158
RE: Calculs des normales en non-structuré (mercredi, 5 octobre 2016, 13:18) citation  
Bonjour Alexandre,

La fonction getNormalMap requiert en entrée une surface décrite par un maillage surfacique (structuré ou non). Ce n'est donc pas une liste d'éléments qu'il te faut envoyer mais la zone correspondant à ta paroi, que tu peux récupérer par extractBCOfType(t).
J'espère que cela répond à ta question,
a+

Ip enregistré Statut: déconnecté Profil | Site Web 
Alexandre Minot
Newbie
Image


Messages: 14
RE: Calculs des normales en non-structuré (mardi, 11 octobre 2016, 10:56) citation  
Bonjour Stéphanie,

Merci pour ta réponse. Cependant, je ne suis pas sûr de l'avoir bien comprise.

En effet, quand je fournit le nœud BC_t correspondant à ma paroi, cela ne fonctionne pas. Ceci me parait cohérent vu que le nœud BC_t ne contient pas de coordonnées, mais juste une liste d'éléments. À moins de fournir aussi l'arbre en argument, on ne peut pas remonter au coordonnées.

Du coup, qu'entends-tu par "zone correspondant à la paroi" ?

La fonction C.extractBCOfType ne fonctionne pas sur mon arbre. J'ai essayé :
C.extractBCOfType(tree,'BCWallViscousIsothermal')
et
C.extractBCOfType(tree,'FamilySpecified:BLADE')
mais cela retourne des listes vides.

Merci d'avance,
Alexandre.

Ip enregistré Statut: déconnecté Profil | Site Web 
StephaniePeron
Full Member
Image


Messages: 158
RE: Calculs des normales en non-structuré (mercredi, 12 octobre 2016, 13:38) citation  
Bonjour Alexandre,

Oui, il faut faire une manip pour extraire les parois comme un maillage surface (avec les coordonnées), ie la "zone correspondant à la paroi". C'est ce que sont censés faire extractBCOfType/Name.

Je ne comprends pas pourquoi ça ne fonctionne pas chez toi.
Est-ce un pb de version ? Essaie le script ci-dessous et dis-moi si ça te donne bien qq chose et non pas des '[]' :
Merci !

# - extractBCOfType (pyTree) -
import Converter.PyTree as C
import Generator.PyTree as G

a = G.cylinder((0,0,0), 1., 1.5, 360., 0., 1., (100,30,10))
a = C.addBC2Zone(a, 'wall', 'FamilySpecified:myBCWall', 'imin')
t = C.newPyTree(['Base']); t[2][1][2] += [a]
Z = C.extractBCOfType(t,'FamilySpecified:myBCWall')
print Z
# Autre maniere :
a = G.cylinder((0,0,0), 1., 1.5, 360., 0., 1., (100,30,10))
a = C.addBC2Zone(a, 'wall1', 'BCWallViscousIsothermal', 'jmin')
t = C.newPyTree(['Base']); t[2][1][2] += [a]
Z = C.extractBCOfType(a,'BCWallViscousIsothermal')
print 'Z = ', Z

Ip enregistré Statut: déconnecté Profil | Site Web 
Alexandre Minot
Newbie
Image


Messages: 14
RE: Calculs des normales en non-structuré (mercredi, 12 octobre 2016, 18:24) citation  
Bonjour Stéphanie,

Merci pour ces explications.

Le script test fonctionne bien, mais je ne parvient toujours pas à faire fonctionner la fonction extractBCOfType sur mon arbre.

J'ai extrait la surface, mais j'ai dû me louper dans la reconstruction de la table de connectivité car le calcul des normales ne fonctionne pas.

Alexandre.

Ip enregistré Statut: déconnecté Profil | Site Web 
StephaniePeron
Full Member
Image


Messages: 158
RE: Calculs des normales en non-structuré (jeudi, 13 octobre 2016, 09:12) citation  
Bonjour Alexandre,

Pourquoi as-tu besoin de reconstruire la connectivité si tu as récupéré la surface ? Si cette surface est une zone (surfacique - 2D) alors il y a une connectivité déjà reconstruite. Quelle tête a-t-elle si tu la visualises avec l'interface graphique de Cassiopée ?
a+

Ip enregistré Statut: déconnecté Profil | Site Web 
Alexandre Minot
Newbie
Image


Messages: 14
RE: Calculs des normales en non-structuré (jeudi, 13 octobre 2016, 10:46) citation  
Bonjour Stéphanie,

Que je mette une table de connectivité ou non, je me retrouve dans le else de getNormalMap.ccp qui cherche à localiser des éléments. Du coup, l'erreur suivante est levée :
getNormalMap: numbers of nodes per element must be equal to 3 or 4.

Je ne comprend toujours pas bien ce qu'il faut extraire. Une liste d'éléments dans un arbre 3D ne suffi elle pas à définir une surface ? Que fait t'on de la zone qu'on a extrait dans tout les cas ? Je cherche juste à rajouter des infos dans mon arbre, au niveau des BCDataSet_t.

Nous ne parvenons toujours pas à faire fonctionner l'interface graphique.

La surface que j'extrais ne s'affiche pas dans cgnsview (c'est normal, elle n'est pas correcte au sens de cgns).

Emma me dis qu'il y avait des soucis sur les config "2D". Dans mon cas, je n'ai qu'une seule rangée d'éléments en envergure. Ceci pose t'il soucis à la fonction extractBC ?





Ip enregistré Statut: déconnecté Profil | Site Web 
StephaniePeron
Full Member
Image


Messages: 158
RE: Calculs des normales en non-structuré (jeudi, 13 octobre 2016, 11:15) citation  
Je ne vois pas très bien... Est-ce que tu peux nous envoyer le cas par mail sur dmfn-cassiopee ?
Merci,
Stephanie

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

Software PBLang 4.65 © 2002-2003 by Martin Senftleben
Image