|
[Sponsors] |
February 20, 2015, 22:28 |
How is aspect ratio computed?
|
#1 | |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
Quote:
Rather than start a new thread, I would appreciate it if you could please tell me how the aspect ratio in openfoam is computed. The reason I ask is that I ran checkMesh on a model and I received a warning that says: Code:
Checking geometry... Overall domain bounding box (-1 -0.0125 -0.1) (1 0.0125 0.1) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-6.21778e-19 -4.02704e-16 -9.53145e-19) OK. ***High aspect ratio cells found, Max aspect ratio: 1333.33, number of cells 15000 <<Writing 15000 cells with high aspect ratio to set highAspectRatioCells Minimum face area = 1e-06. Maximum face area = 0.00133333. Face area magnitudes OK. Min volume = 6.66667e-07. Max volume = 6.66667e-07. Total volume = 0.01. Cell volumes OK. Mesh non-orthogonality Max: 0 average: 0 Non-orthogonality check OK. Face pyramids OK. Max skewness = 3.75e-09 OK. Coupled point location match (average 0) OK. Failed 1 mesh checks. Last edited by wyldckat; February 21, 2015 at 11:09. Reason: Added [CODE][/CODE] |
||
February 21, 2015, 10:26 |
|
#2 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,974
Blog Entries: 45
Rep Power: 128 |
Greetings musahossein,
I've moved your post from here: http://www.cfd-online.com/Forums/ope...structpar.html - because that thread is not of the same topic you're asking about here. As for aspect ratio: https://openfoamwiki.net/index.php/C...ut_explanation Quote:
----------- edit: I had quoted I had updated on the wiki, but it became larger for each iteration. Therefore, I've removed the quote. ----------- Therefore, in your case would be: Code:
2 x 0.2 x 0.025 (m) vs 50 x 100 x 3 (cells) => => 2/50 x 0.2/100 x 0.025/3 = 0.04 x 0.002 x 0.008333 min face area = 0.001 x 0.008333 = 1.6666e-5 max face area = 0.04 x 0.002 = 8e-5 Anyway, the maximum cell aspect ratio in your case clearly seems to be: (Maximum face area)/(Minimum face area) = 0.00133333/1e-06 = 1333.33 ------------- edit: Looks like I misinterpreted a detail... it was not the lengths that needs to be measured, it was the face areas of the bounding box of the cell. Therefore: Code:
0.04 x 0.002 = 8e-5 0.002 x 0.008333 = 1.6666e-5 0.04 x 0.008333 = 0.00033332 (1/6) x (8e-5 + 1.6666e-5 + 0.00033332) / (6.6664e-7^(2/3)) = 0.939093 ------------- Best regards, Bruno
__________________
Last edited by wyldckat; February 21, 2015 at 11:01. Reason: see the two "edit:" and removed the second quote from the wiki. |
||
February 21, 2015, 11:05 |
How is aspect ratio computed?
|
#3 | |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
Quote:
|
||
February 21, 2015, 11:12 |
|
#4 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,974
Blog Entries: 45
Rep Power: 128 |
Comes from here:
Quote:
|
||
February 21, 2015, 14:55 |
How is aspect ratio computed?
|
#5 | |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
Quote:
Code:
FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } convertToMeters 1; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // (-1.00 -0.10 -0.0125) // Vertex back lower left corner = 0 ( 1.00 -0.10 -0.0125) // Vertex back lower right corner= 1 ( 1.00 0.10 -0.0125) // Vertex back upper right corner= 2 (-1.00 0.10 -0.0125) // Vertex back upper left corner = 3 (-1.00 -0.10 0.0125) // Vertex front lower left corner = 4 ( 1.00 -0.10 0.0125) // Vertex front lower right corner= 5 ( 1.00 0.10 0.0125) // Vertex front upper right corner= 6 (-1.00 0.10 0.0125) // Vertex front upper left corner = 7 ); blocks ( // block0 hex (0 1 2 3 4 5 6 7) (50 50 5) simpleGrading (1 1 1) ); //patches boundary ( lowerWall { type patch; faces ( (0 1 5 4) ); } rightWall { type patch; faces ( (1 2 6 5) ); } atmosphere { type patch; faces ( (2 3 7 6) ); } leftWall { type patch; faces ( (0 4 7 3) ); } frontAndBack { type patch; faces ( (4 5 6 7) (0 3 2 1) ); } ); Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create polyMesh for time = 0 Time = 0 Mesh stats points: 15606 faces: 40500 internal faces: 34500 cells: 12500 faces per cell: 6 boundary patches: 5 point zones: 0 face zones: 0 cell zones: 0 Overall number of cells of each type: hexahedra: 12500 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 lowerWall 250 306 ok (non-closed singly connected) rightWall 250 306 ok (non-closed singly connected) atmosphere 250 306 ok (non-closed singly connected) leftWall 250 306 ok (non-closed singly connected) frontAndBack 5000 5202 ok (non-closed singly connected) Checking geometry... Overall domain bounding box (-1 -0.1 -0.0125) (1 0.1 0.0125) Mesh (non-empty, non-wedge) directions (1 1 1) Mesh (non-empty) directions (1 1 1) Boundary openness (-7.96769e-19 -1.78715e-18 2.57945e-17) OK. Max cell openness = 8.47033e-17 OK. Max aspect ratio = 10 OK. Minimum face area = 2e-05. Maximum face area = 0.0002. Face area magnitudes OK. Min volume = 8e-07. Max volume = 8e-07. Total volume = 0.01. Cell volumes OK. Mesh non-orthogonality Max: 0 average: 0 Non-orthogonality check OK. Face pyramids OK. Max skewness = 3.125e-09 OK. Coupled point location match (average 0) OK. Mesh OK. Last edited by wyldckat; February 21, 2015 at 15:19. Reason: Added [CODE][/CODE] |
||
February 21, 2015, 15:14 |
the pesky PrefPoint Problem
|
#6 |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
I fixed the mesh, and checked it in paraFoam, Also performed a checkMesh and it looks everything is ok. However when I do a parallel run, I get the following error right after domain decomposition saying that the pRefPoint 0,0,0.0124 was found on 2 domains. How can I ensure that the prefpoint is in one domain only? My decomposition in parallel is 3x2x1 (3 processors in the x direction, 2 processors in the y direction and 1 processor in the z direction). The axes are in carteseian coordinates with the x-y plane parallel to the paper and z axis normal to it.
Commence parallel processing Code:
[0] [1] [1] [1] --> FOAM FATAL IO ERROR: [1] Unable to set reference cell for field p Reference point pRefPoint (0 0 0.0124) found on 2 domains (should be one) [2] [2] [2] --> FOAM FATAL IO ERROR: [2] Unable to set reference cell for field p Reference point pRefPoint (0 0 0.0124) found on 2 domains (should be one) [2] [2] [2] file: IOstream.PIMPLE from line [3] [3] [3] --> FOAM FATAL IO ERROR: [3] Unable to set reference cell for field p Reference point pRefPoint (0 0 0.0124) found on 2 domains (should be one) [3] [3] [3] file: [4] [4] [4] --> FOAM FATAL IO ERROR: [4] Unable to set reference cell for field p Reference point pRefPoint (0 0 0.0124) found on 2 domains (should be one) [4] [4] [4] file: IOstream.PIMPLE from line 0 to line 0. [4] [5] [5] [5] --> FOAM FATAL IO ERROR: [5] Unable to set reference cell for field p Reference point pRefPoint (0 0 0.0124) found on 2 domains (should be one) [5] [5] [5] file: IOstream.PIMPLE from line 0 to line 0. [5] [5] From function [1] [1] [1] file: IOstream.PIMPLE from line 0 to line 0. [1] [1] From function void Foam::setRefCell ( const volScalarField&, const volScalarField&, const dictionary&, label& scalar&, bool ) [1] in file cfdTools/general/findRefCell/findRefCell.C at line 105. [1] FOAM parallel run exiting [1] 0 to line 0. Last edited by wyldckat; February 21, 2015 at 15:20. Reason: Added [CODE][/CODE] |
|
February 22, 2015, 08:39 |
|
#7 | ||
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,974
Blog Entries: 45
Rep Power: 128 |
Greetings musahossein,
Not to me, because:
Quote:
Quote:
Good luck! Best regards, Bruno
__________________
|
|||
February 22, 2015, 09:13 |
|
#8 | |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
Quote:
Code:
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } convertToMeters 1; // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // x is parallel to paper; y is vert up, z is in and out of paper (-0.250 -0.60 -0.25) // Vertex back lower left corner = 0 ( 0.250 -0.60 -0.25) // Vertex back lower right corner= 1 ( 0.250 0.30 -0.25) // Vertex back upper right corner= 2 (-0.250 0.30 -0.25) // Vertex back upper left corner = 3 ( -0.250 -0.60 0.25) // Vertex front lower left corner = 4 ( 0.250 -0.60 0.25) // Vertex front lower right corner= 5 ( 0.250 0.30 0.25) // Vertex front upper right corner= 6 ( -0.250 0.30 0.25) // Vertex front upper left corner = 7 ); blocks ( // block0 hex (0 1 2 3 4 5 6 7) (50 50 2) simpleGrading (1 1 1) ); //patches boundary ( lowerWall { type patch; faces ( (0 1 5 4) ); } rightWall { type patch; faces ( (1 2 6 5) ); } atmosphere { type patch; faces ( (2 3 7 6) ); } leftWall { type patch; faces ( (0 4 7 3) ); } frontAndBack { type patch; faces ( (4 5 6 7) (0 3 2 1) ); } ); // ************************************************************************* // Last edited by wyldckat; February 22, 2015 at 09:18. Reason: Added [CODE][/CODE] |
||
February 22, 2015, 10:36 |
prepoint error
|
#9 |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
I noted that the prefpoint error comes up, when the OpenFOAM has crashed as the numerical analysis has gotten haywire. In my case, I have coupled a structural code with OpenFOAM. The structural code calculates a displacement which is then processed by OpenFoam and provides wall pressures for the tank. This pressure / force is then sent back to the structural code for computing dispalcements. This is done at every time step. I noted that when the acceleration starts to get very large, OpenFOAM crashes and issues the prefPoint error as the last gasp. So I dont think that the prefpoint error is really an error, but a consequence of a numerical meltdown due to very large accelerations. But I would still like to hear your comments on the latest blockMeshDict file that sent you. I am checking the mesh and the aspect ratio as well as checking the mesh in ParaFOAM to ensure that what I see is what I intended.
I look forward to your comment. Thanks again. |
|
February 22, 2015, 11:51 |
|
#10 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,974
Blog Entries: 45
Rep Power: 128 |
Please follow the instructions given here: Posting code and output with [CODE]
As for the problem, here's an excerpt of what you posted: Quote:
Code:
convertToMeters 0.1; vertices ( (0 0 0) As for "vertexes": http://en.wikipedia.org/wiki/Vertex |
||
February 22, 2015, 12:13 |
|
#11 | |
Senior Member
musaddeque hossein
Join Date: Mar 2009
Posts: 309
Rep Power: 18 |
Quote:
|
||
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Problem with divergence | TDK | FLUENT | 13 | December 14, 2018 06:00 |
[Other] Aspect Ratio CFX Solver | tomson199 | ANSYS Meshing & Geometry | 4 | August 27, 2015 10:12 |
Grid Aspect Ratio | harishameed33 | Main CFD Forum | 1 | August 11, 2012 22:35 |
pressure eq. "converges" after few time steps | maddalena | OpenFOAM Running, Solving & CFD | 69 | July 21, 2011 07:42 |
High Aspect Ratio elements | Flavio | CFX | 2 | November 24, 2006 12:01 |