Meshing problem - Piston
-
Hello,
I am trying to do the tutorial from CAELinux related to the piston with salome 3.2.1
Despites the differences between salome-2 and salome-3, I have succeeded in all the steps but, I have met a problem related to the meshing: When I use the recommended sequence of mesher (Wire discretisation - Triangle(mefisto) - Tetrahedron (netgen), salome pops up an error message:
Mesh Computation Failed
Here are the messages from the console:
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH_I/SMESH_Gen_i.cxx [239] : SMESH_Gen_i::SMESH_Gen_i : standard constructor
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH_I/SMESH_Gen_i.cxx [1967] : SMESH_Gen_i::Load
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH_I/SMESH_Mesh_i.cxx [92] : SMESH_Mesh_i
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH/SMESH_Mesh.cxx [89] : SMESH_Mesh::SMESH_Mesh(int localId)
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH_I/SMESH_Gen_i.cxx [2768] : SMESH_Gen_i::Load completed
Loading required GL library /usr/lib/libGL.so.1
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH_I/SMESH_Mesh_i.cxx [92] : SMESH_Mesh_i
th. 3019982528 - Trace /dn22/SALOME/series3x/SMESH/Mandriva/SMESH_SRC/src/SMESH/SMESH_Mesh.cxx [89] : SMESH_Mesh::SMESH_Mesh(int localId)
CalcLocalH: 1403 Points 0 Elements 2818 Surface Elements
WARNING: Intersecting elements 1661 and 1757
el1 = np = 3 714 715 433
el2 = np = 3 716 379 382
layer1 = 1
layer2 = 1
WARNING: Intersecting elements 1662 and 1757
el1 = np = 3 434 433 715
el2 = np = 3 716 379 382
layer1 = 1
layer2 = 1
WARNING: Intersecting elements 1662 and 1838
el1 = np = 3 434 433 715
el2 = np = 3 379 716 381
layer1 = 1
layer2 = 1
WARNING: Intersecting elements 1757 and 1661
el1 = np = 3 716 379 382
el2 = np = 3 714 715 433
layer1 = 1
layer2 = 1
WARNING: Intersecting elements 1757 and 1662
el1 = np = 3 716 379 382
el2 = np = 3 434 433 715
layer1 = 1
layer2 = 1
WARNING: Intersecting elements 1838 and 1662
el1 = np = 3 379 716 381
el2 = np = 3 434 433 715
layer1 = 1
layer2 = 1
If i do the meshing using netgen 1D-2D-3D, there are no problems. I am able to launch an aster computation ...
Your sincerely,
Yann COLLETTE-
Most likely you have problems with 3D meshing.
-
First of all check your shape in Geometry module. Shape must be valid (But it seems to shape is valid since you have built 3D mesh “using netgen 1D-2D-3D”.
-
Check dimensions (bounding box to see sizes of your shape) in order to right choose of Algorithm parameters.
-
Define Hypothesis: Wire discretisation - Triangle(mefisto) - Tetrahedron ((netgen) or (netgen-1D-2D)) +Tetrahedron (netgen)
-
Define Algorithms and their parameters depending on sizes of your shape and its features
-
Compute mesh
Your mesh computation failed because of Intersecting elements. But 2D mesh has to be built.-
Check 2D mesh with controls – free edges, face orientation, mesh quality etc.
-
Change Algorithms and their parameters to improve mesh
-
Repeat steps 5-7
Mesh has to be computed for valid shape . Be careful selecting Algorithms and their parameters. Submesh creation can be useful for some regions with features if steps 1-8 lead to failure.
Igor-
Thanks for the hints. But, how do you explain that the meshing works fine using netgen 1D-2D-3D ? The mesh is fine enough to allow a computation via code-aster. Your sincerely, Yann COLLETTE
-
Hello,
You were right, there was a problem with the geometry (so, now, I don't understand why netgen 1D-2D-3D has worked)
I've checked the geometry of the piston. I've tested all the "check" method and every method gives a false result. Except one: Measures->Check and improve blocks compounds.
The error is "Extra hedge" and gives me the incriminate sub-shape Solid_1. I've checked and I found nothing labelled Solid_1 in the exploded piston !
How can I locate the incriminated extra hedge ?
Your sincerely,
Yann Collette
Yann Collette-
Hello,
I've tested the same process than with the piston tutorial but with a file from the opencascade website: a lever harm.
I have the same error than with the piston (extra edge). But the meshing phase works fine with tetrahedron(netgen) - max volume = 10000 / triange(mefisto) / wireframe - average length = 5.
Yann Collette-
Hello
The function "Check and improve blocks compounds" tells if your geometry can be meshed by the hexahedron algorithm. An extra edge shouldn't be a problem for the tetrahedron algorithm.
The combination of algorithms Wire-Mefisto-Netgen is very sensitive about their parameters. Try something simplier:
- 1D: Wire discretisation, Average length = 1
- 2D: Mefisto, Length from edges
- 3D: Netgen, no hypothesis
Of course, you must adapt the average length to a value closer to your shape.
If the computation succeed, you will see Netgen1D-2D-3D gives a much better result than Wire-Mefisto-Netgen.
Cheers,
Christophe
-
-
-
-
-
