CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Paraview & paraFoam

ParaView shows bad cells, checkMesh doesn't seem to notice.

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   August 15, 2014, 22:02
Question ParaView shows bad cells, checkMesh doesn't seem to notice.
  #1
New Member
 
CoolHand's Avatar
 
Ben
Join Date: Jan 2014
Location: South Florida
Posts: 19
Rep Power: 4
CoolHand is on a distinguished road
Hey OpenFOAMers,

So I've got this mesh. blockMesh runs without errors and checkMesh does not report any bad cells. Viewing the mesh from the outside or from the inside (Cull Front Face) the mesh looks good, but then if I take a clip to look at the interior volume cells I can see some uglyness (See third image attached). Any idea whats going on here?

checkMesh Log:

Code:
   Mesh stats
    points:           869716
    faces:            2557500
    internal faces:   2506500
    cells:            844000
    faces per cell:   6
    boundary patches: 9
    point zones:      0
    face zones:       0
    cell zones:       0

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

Checking topology...
    Boundary definition OK.
    Cell to face addressing 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                  
    inlet               2400     2501     ok (non-closed singly connected)  
    outlet              7200     7381     ok (non-closed singly connected)  
    leftWall            9000     9196     ok (non-closed singly connected)  
    rightWall           9000     9196     ok (non-closed singly connected)  
    upperWall           7700     7836     ok (non-closed singly connected)  
    lowerWall           5700     5875     ok (non-closed singly connected)  
    cylWall             3200     3280     ok (non-closed singly connected)  
    cylTop              2000     2041     ok (non-closed singly connected)  
    trip                4800     4941     ok (non-closed singly connected)  

