CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   makeAxialMesh > collapseEdges!! (http://www.cfd-online.com/Forums/openfoam/85105-makeaxialmesh-collapseedges.html)

billynoe February 17, 2011 11:14

makeAxialMesh > collapseEdges!!
 
Hi I am running makeAxialMesh utility on open Foam 1.7.
my mesh was converted from gmshToFoam and passes checkMesh.
I run "makeAxialMesh -axis patch1 -wedge patch0 -wedgeAngle 5"
this passes...
then "checkMesh" ... fails 6 mesh checks...
then "collapseEdges .0001 175 >log"

Quote:

Create time

Create polyMesh for time = 1e-05

Merging:
edges with length less than 0.0001 meters
edges split by a point with edges in line to within 175 degrees

Collapsing 80 small edges
Cell:10 uses faces:4(32 33 34 30110) of which too many are marked for removal:
33 30110
Cell:288 uses faces:4(930 931 932 35593) of which too many are marked for removal:
931 932
Cell:299 uses faces:4(967 968 969 30475) of which too many are marked for removal:
969 30475
...

Quote:

Cell:15560 uses faces:4(35228 14836 20802 28140) of which too many are marked for removal:
35228 14836 20802 28140
Morphing ...
Collapsing 0 small edges
Collapsing 0 in line edges

mvoss February 17, 2011 11:35

reduce the length .. so less edges will be taken into account.
Try 1e-8 ... if zero edges are collapsed... increase the value.

hm...

it seems to me like the resolution of the mesh comes close to the collapsed edges length,or?

billynoe February 17, 2011 11:44

yes the slab is 50 units thick and the min setchar length is 50

billynoe February 17, 2011 11:47

I will try to reduce slab thickness inorder to maintain mesh resolution

billynoe February 17, 2011 16:15

I reduced the slab thickness to 10 units increased the mesh size to 100 units

HTML Code:

noebill@ubuntu:~/OpenFOAM/noebill-1.7.1/run/projects/ico$ collapseEdges 1e-9 175 >log
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#2  Uninterpreted:
#3 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/collapseEdges"
#4 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/collapseEdges"
#5  __libc_start_main in "/lib/libc.so.6"
#6 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/collapseEdges"
Segmentation fault
noebill@ubuntu:~/OpenFOAM/noebill-1.7.1/run/projects/ico$ collapseEdges 1e-5 175 >log
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#2  Uninterpreted:
#3 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/collapseEdges"
#4 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/collapseEdges"
#5  __libc_start_main in "/lib/libc.so.6"
#6 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/collapseEdges"
Segmentation fault

HTML Code:

Create time

Create polyMesh for time = 1e-05

Merging:
    edges with length less than 1e-05 meters
    edges split by a point with edges in line to within 175 degrees

Collapsing 9 small edges
Cell:28 uses faces:4(76 924 950 1272) of which too many are marked for removal:
    924 950

HTML Code:

Cell:328 uses faces:4(1005 1006 1186 268) of which too many are marked for removal:
    1186 268
Morphing ...
Collapsing 0 small edges
Collapsing 0 in line edges


mvoss February 17, 2011 16:48

is the mesh distorted somehow?
the error isnīt very clear.
Did you try to change the angle (e.g. 180)?

billynoe February 17, 2011 17:04

I ran checkMesh on the slab and it passed with no errors.
makeAxialMesh runs fine and it looks correct in paraFoam.
after makeAxialMesh it fails checkMesh and icoFoam crashes on time step 0.

billynoe February 17, 2011 17:09

I tried 180 and got the same result

checkMesh results
Code:

Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:          267
    faces:            1456
    internal faces:  924
    cells:            595
    boundary patches: 7
    point zones:      0
    face zones:      0
    cell zones:      1

Overall number of cells of each type:
    hexahedra:    0
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    595
    polyhedra:    0

Checking topology...
    Boundary definition OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
    Patch              Faces    Points  Surface topology                 
    patch0              0        0        ok (empty)                       
    patch1              14      18      ok (non-closed singly connected) 
    patch2              2        4        ok (non-closed singly connected) 
    patch3              2        4        ok (non-closed singly connected) 
    defaultFaces        122      126      ok (non-closed singly connected) 
    patch0_pos          196      133      ok (non-closed singly connected) 
    patch0_neg          196      133      ok (non-closed singly connected) 

Checking geometry...
    Overall domain bounding box (0 -1524 -332.38) (7620 192.38 332.38)
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#1  Foam::sigFpe::sigFpeHandler(int) in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#2  Uninterpreted:
#3  Foam::polyMesh::calcDirections() const in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#4  Foam::polyMesh::geometricD() const in "/opt/openfoam171/lib/linuxGccDPOpt/libOpenFOAM.so"
#5 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/checkMesh"
#6 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/checkMesh"
#7  __libc_start_main in "/lib/libc.so.6"
#8 
 in "/opt/openfoam171/applications/bin/linuxGccDPOpt/checkMesh"
Floating point exception


mvoss February 18, 2011 04:27

did you start with a real 3D mesh?
can you show a pic of the initial geom. and mesh?

billynoe February 18, 2011 08:45

yes it started out 3D I believe that gmshToFoam will only work on 3D meshes.
I will try to post pictures later today.

billynoe February 18, 2011 10:30

http://i1138.photobucket.com/albums/...noe79/slab.jpg
mesh before makeAxialMesh it is 3D just very thin 10 unit x 1500 units x 7500 units

http://i1138.photobucket.com/albums/.../wedgemesh.jpg

This is after makeAxialMesh but collapseEdges didn't work and I get the checkMesh message above.

mvoss February 18, 2011 10:34

Quote:

Checking geometry...
Overall domain bounding box (0 -1524 -332.38) (7620 192.38 332.38)
how big is your domain?

billynoe February 18, 2011 10:43

I believe those are mm I haven't done transformPoints yet to get into meters.
the radius of the "cylinder" is 30 ft. and the depth is about 5 ft.

mvoss February 18, 2011 10:50

move the mesh to positive y-coord. donīt cross y=0.

billynoe February 18, 2011 11:21

got the same results.

billynoe February 18, 2011 11:50

from source code for collapseEdges
Quote:

Description
00025 Collapse short edges and combines edges that are in line.
00026
00027 - collapse short edges. Length of edges to collapse provided as argument.
00028 - merge two edges if they are in line. Maximum angle provided as argument.
00029 - remove unused points.
00030
00031 Cannot remove cells. Can remove faces and points but does not check
00032 for nonsense resulting topology.
00033
00034 When collapsing an edge with one point on the boundary it will leave
00035 the boundary point intact. When both points inside it chooses random. When
00036 both points on boundary random again. Note: it should in fact use features
00037 where if one point is on a feature it collapses to that one. Alas we don't
00038 have features on a polyMesh.
00039
00040 \*---------------------------------------------------------------------------*/
I think the problem is there are cells in there? eg.
Quote:

Cell:28 uses faces:4(76 924 950 1272) of which too many are marked for removal:
924 950

billynoe February 18, 2011 16:55

figured out the collapseEdges thing. makeAxialMesh does not like tets so I changed to a structured mesh and it passed collapseEdges still failing one checkMesh though.

mvoss February 21, 2011 05:29

hi,
yes a fully tet-mesh isnīt working afaik. But you can use auto-meshers to produce a 2D triag.mesh extrude/revolve it and apply makeAxialMesh.


All times are GMT -4. The time now is 13:15.