edalmau |
May 14, 2013 15:19 |
Refinement Error in Cylindrical Tank
Hey Foamers!
After having troubles with the MRFZone now I face the problems with the 3D case. I made an easy geometry, open cylinder as a tank with fluid in it (now is water).
I have 2 different problems but the concern for this post is about the dynamic refinement. I add to my solver the lines for updating the mesh (it's already working when the fluid is moving out of the tank) but in some cases depending on the blockmeshdict, the dynamicMeshDict and snappyHexMeshDict parameters an error appears. I saw another post with the same error but someone told that has lack of info so I'll try to explain properly my case with images.
Mesh at t=0:
http://i41.tinypic.com/1z54y2v.png
CheckMesh.log:
Code:
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.2.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
Build : 2.2.0-5be49240882f
Exec : checkMesh
Date : May 14 2013
Time : 00:22:07
Host : "Ubuntu"
PID : 10475
Case : /home/eric/PFC/DyM/Prova5
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Disallowing user-supplied system call operations
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time
Create polyMesh for time = 0
Time = 0
Mesh stats
points: 272970
faces: 782989
internal faces: 756336
cells: 255284
faces per cell: 6.02985
boundary patches: 2
point zones: 0
face zones: 0
cell zones: 0
Overall number of cells of each type:
hexahedra: 243752
prisms: 6256
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 5276
Breakdown of polyhedra by number of faces:
faces number of cells
4 16
5 180
6 1338
8 144
9 2703
11 18
12 765
14 2
15 108
18 2
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
paret 4752 4896 ok (non-closed singly connected)
diposit_tanc 21901 22282 ok (non-closed singly connected)
Checking geometry...
Overall domain bounding box (-0.0500009 -0.1 -0.000122964) (0.15 0.1 0.2)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (-4.38433e-17 3.57906e-16 3.58487e-16) OK.
Max cell openness = 2.63571e-16 OK.
Max aspect ratio = 10.2141 OK.
Minimum face area = 1.07341e-07. Maximum face area = 0.000100237. Face area magnitudes OK.
Min volume = 9.25195e-11. Max volume = 1.00226e-06. Total volume = 0.00785749. Cell volumes OK.
Mesh non-orthogonality Max: 64.9435 average: 5.81975
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 1.79521 OK.
Coupled point location match (average 0) OK.
Mesh OK.
End
All seems to be OK but when it starts to refine cause the fluid exits the tank due to rotation of it this error appears:
Code:
--> FOAM FATAL ERROR:
nAnchors:2 faceI:119478
From function createInternalFaces(..)
in file polyTopoChange/polyTopoChange/hexRef8.C at line 1276.
FOAM aborting
#0 Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam220/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#1 Foam::error::abort() in "/opt/openfoam220/platforms/linuxGccDPOpt/lib/libOpenFOAM.so"
#2 Foam::hexRef8::createInternalFaces(Foam::List<Foam::List<int> > const&, Foam::List<Foam::List<int> > const&, Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, Foam::List<int> const&, int, Foam::polyTopoChange&) const in "/opt/openfoam220/platforms/linuxGccDPOpt/lib/libdynamicMesh.so"
#3 Foam::hexRef8::setRefinement(Foam::List<int> const&, Foam::polyTopoChange&) in "/opt/openfoam220/platforms/linuxGccDPOpt/lib/libdynamicMesh.so"
#4 Foam::dynamicRefineFvMesh::refine(Foam::List<int> const&) in "/opt/openfoam220/platforms/linuxGccDPOpt/lib/libdynamicFvMesh.so"
#5 Foam::dynamicRefineFvMesh::update() in "/opt/openfoam220/platforms/linuxGccDPOpt/lib/libdynamicFvMesh.so"
#6
in "/opt/openfoam220/platforms/linuxGccDPOpt/bin/MRF3DInterDyMFoam"
#7 __libc_start_main in "/lib/i386-linux-gnu/libc.so.6"
#8
in "/opt/openfoam220/platforms/linuxGccDPOpt/bin/MRF3DInterDyMFoam"
Avortat (bolcat de la imatge del nucli)
It seems to be a problem when dividing the surrounding cells around the tank, cause it appears when the first refinement starts. In other cases with other parameters it split the cells correctly till the divergence appears (the other problem).
I know that maybe the mesh is not as good as expected but with my laptop is the only way I can run the simulations.
Anyone knows how to fix that error?
Thanks,
Eric
|