Checking geometry...
    Overall domain bounding box (-0.7 0 -0.3) (0.4 0.04 0.3)
    Mesh (non-empty, non-wedge) directions (1 1 1)
    Mesh (non-empty) directions (1 1 1)
    Boundary openness (-3.961e-18 -1.165e-14 4.242e-15) OK.
    Max cell openness = 2.453e-16 OK.
    Max aspect ratio = 319.2 OK.
    Minimum face area = 2.5e-07. Maximum face area = 0.000224.  Face         area magnitudes OK.
    Min volume = 7.556e-10. Max volume = 2.708e-07.  Total volume = 0.02634.  Cell volumes OK.
    Mesh non-orthogonality Max: 41.89 average: 7.464
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.7542 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
blockMeshDict: (Sorry about the weird spacing. It didn't copy & paste well.)

Code:
convertToMeters 0.1;

vertices
(
	(-0.25	  0		  0.25)	//0
	(0.25	  0 		0.25)	//1
	(0.25 	  0 		-0.25)	//2
	(-0.25	  0 		-0.25)	//3
	(-0.707	  0 		0.707)	//4
	(0.707 	  0 		0.707)	//5
	(0.707 	  0 		-0.707)	//6
	(-0.707 	  0 		-0.707)	//7
	(-1.414 	  0 		1.414)	//8
	(1.414	  0 		1.414)	//9
	(1.414 	  0 		-1.414)	//10
	(-1.414 	  0 		-1.414)	//11
	
	(-7 		  0 		3)		//12
	(-1.414 	  0 		3)		//13
	(1.414	  0 		3)		//14
	(4 		  0 		3)		//15

	(-7 		  0 		1.414)	//16
	(4 		  0 		1.414)	//17
	(-7 	  	  0 		-1.414)	//18
	(4 		  0 		-1.414)	//19

	(-7 		  0 		-3)		//20
	(-1.414 	  0 		-3)		//21
	(1.414 	  0 		-3)		//22
	(4 		  0 		-3)		//23

/////////////////////////////////////////////////////

	(-0.25	 0.02 	 	  0.25)		//24
	(0.25	 0.02 		  0.25)		//25
	(0.25 	 0.02 	         -0.25)	//26
	(-0.25	 0.02 	         -0.25)	//27
	(-0.707	 0.02 	        0.707)	//28
	(0.707  	 0.02 	         0.707)	//29
	(0.707 	 0.02 	        -0.707)	//30
	(-0.707 	 0.02 		-0.707)	//31
	(-1.414 	 0.02 		 1.414)	//32
	(1.414	 0.02 	         1.414)	//33
	(1.414 	 0.02 		-1.414)	//34
	(-1.414 	 0.02 		-1.414)	//35
	
	(-7 		   0.02		3)		//36
	(-1.414 	   0.02 		3)		//37
	(1.414	   0.02 		3)		//38
	(4 		   0.02 		3)		//39

	(-7 	   	   0.02 		1.414)	//40
	(4 		   0.02 		1.414)	//41
	(-7 		   0.02 		-1.414)	//42
	(4 		   0.02 		-1.414)	//43

	(-7 		   0.02 		-3)		//44
	(-1.414 	   0.02 		-3)		//45
	(1.414 	   0.02 		-3)		//46
	(4 		   0.02 		-3)		//47

/////////////////////////////////////////////////////

	(-0.25	 	0.4		 0.25)		//48
	(0.25	        0.4 	         0.25)		  //49
	(0.25 		0.4 	        -0.25)		//50
	(-0.25		0.4 	        -0.25)		//51
	(-0.707	        0.4 	        0.707)		//52
	(0.707 	        0.4 		0.707)	//53
	(0.707 	        0.4 		-0.707)	//54
	(-0.707 	        0.4 	         -0.707)	//55
	(-1.414 	        0.4 		1.414)	//56
	(1.414		0.4 	         1.414)	//57
	(1.414 	        0.4 		-1.414)	//58
	(-1.414 	        0.4 		-1.414)	//59
	
	(-7 		        0.4		  3)		//60
	(-1.414 	        0.4 		3)		//61
	(1.414		0.4 		3)		//62
	(4 		        0.4 		3)		//63

	(-7 		        0.4 		1.414)	//64
	(4 		        0.4 		1.414)	//65
	(-7 		        0.4 		-1.414)	//66
	(4 		        0.4 		-1.414)	//67

	(-7 		       0.4 		-3)		//68
	(-1.414 	       0.4 		-3)		//69
	(1.414  	       0.4 		-3)		//70
	(4 		       0.4 		-3)		//71

);

blocks
(
    hex (4 5 29 28 8 9 33 32) 	    (20 40 20) simpleGrading (1 1 1)		//0
    hex (6 10 34 30 5 9 33 29)	    (20 40 20) simpleGrading (1 1 1)		//1
    hex (11 10 34 35 7 6 30 31) 	  (20 40 20) simpleGrading (1 1 1)		//2
    hex (11 7 31 35 8 4 28 32) 	    (20 40 20) simpleGrading (1 1 1)		//3
    hex (16 8 32 40 12 13 37 36) 	  (35 40 20) simpleGrading (1 1 1)		//4
    hex (8 9 33 32 13 14 38 37) 	  (20 40 20) simpleGrading (1 1 1)		//5
    hex (9 17 41 33 14 15 39 38) 	  (20 40 20) simpleGrading (1 1 1)		//6
    hex (18 11 35 42 16 8 32 40) 	  (35 40 20) simpleGrading (1 1 1)		//7
    hex (10 19 43 34 9 17 41 33) 	  (20 40 20) simpleGrading (1 1 1)		//8
    hex (20 21 45 44 18 11 35 42) 	(35 40 20) simpleGrading (1 1 1)		//9
    hex (21 22 46 45 11 10 34 35) 	(20 40 20) simpleGrading (1 1 1)		//10
    hex (22 23 47 46 10 19 43 34) 	(20 40 20) simpleGrading (1 1 1)		//11

    hex (27 26 50 51 24 25 49 48) 	(20 80 20) simpleGrading (1 10 1)		//12
    hex (24 25 49 48 28 29 53 52) 	(20 80 20) simpleGrading (1 10 1)		//13
    hex (26 30 54 50 25 29 53 49) 	(20 80 20) simpleGrading (1 10 1)		//14
    hex (31 30 54 55 27 26 50 51) 	(20 80 20) simpleGrading (1 10 1)		//15
    hex (31 27 51 55 28 24 48 52) 	(20 80 20) simpleGrading (1 10 1)		//16
    hex (28 29 53 52 32 33 57 56) 	(20 80 20) simpleGrading (1 10 1)		//17
    hex (30 34 58 54 29 33 57 53) 	(20 80 20) simpleGrading (1 10 1)		//18
    hex (35 34 58 59 31 30 54 55) 	(20 80 20) simpleGrading (1 10 1)		//19
    hex (35 31 55 59 32 28 52 56) 	(20 80 20) simpleGrading (1 10 1)		//20
    hex (40 32 56 64 36 37 61 60) 	(35 80 20) simpleGrading (1 10 1)		//21
    hex (32 33 57 56 37 38 62 61) 	(20 80 20) simpleGrading (1 10 1)		//22
    hex (33 41 65 57 38 39 63 62) 	(20 80 20) simpleGrading (1 10 1)		//23
    hex (42 35 59 66 40 32 56 64) 	(35 80 20) simpleGrading (1 10 1)		//24
    hex (34 43 67 58 33 41 65 57) 	(20 80 20) simpleGrading (1 10 1)		//25
    hex (44 45 69 68 42 35 59 66) 	(35 80 20) simpleGrading (1 10 1)		//26
    hex (45 46 70 69 35 34 58 59) 	(20 80 20) simpleGrading (1 10 1)		//27
    hex (46 47 71 70 34 43 67 58) 	(20 80 20) simpleGrading (1 10 1)		//28

);

edges
(
	arc 4 5  	  (0 	0 	1)
	arc 5 6  	  (1	0 	0)
	arc 6 7  	  (0 	0 	-1)
	arc 4 7  	  (-1	0 	0)
	arc 8 9  	  (0 	0 	2)
	arc 9 10   	(2 	0 	0)
	arc 10 11  	(0 	0 	-2)
	arc 8 11   	(-2 	0  0)	

	arc 28 29  	(0 	0.02 	1)
	arc 29 30  	(1 	0.02 	0)
	arc 30 31  	(0 	0.02 	-1)
	arc 28 31 	(-1 0.02 	0)
	arc 32 33  	(0 	0.02 	2)
	arc 33 34   (2 	0.02 	0)
	arc 34 35  	(0 	0.02	-2)
	arc 32 35   	(-2 	0.02 	0)

	arc 52 53 	(0 	0.4 	1)
	arc 53 54  	(1	0.4 	0)
	arc 54 55  	(0 	0.4	-1)
	arc 52 55 	(-1	0.4 	0)
	arc 56 57  	(0 	0.4 	2)
	arc 57 58   (2 	0.4	  0)
	arc 58 59  	(0 	0.4 	-2)
	arc 56 59   (-2 0.4 	0)


);

boundary
(
    inlet
    {
        type patch;
        faces
        (
		(12 36 40 16)
		(16 40 42 18)
		(18 42 44 20)
        );
    }
    outlet
    {
        type patch;
        faces
        (
		(23 47 43 19)
		(19 43 41 17)
		(17 41 39 15)
		(47 71 67 43)
		(43 67 65 41)
		(41 65 63 39)
        );
    }
    leftWall
    {
        type symmetryPlane;
        faces
        (
		(20 44 45 21)
		(21 45 46 22)
		(22 46 47 23)
		(44 68 69 45)
		(45 69 70 46)
		(46 70 71 47)
        );
    }
    rightWall
    {
        type symmetryPlane;
        faces
        (
		(15 39 38 14)
		(14 38 37 13)
		(13 37 36 12)
		(39 63 62 38)
		(38 62 61 37)
		(37 61 60 36)
        );
    }
    upperWall
    {
        type symmetryPlane;
        faces
        (
		(61 56 64 60)
		(62 57 56 61)
		(63 65 57 62)
		(56 59 66 64)
		(65 67 58 57)
		(59 69 68 66)
		(58 70 69 59)
		(67 71 70 58)
		(57 53 52 56)
		(57 58 54 53)
		(54 58 59 55)
		(52 55 59 56)
		(53 49 48 52)
		(53 54 50 49)
		(50 54 55 51)
		(48 51 55 52)
		(49 50 51 48)
        );		
    } 
    lowerWall
    {
        type wall;
        faces
        (
		(12 16 8 13)
		(13 8 9 14)
		(14 9 17 15)
		(16 18 11 8)
		(9 10 19 17)
		(18 20 21 11)
		(11 21 22 10)
		(10 22 23 19)
		(8 4 5 9)
		(5 6 10 9)
		(7 11 10 6)
		(8 11 7 4)
        );
    }
    cylWall
    {
        type wall;
        faces
        (
		(6 30 31 7)
		(5 29 30 6)
		(5 29 28 4)
		(7 31 28 4)
        );
    }
    cylTop
    {
        type wall;
        faces
        (
		(28 24 25 29)
		(25 26 30 29)
		(27 31 30 26)
		(28 31 27 24)
		(24 27 26 25)
	 );
     }
     trip
     {	
        type wall;
        faces
        (
		(36 60 64 40)
		(40 64 66 42)
		(42 66 68 44)
	 );
     }
);

mergePatchPairs
(
);
CoolHand is offline   Reply With Quote

Old   August 16, 2014, 05:31
Default
  #2
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 9,748
Blog Entries: 39
Rep Power: 103
wyldckat is a glorious beacon of lightwyldckat is a glorious beacon of lightwyldckat is a glorious beacon of lightwyldckat is a glorious beacon of lightwyldckat is a glorious beacon of light
Greetings Ben,

Two hints:
  1. Use the filter Extract Cells by Region, because this filter will preserve the cell structure. Clip and Slice filters will strictly need to tessellate/triangulate the mesh, which is why you got some weird triangles appearing in some places.
  2. Use the polyhedron option (i.e., to not decompose polyhedrons). foamToVTK also has this option, namely "-poly". This will avoid the decomposition of polyhedral cells and make it easier to diagnose the mesh. Problem is that the Slice and Clip filters can later on give you problems on more complex cells, which they are not able to decompose and can result in a crash.

edit: I've now added this to the FAQ, with more details: http://openfoamwiki.net/index.php/FA...is_in_ParaView

Best regards,
Bruno
__________________

Last edited by wyldckat; August 16, 2014 at 06:16. Reason: see "edit:"
wyldckat is offline   Reply With Quote

Old   August 21, 2014, 15:58
Default
  #3
New Member
 
CoolHand's Avatar
 
Ben
Join Date: Jan 2014
Location: South Florida
Posts: 19
Rep Power: 4
CoolHand is on a distinguished road
Thanks for your reply. I did that and it just didn't show those cells leaving those volumes empty.

My mesh was defined with the center at (0 0 0) so I moved all my points into the positive domain (inlet left corner at (0 0 0) and the bad cells went away. Not really sure why but it worked.
CoolHand is offline   Reply With Quote

Reply

Tags
blockmesh, checkmesh

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
No layers in a small gap bobburnquist OpenFOAM Native Meshers: snappyHexMesh and Others 6 August 26, 2015 09:38
How to delete cells in OF based on CheckMesh? AndTen OpenFOAM Meshing & Mesh Conversion 13 June 24, 2015 04:09
snappyhexmesh remove blockmesh geometry philipp1 OpenFOAM Running, Solving & CFD 2 December 12, 2014 11:58
how to deal with bad quality cells? phsieh2005 OpenFOAM 3 July 20, 2011 09:35
Problems of Duns Codes! Martin J Main CFD Forum 8 August 14, 2003 23:19


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