Autor
|
Thema: Faces nicht definiert (3633 mal gelesen)
|
nekki Mitglied deutschland, Winsen
Beiträge: 6 Registriert: 22.05.2012
|
erstellt am: 22. Mai. 2012 12:07 <-- editieren / zitieren --> Unities abgeben:
Hallo... ich konstruiere gerade ein sperrwerk und es lief eigentlich auch alles super, bis ich die tore mit reingenommen habe...jetzt meldet mir openfoam ständig, dass die Faces nicht definiert sind... wieso denn bloß??? Ich kopier den Fehler hier mal rein, vielleicht kann mir ja jemand helfen, das wäre super !!! Code:
Create timeProcessing tag:2411 Starting reading points at line 3. Read 807 points. Processing tag:2412 Starting reading cells at line 1620. First occurrence of element type 11 for cell 1 at line 1621 First occurrence of element type 41 for cell 129 at line 2005 First occurrence of element type 111 for cell 973 at line 3693 Read 3375 cells and 844 boundary faces. Processing tag:2467 Starting reading patches at line 10445. For group 1 named einlass trying to read 10 patch face indices. For group 2 named auslass trying to read 10 patch face indices. For group 3 named wand trying to read 824 patch face indices. Of 844 so-called boundary faces 44 belong to two cells and are therefore internal Sorting boundary faces according to group (patch) 0: einlass is patch 1: auslass is patch 2: wand is faceZone Constructing mesh with non-default patches of size: einlass 10 auslass 10 --> FOAM Warning : From function polyMesh: olyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 614 Found 780 undefined faces in mesh; adding to default patch. Adding cell and face zones Face Zone wand 824 ideasUnvToFoam: ideasUnvToFoam.C:1242: int main(int, char**): Assertion `noveau > -1' failed. sh: line 1: 4562 Aborted ideasUnvToFoam -case /home/anneke/Este/tore12 /home/anneke/Este/netz4tore.unv To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details.
Danke schon mal Bearbeitet von Shor-ty: Code-Tags eingefügt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nekki Mitglied deutschland, Winsen
Beiträge: 6 Registriert: 22.05.2012
|
erstellt am: 25. Mai. 2012 07:28 <-- editieren / zitieren --> Unities abgeben:
|
dzi Mitglied
Beiträge: 20 Registriert: 02.11.2012 OF 2.2.2 , Salome 7.2.0
|
erstellt am: 02. Nov. 2012 12:01 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Hallo nekki (und alle), ich habe auch ein problem bei der konversion von salome nach openfoam. was war denn bei dir der entscheidende trick, das die inneren flaechen erkannt wurden? Ich habe nun per salome im mesh fuer alle teile gruppen erstellt, als .unv exportiert, die datei angepasst (wg bug in salome 6.5 beim export, http://www.openfoam.org/mantisbt/view.php?id=584). Die konvertierung ideasUnvToFoam wirft dann den Fehler. ... Code:
Create timeProcessing tag:164 Starting reading units at line 3. l:1 units:" SI: Meter (newton)" unitType:2 Unit factors: Length scale : 1 Force scale : 1 Temperature scale : 1 Temperature offset : 273.15 Processing tag:2420 Skipping tag 2420 on line 9 Skipping section at line 9.
Processing tag:2411 Starting reading points at line 20. Read 527 points. Processing tag:2412 Starting reading cells at line 1077. First occurrence of element type 11 for cell 1 at line 1078 First occurrence of element type 41 for cell 57 at line 1246 First occurrence of element type 111 for cell 853 at line 2838 Read 1860 cells and 796 boundary faces. Processing tag:2467 Starting reading patches at line 6560. For group 1 named wall_lower trying to read 296 patch face indices. For group 2 named wall_upper trying to read 296 patch face indices. For group 3 named top trying to read 68 patch face indices. For group 4 named bottom trying to read 68 patch face indices. For group 5 named interior trying to read 1860 patch face indices. For group 6 named intersection trying to read 68 patch face indices. Of 796 so-called boundary faces 68 belong to two cells and are therefore internal Sorting boundary faces according to group (patch) 0: wall_lower is patch 1: wall_upper is patch 2: top is patch 3: bottom is patch 4: interior is cellZone 5: intersection is faceZone Constructing mesh with non-default patches of size: wall_lower 296 wall_upper 296 top 68 bottom 68 Adding cell and face zones Cell Zone interior 1860 Face Zone intersection 68 ideasUnvToFoam: ideasUnvToFoam.C:1269: int main(int, char**): Assertion `noveau > -1' failed. Aborted
Hier ist meine geometrie (ein zylinder mit einer schnittflaeche in der mitte)cylinder_inlet_outlet_with_interior_forum.hdf Danke fuer die Hilfe dirk Bearbeitet von Shor-ty: Code-Tags eingefügt
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bartholomew83 Mitglied Student
Beiträge: 62 Registriert: 20.08.2012
|
erstellt am: 02. Nov. 2012 13:11 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Hi, kann mir deine Geometrie grad nicht angucken. (Schreibe vom Handy aus). Woran es genau hapert kann ich nicht sagen, aber ich hätte eine Vermutung: Wie hast Du den Zylinder erstellt? Hatte den Fehler auch mal beim Erstellen von verschiedenen "Revolutions". Hatte irgendwo einen Schritt vergessen oder beim Festlegen der Gruppen im GEOM-Modul einen Fehler gemacht. (Ein Face vergessen, etc) Wenn Du die zu rotierenden Flächen aus 2D-Zeichnungen erstellst, ist es wichtig, dass alle vernünftig geschlossen sind. Erstelle dir für die Rotationsachsen Vektoren. Nach erneutem (geduldigem und sauberem) Aufbauen der Geometrie hatte es bei mir dann funktioniert und Dein beschriebener Fehler war weg. Wenn ich nicht zu spät von der Arbeit komme, kann ich ggf. nachher zu Hause mal drübergucken. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dzi Mitglied
Beiträge: 20 Registriert: 02.11.2012 OF 2.2.2 , Salome 7.2.0
|
erstellt am: 02. Nov. 2012 13:45 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Hi, danke fuers die schnelle Antwort! Wie ich meine geometrie erstellt habe: Der zylinder wurde aus dem Salome direkt als new entity erstellt, und dann mit einer Ebene in der Mitte halbiert (als operation-partition). Dann das ganze ding explodiert und hier die einzelteile in gruppen gepackt. Im mesh modul dann zuerst die ganze Partition gemesht, dann einzelne mesh gruppen (top, bottom, intersect, interior, wall) erstellt. Mir ist aber auch nicht ganz klar, ob ich die gruppierungen sowohl im geom alsauch im mesh modul vornehmen muss, um die gruppen dann im openfoam wiederzufinden. Der zylinder ohne interface hat uebrigens ohne probleme funktionier. Ich habe hier nochmal den python dump, falls der filedownload nicht klappen sollte. danke nochmals + gruesse d. Code:
# -*- coding: iso-8859-1 -*-### ### This file is generated automatically by SALOME v6.5.0 with dump python functionality ### import sys import salome salome.salome_init() theStudy = salome.myStudy import salome_notebook notebook = salome_notebook.notebook sys.path.insert( 0, r'/home/dirk/salome/projects') ### ### GEOM component ### import GEOM import geompy import math import SALOMEDS geompy.init_geom(theStudy)
Cylinder_1 = geompy.MakeCylinderRH(100, 300) [Face_1,Face_2,Face_3] = geompy.ExtractShapes(Cylinder_1, geompy.ShapeType["FACE"], True) [Shell_1] = geompy.ExtractShapes(Cylinder_1, geompy.ShapeType["SHELL"], True) listSubShapeIDs = geompy.SubShapeAllIDs(Face_1, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Face_2, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Face_3, geompy.ShapeType["FACE"]) inlet = geompy.CreateGroup(Face_1, geompy.ShapeType["FACE"]) geompy.UnionIDs(inlet, [1]) wall = geompy.CreateGroup(Face_2, geompy.ShapeType["FACE"]) geompy.UnionIDs(wall, [1]) outlet = geompy.CreateGroup(Face_3, geompy.ShapeType["FACE"]) geompy.UnionIDs(outlet, [1]) Vertex_1 = geompy.MakeVertex(0, 0, 150) Vertex_2 = geompy.MakeVertex(0, 0, 0) Vector_1 = geompy.MakeVector(Vertex_2, Vertex_1) Vector_1_vertex_3 = geompy.GetSubShape(Vector_1, [3]) Plane_1 = geompy.MakePlane(Vector_1_vertex_3, Vector_1, 2000) Partition_1 = geompy.MakePartition([Cylinder_1], [Plane_1], [], [], geompy.ShapeType["SOLID"], 0, [], 0) [Face_4,Face_5,Face_6,Face_7,Face_8] = geompy.ExtractShapes(Partition_1, geompy.ShapeType["FACE"], True) listSubShapeIDs = geompy.SubShapeAllIDs(Face_4, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Face_5, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Face_6, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Face_7, geompy.ShapeType["FACE"]) listSubShapeIDs = geompy.SubShapeAllIDs(Face_8, geompy.ShapeType["FACE"]) bottom = geompy.CreateGroup(Face_4, geompy.ShapeType["FACE"]) geompy.UnionIDs(bottom, [1]) wall_lower = geompy.CreateGroup(Face_5, geompy.ShapeType["FACE"]) geompy.UnionIDs(wall_lower, [1]) intersection = geompy.CreateGroup(Face_6, geompy.ShapeType["FACE"]) geompy.UnionIDs(intersection, [1]) wall_upper = geompy.CreateGroup(Face_7, geompy.ShapeType["FACE"]) geompy.UnionIDs(wall_upper, [1]) top = geompy.CreateGroup(Face_8, geompy.ShapeType["FACE"]) geompy.UnionIDs(top, [1]) geompy.addToStudy( Cylinder_1, 'Cylinder_1' ) geompy.addToStudyInFather( Cylinder_1, Face_1, 'Face_1' ) geompy.addToStudyInFather( Cylinder_1, Face_2, 'Face_2' ) geompy.addToStudyInFather( Cylinder_1, Face_3, 'Face_3' ) geompy.addToStudyInFather( Cylinder_1, Shell_1, 'Shell_1' ) geompy.addToStudyInFather( Face_1, inlet, 'inlet' ) geompy.addToStudyInFather( Face_2, wall, 'wall' ) geompy.addToStudyInFather( Face_3, outlet, 'outlet' ) geompy.addToStudy( Vertex_1, 'Vertex_1' ) geompy.addToStudy( Vertex_2, 'Vertex_2' ) geompy.addToStudy( Vector_1, 'Vector_1' ) geompy.addToStudyInFather( Vector_1, Vector_1_vertex_3, 'Vector_1:vertex_3' ) geompy.addToStudy( Plane_1, 'Plane_1' ) geompy.addToStudy( Partition_1, 'Partition_1' ) geompy.addToStudyInFather( Partition_1, Face_4, 'Face_4' ) geompy.addToStudyInFather( Partition_1, Face_5, 'Face_5' ) geompy.addToStudyInFather( Partition_1, Face_6, 'Face_6' ) geompy.addToStudyInFather( Partition_1, Face_7, 'Face_7' ) geompy.addToStudyInFather( Partition_1, Face_8, 'Face_8' ) geompy.addToStudyInFather( Face_4, bottom, 'bottom' ) geompy.addToStudyInFather( Face_5, wall_lower, 'wall_lower' ) geompy.addToStudyInFather( Face_6, intersection, 'intersection' ) geompy.addToStudyInFather( Face_7, wall_upper, 'wall_upper' ) geompy.addToStudyInFather( Face_8, top, 'top' ) ### ### SMESH component ### import smesh, SMESH, SALOMEDS smesh.SetCurrentStudy(theStudy) import StdMeshers import NETGENPlugin NETGEN_2D3D = smesh.CreateHypothesis('NETGEN_2D3D', 'NETGENEngine') NETGEN_2D_ONLY = smesh.CreateHypothesis('NETGEN_2D_ONLY', 'NETGENEngine') Mesh_Partition = smesh.Mesh(Partition_1) Regular_1D = Mesh_Partition.Segment() Nb_Segments_1 = smesh.CreateHypothesis('NumberOfSegments') Nb_Segments_1.SetNumberOfSegments( 10 ) Nb_Segments_1.SetDistrType( 0 ) Quadrangle_2D = smesh.CreateHypothesis('Quadrangle_2D') Hexa_3D = smesh.CreateHypothesis('Hexa_3D') Max_Size_1 = Regular_1D.MaxSize(41.2329) MEFISTO_2D = Mesh_Partition.Triangle(algo=smesh.MEFISTO) NETGEN_3D = Mesh_Partition.Tetrahedron() NETGEN_2D = smesh.CreateHypothesis('NETGEN_2D', 'libNETGENEngine.so') wall_lower_1 = Mesh_Partition.GroupOnGeom(wall_lower,'wall_lower',SMESH.FACE) wall_upper_1 = Mesh_Partition.GroupOnGeom(wall_upper,'wall_upper',SMESH.FACE) wall_lower_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 )) wall_upper_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 )) top_1 = Mesh_Partition.GroupOnGeom(top,'top',SMESH.FACE) top_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 )) bottom_1 = Mesh_Partition.GroupOnGeom(bottom,'bottom',SMESH.FACE) bottom_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 )) interior = Mesh_Partition.GroupOnGeom(Partition_1,'interior',SMESH.VOLUME) interior.SetColor( SALOMEDS.Color( 0, 0.666667, 1 )) intersection_1 = Mesh_Partition.GroupOnGeom(intersection,'intersection',SMESH.FACE) intersection_1.SetColor( SALOMEDS.Color( 0, 0.666667, 1 )) isDone = Mesh_Partition.Compute() #Mesh_Partition.GetMesh().RemoveSubMesh( smeshObj_1 ) ### smeshObj_1 has not been yet created ## some objects were removed aStudyBuilder = theStudy.NewBuilder() ## set object names smesh.SetName(NETGEN_2D3D, 'NETGEN_2D3D') smesh.SetName(NETGEN_2D_ONLY, 'NETGEN_2D_ONLY') smesh.SetName(Mesh_Partition.GetMesh(), 'Mesh_Partition') smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D') smesh.SetName(Nb_Segments_1, 'Nb. Segments_1') smesh.SetName(Quadrangle_2D, 'Quadrangle_2D') smesh.SetName(Hexa_3D, 'Hexa_3D') smesh.SetName(Max_Size_1, 'Max Size_1') smesh.SetName(MEFISTO_2D.GetAlgorithm(), 'MEFISTO_2D') smesh.SetName(NETGEN_3D.GetAlgorithm(), 'NETGEN_3D') smesh.SetName(NETGEN_2D, 'NETGEN_2D') smesh.SetName(wall_lower_1, 'wall_lower') smesh.SetName(wall_upper_1, 'wall_upper') smesh.SetName(top_1, 'top') smesh.SetName(bottom_1, 'bottom') smesh.SetName(interior, 'interior') smesh.SetName(intersection_1, 'intersection') if salome.sg.hasDesktop(): salome.sg.updateObjBrowser(1)
[i][Bearbeitet von Shor-ty: Code-Tags eingefügt/i]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bartholomew83 Mitglied Student
Beiträge: 62 Registriert: 20.08.2012
|
erstellt am: 06. Nov. 2012 08:47 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Hi, sorry, dass ich mich jetzt erst melde. also, ich hab gestern abend nur nochmal kurz drübergeguckt. Das mit den Gruppen hast Du richtig gemacht. Ich hab für die Groups einen etwas anderen weg gemacht. Der gibt den Fehler da aber auch noch aus. Ich verstehe Deine Geometrie auch noch nicht so ganz? Soll das einfach ein Rohr sein, in dem in der Mitte eine Kontrollfläche für Foam eingefügt hast? Ich vermute, dass Dein Schnitt in der Mitte des Zylinders unzulässig ist, weil der Körper dadurch an den Stellen "offen" ist. Sonst versuch mal einen etwas anderen weg über ein "2D-Sketch"+erstelltes Face, welches Du um einen erstellen Vektor rotieren lässt (Revolution). Du musst nur drauf achten, dass die 2D-Zeichnung vor dem Erstellen des "Face" in sich geschlossen ist. Hat mir da nämlich dann den gleichen Fehler ausgegeben. Bei diesem Salome-Tutorial wird gezeigt, wie man rotieren lassen kann. Wenn ich heute abend dazu komme, guck ich nochmal drüber. Hoffe, das hilft bisher etwas. Gruß Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dzi Mitglied
Beiträge: 20 Registriert: 02.11.2012 OF 2.2.2 , Salome 7.2.0
|
erstellt am: 06. Nov. 2012 10:08 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
|
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 06. Nov. 2012 15:51 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Zitat: Original erstellt von dzi:
Ich glaube mittlerweile, das ganze geht generell einfacher ohne innere wände, sondern mit komplett getrennten koerpern, die ich dann unabhaengig ueber .univ exportiere. Hat das schon mal jemand probiert? danke und gruesse!
mach ich ständig! chtMulti ist super. Hab auch schon mehrere Tutorials für diesen Solver hier im Forum als auch auf cfd-online.com gepostet. Du kannst auch alles mit snappyHexMesh machen und mit cellZones arbeiten. Gutes Gelingen ------------------ Grüße Tobias H.
PS: Bitte verwende die Code-Tags. Damit lässt sich das alles viel leichter lesen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Shor-ty Moderator
Beiträge: 2463 Registriert: 27.08.2010 OpenFOAM-dev (Foundation) OpenFOAM-xxxx (ESI)
|
erstellt am: 06. Nov. 2012 16:28 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
|
dzi Mitglied
Beiträge: 20 Registriert: 02.11.2012 OF 2.2.2 , Salome 7.2.0
|
erstellt am: 06. Nov. 2012 16:32 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
|
Michael.Mueller Mitglied
Beiträge: 1 Registriert: 18.11.2015
|
erstellt am: 18. Nov. 2015 14:38 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Hallo Ich habe das selbe Problem. Bei mir kommt ebenfalls die Fehlermeldung, dass 780 nicht definierte Flächen vorliegen!! Wie hast du denn dein Problem gelöst? Außerdem habe ich eine Frage, wie kann ich trotz Partition erreichen, dass keine faceZone sondern ein patch definiert wird. In OpenFoam brauch ich schließlich patches im Ordner boundary. Danke für deine Hilfe! Viele Grüße Michi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
cristopf Mitglied
Beiträge: 47 Registriert: 07.01.2016
|
erstellt am: 07. Jan. 2016 08:55 <-- editieren / zitieren --> Unities abgeben: Nur für nekki
Hallo zusammen, ich habe genau das gleiche Problem. Wenn ich z.B. einen einfachen Block habe und in einem Bereich das Netz verfeinern will, setze ich einen weiteren kleineren Block in den großen und verwende dann Partition. Danach wende ich Explode an, um den großen Block in mehrere Teile zu unterteilen, damit ich diese dann unterschiedlich vernetzen kann. Ich vernetze dann Partition und erstelle Sub Meshes für die Bereiche meiner Wahl und exportiere das Netz als UNV.File. Dadurch erhalte ich bei der Konvertierung UNVtoFoam leider auch faceZones anstatt patches. Gibt es eine Möglichkeit dieses Problem zu beheben? Liebe Grüße Christof Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|