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 salome2 and salome3, 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 1D2D3D, 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 1D2D3D”.

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 (netgen1D2D)) +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 57
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 18 lead to failure.
Igor
Thanks for the hints. But, how do you explain that the meshing works fine using netgen 1D2D3D ? The mesh is fine enough to allow a computation via codeaster. Your sincerely, Yann COLLETTE

Hello,
You were right, there was a problem with the geometry (so, now, I don't understand why netgen 1D2D3D 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 subshape 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 WireMefistoNetgen 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 Netgen1D2D3D gives a much better result than WireMefistoNetgen.
Cheers,
Christophe




