Diverging simulation
Hi, my simulation is diverging. I've tried increasing nNonOrthogonalCorrectors up to 10, and also introducing residualControl in fvSolution, but nothing helps. My checkMesh log is as follows.
The boundary conditions are similar to my other case, which runs perfectly. I have only changed the velocity at the inlet and with a slightly different geometry. May I know if the "number of severely non-orthogonal faces" is the cause? Otherwise, how can I solve the diverging problem? Quote:
|
hi czhongrong
By looking at your checkMesh Log, it is seen that the Max Skewness for your mesh is 3.314. This could be the problem why your simulations are diverging. The skewness of the mesh is an indication of the optimum cell size. For accurate solution, the maximum skewness for Hex mesh should not go beyond 0.7 or 0.85. In general, the mesh with max skewness of 0 is considered to be perfect and it should not go beyond 1 in order to have accurate solution or convergence in solution. So i recommend you to change your mesh and run the simulations once again. All the best |
1 Attachment(s)
Hi vishal3,
My geometry is a cylinder with a protruded top on its surface(see attached). I just can't seem to be able to decrease the max skewness. May I know what parameters I could try editing? Below is my blockMeshDict. Quote:
|
If you have an STL of your geometry use snappyHexMesh.
|
Hi akidess,
I can't get my STL to work, that's why I use blockMeshDict to mesh my geometry. |
Quote:
|
Quote:
|
Quote:
Quote:
Code:
checkMest Code:
foamToVTK -faceSet nonOrthoFaces Quote:
|
2 Attachment(s)
Hi mkraposhin,
Is there any rule of thumb or guideline that we can follow to avoid high non-orthogonality? As seen from my geometry in my previous reply #3, I find it difficult to change the geometry of the block. Attached is the schematic sketch diagram of my meshing and what "foamToVTK -faceSet nonOrthoFaces" has shown me in ParaView. It can be seen that lines 5-23 and 4-22 are the causes of this problem. |
Hey czhongrong
Why don't you try to create a mesh in other applications like GMSH / SALOME / GAMBIT / ANSYS WORKBENCH / HYPERMESH etc. ? I dont have any idea whether blockmeshdict is that much capable of handling this. Just give it a try. There you have a good control over your mesh when you are using other applications. All the best! |
1 Attachment(s)
I would propose another a bit more complex configuration of blocks - see attachment
|
Thanks for the layout, but just a few questions, I couldn't quite visualise properly:o:
1) I see 2 circles, do I have to model that outer circle? If yes, is the area in-between the 2 circles considered as hex blocks as well? 2) Are the 2 horizontal lines on the right needed? 3) "With this line non-orthogonality can be adjusted" - meaning the BLACK diagonal line on the right? |
1 Attachment(s)
By the way, I've tried to mesh in a different layout. See attached for layout. But I keep getting the following error from blockMesh - "face 3 in patch 2 does not have neighbour cell face: 4(3 4 7 8)". I can't find the cause of the problem. My blockMesh is as follows.
Quote:
Quote:
|
1 Attachment(s)
Hi,
I think that with the descretization shown above, you will also get mesh with high non-orthogonality. I made another version of block geometry (see attachment). Grey regions are blocks In this geometry you can adjust non-orthogonality with the vertical position of point 6 and horizontal position of point 5. |
Hi mkraposhin,
Yes, indeed my discretisation still yields 88 deg of non-orthogonality. 1) Are points 4, 6, 8, 9, 13, 14 all arbitrary points on the circle which I can choose on my own? 2) I will need to follow this discretization on the upper left half of the geometry too right (i.e. mirror on the left)? |
Quote:
Quote:
For the first iteration, you can assume that line 2-5 have length equal or slighly larger then line 3-2. Line 13-8 inclined to line 12-10 with angle ~ 30 degrees Quote:
|
For the lower part of my geometry, can I just model it like how I used to, in my earlier posts? By the diagonals 0-12 and 13-1?
|
1 Attachment(s)
Quote:
or like the top part, you will get better mesh quality, i think. Also, please note, that in any case you will need to save blocks between outer and inner cylinders See attachment |
Save blocks?
|
1 Attachment(s)
I attached file with lower part of mesh
|
Thanks so much! I will give it a try and update again!
|
2 Attachment(s)
Hi mkraposhin,
HELP! I've created the mesh and encountered some error in blockMesh as follows. I'm not sure if my labelling sequence in hex blocks are correct. :confused: Attached is my schematic layout, and blockMeshDict. In the schematic layout, blue ink corresponds to the hex block numbers in blockMeshDict for better reference. Quote:
|
Hi,
i think, you must start by adding blocks one by one to find which block causes error. Also, you must disable all patches at this step |
Erm, how can I disable patches?
|
Quote:
I mean here: Code:
boundary |
Thanks a lot! I'll try it out soon...
|
blockMesh crashed while "creating topology patches" after I blocked out "boundary", and had the following error:
Quote:
|
1 Attachment(s)
Hi, i checked your blockMeshDict and i can propose next changes
1) If you want to comment something between '(' and ')' brackets, use two slashes, for example: Code:
// inlet
When you specified block 10 as Code:
hex (22 43 52 51 26 72 81 80) (30 20 20) simpleGrading (100 1 1) But in block 11 Code:
hex (53 4 52 43 82 7 81 72) (30 20 20) simpleGrading (100 1 1) So, you need to correct directions for all blocks with errors For example - see attached file |
2 Attachment(s)
I've done according to what you've instructed, but now I encountered another error.:confused: Apparently, blockMesh said I have undefined faces, which I couldn't figure out as I have listed all the faces. Subsequently, checkMesh stated "Number of edges not aligned with or perpendicular to non-empty directions: 1208760".
Attached is my schematic layout (i've re-numbered my points), and my blockMeshDict. Quote:
Quote:
|
1 Attachment(s)
Because you introduced new block, that is not connected to others. You must split this block to connect to point 4, 59, 60, 61, 62, 1. See attached jpg for example, new points are marked with red color
Also, i see that your mesh have a very large aspect ration Code:
Max aspect ratio = 580.0003633 |
How can I reduce the max aspect ratio? Would simpleGrading help? Because now I'm just testing the mesh with simpleGrading (1 1 1), to see if it works...
|
You must inrease number of discretization points in z direction for all blocks and number of discretization points for large blocks in x and y directions - blocks like 38-59-4-58.
Or, you can decrease number of discretization points in radial direction and azimuthal directions (blocks in the circle and blocks in the cross) |
Thanks!! I've managed to solve the undefined patches! Now I'm trying to lower the max aspect ratio...
Thank you so much! It is of indeed great help for my project! |
Hi,
did your simulation converged with the new mesh? |
The core processors are idling though, I will update once I got it to run...
|
UPDATE: The simulation seems to be running well! Thanks a lot!
|
1 Attachment(s)
Hi mkraposhin,
I've encountered some problem with my simulation. It keeps getting this error. See attached for log(only an extract). It looks like it suddenly diverges. Is it a problem with my mesh? checkMesh as follows(I can only reduce my max aspect ratio to 76.8): Quote:
|
Hi, i think that your mesh is good.
As i undestrand, you are using transient solver (pimpleFoam?) Try next: 1) Set momentumPredictor in fvSolution->PIMPLE to false 2) Set nCorrectors to 2 3) Reduce time step at least 4 times (set maxCo to 0.5) |
1 Attachment(s)
Quote:
1) I do not have a "momentumPredictor" entry in fvSolution. Attached is my fvSolution file. 2) nCorrectors was initially 2. 3) Currently my deltaT is 1E-4 in controlDict, so decrease by 4x right? |
Quote:
Code:
PIMPLE Quote:
From the log i saw that your Co number is larger then 2. This value is acceptable for pimpleFoam, but i would recommend you to decrease time step at least 4 times. When you will be sure that stability is not dependent on time step, you can increase deltaT again (or maxCo) |
All times are GMT -4. The time now is 18:08. |