CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [snappyHexMesh] Error snappyhexmesh - Multiple outside loops (https://www.cfd-online.com/Forums/openfoam-meshing/131185-error-snappyhexmesh-multiple-outside-loops.html)

wyldckat November 28, 2015 18:34

Hi Nasir,

The problem is that you already have another working version of OpenFOAM installed. You need to edit the file "~/.bashrc" and change the existing line to become also an alias, for example:
Code:

alias of240='source /opt/openfoam240/etc/bashrc'
Save and close the file.
Then start a new terminal and run:
Code:

of24x
now you should be ready to continue.

Best regards,
Bruno

esujby November 28, 2015 19:17

Thank you very much for your prompt reply, i figured that out after deleting all the versions lol...

i am going to reinstall it now and give it a shot. will post result later today hopefully :o

Also,

please can you clarify the difference between region-wise-refinement and cell zone in surface refinement. i am still a bit puzzled :confused:

thanks

esujby November 29, 2015 00:12

Hello Bruno,

I did as you said. however, i got this at the end:

Code:

SOURCE=motionSolver/componentDisplacement/componentDisplacementMotionSolver.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/componentDisplacementMotionSolver.o
SOURCE=motionSolver/velocity/velocityMotionSolver.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/velocityMotionSolver.o
SOURCE=motionSolver/componentVelocity/componentVelocityMotionSolver.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/componentVelocityMotionSolver.o
SOURCE=createShellMesh/createShellMesh.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/createShellMesh.o
SOURCE=extrudePatchMesh/extrudePatchMesh.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/extrudePatchMesh.o
SOURCE=polyMeshFilter/polyMeshFilterSettings.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/polyMeshFilterSettings.o
SOURCE=polyMeshFilter/polyMeshFilter.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/opt/openfoam240/src/finiteVolume/lnInclude -I/opt/openfoam240/src/meshTools/lnInclude -I/opt/openfoam240/src/triSurface/lnInclude -I/opt/openfoam240/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/opt/openfoam240/src/OpenFOAM/lnInclude -I/opt/openfoam240/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/polyMeshFilter.o
/usr/bin/ld: cannot open output file /opt/openfoam240/platforms/linux64GccDPOpt/lib/libdynamicMesh.so: Permission denied
collect2: error: ld returned 1 exit status
make: *** [/opt/openfoam240/platforms/linux64GccDPOpt/lib/libdynamicMesh.so] Error 1

i can see an error at end due to some permission denied.

anyhows, i ve decided to run the case as it is:

Code:

parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x/chtMRF$ mpirun -np 16 snappyHexMesh -overwrite -parallel > log.snappyHexMesh 2>&1
problem is i don't normally see the simulation or log running on terminal anymore, the screen is just paused on:

Code:

parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x/chtMRF$ mpirun -np 16 snappyHexMesh -overwrite -parallel > log.snappyHexMesh 2>&1
but from my system monitor, i can clearly see all the CPUs max out and ram being used, i would also say the ram usage seems to have reduced slightly, i will post the log file later today in the morning (uk time).

thanks allot bruno.

wyldckat November 29, 2015 05:52

Hi Nasir,

Quote:

Originally Posted by esujby (Post 575414)
please can you clarify the difference between region-wise-refinement and cell zone in surface refinement. i am still a bit puzzled :confused:

The cellZone definition for each item in "refinementSurfaces" refers to each STL file having to be a closed surface. For example, this:
Code:

        inlet
        {
            // Surface-wise min and max refinement level
            level (5 5);

            faceZone inlet;
            cellZone inlet;
            zoneInside true;
        }

implies that the "inlet" geometry is a closed shell and that the surface is to be assigned to the faceZone "inlet" and that the meshed cells inside the geometry "inlet" should be assigned to a cellZone named "inlet".
In your case, only the faceZone can be created, because your "inlet" geometry is in fact a single surface with no thickness, not a closed shell.

"refinementRegions" refers to volume regions to be further refined. The surfaces of these regions are not assigned to: patches, faceZones nor cellZones. They are only used as refinement locators.

Quote:

Originally Posted by esujby (Post 575430)
I did as you said. however, i got this at the end:
Code:

[...]
/usr/bin/ld: cannot open output file /opt/openfoam240/platforms/linux64GccDPOpt/lib/libdynamicMesh.so: Permission denied
[...]

i can see an error at end due to some permission denied.

My guess is that you didn't start a new terminal, because you were still using OpenFOAM 2.4.0 and not 2.4.x. Check the instructions on my previous post again ;)

Quote:

Originally Posted by esujby (Post 575430)
anyhows, i ve decided to run the case as it is:
Code:

parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x/chtMRF$ mpirun -np 16 snappyHexMesh -overwrite -parallel > log.snappyHexMesh 2>&1
problem is i don't normally see the simulation or log running on terminal anymore, the screen is just paused on:

That's normal. I didn't mention that was normal, because this is a standard convention when using OpenFOAM applications, where the output is logged into a log file while it's running. You can inspect the current progress by opening another terminal in the same folder and checking the contents of the file "log.snappyHexMesh", with either one of these commands:
Code:

tail log.snappyHexMesh
less log.snappyHexMesh

The first one only shows the last 10 lines of the file and the second one allows reading the content of the file. The cursor keys, "Page Up" and "Page Down" can be used for seeing the content of the file. The key "q" exists the "less" application.

Best regards,
Bruno

esujby November 29, 2015 09:58

Hello Bruno, thanks for your reply. hmmm ok now i get the difference between the two, however, for some reason the internal mesh doesn't get properly refined, i don't know why?

however i am starting to feel it has to do with with the fact that i am using the standard edge refinement without levels instead of the new feature edge refinement feature which allows users to specify feature edge refinement in levels e,g.

file "s1.eMesh";
levels ((0.000001 2)(0.000002 1));

Quote:

Originally Posted by wyldckat (Post 575446)

Code:

[...]
/usr/bin/ld: cannot open output file /opt/openfoam240/platforms/linux64GccDPOpt/lib/libdynamicMesh.so: Permission denied
[...]

My guess is that you didn't start a new terminal, because you were still using OpenFOAM 2.4.0 and not 2.4.x. Check the instructions on my previous post again ;)
Bruno

Actually i deleted all the version of open foam before as you described previously as shown bellow and installed only OpenFOAM v2.4.x and followed your procedure exactly. so it is the only open foam version on my computer for now. however, i ignored the error and just ran the simulation, the first one crashed (RAM most likely) as a struggled to reset the ubuntu parallel and now the second one has been running for few hours now and still running smoothly without the log file, if all goes well, i will run it again with the log file and send you the log file straight away.

Quote:

Originally Posted by wyldckat (Post 495425)
Greetings Korawin and welcome to the forum!

As for uninstalling OpenFOAM 2.3.0, it depends on how you installed it in the first place:
  • If it was installed from source code, you simply have to remove the folders where it was installed, when you followed the installation instructions.
  • If it was installed from Deb or RPM package, you need to use the respective opposite command. For example, to remove the Deb packages on Ubuntu, run:
    Code:

    sudo apt-get remove openfoam230 paraviewopenfoam410
Best regards,
Bruno

Also, my shel refinement iteration goes all the way up to 100 iterations since i changed my region refinement from
Code:

mode volume
to
Code:

mode inside
this takes a long time

thanks

wyldckat November 29, 2015 10:42

Quote:

Originally Posted by esujby (Post 575483)
hmmm ok now i get the difference between the two, however, for some reason the internal mesh doesn't get properly refined, i don't know why?

however i am starting to feel it has to do with with the fact that i am using the standard edge refinement without levels instead of the new feature edge refinement feature which allows users to specify feature edge refinement in levels e,g.

Quick answer: snappyHexMesh's way of seeing the geometry depends on the mesh at a certain point in meshing.
For example, if you run blockMesh with the "blockMeshDict" you provided, and if you only have the "s1.stl" geometry in "snappyHexMeshDict", then the geometry is floating inside one of the base mesh cells. This means that snappyHexMesh will not be able to see anything of the "s1.stl" geometry, because not even one internal cell edge goes through the STL surface.

esujby November 29, 2015 12:04

Hello Bruno,

Thanks for your reply, i thought so at first. however, i came to understand otherwise, i tried a various range between this two options in my blockmeshdict:

Code:

(
    hex (0 1 2 3 4 5 6 7) (2 4 2) simpleGrading (1 1 1)
);

and

Code:

(
    hex (0 1 2 3 4 5 6 7) (30 30 30) simpleGrading (1 1 1)
);

for values above (20 20 20) i had to increase the
Code:

nCellsBetweenLevels "from 1 to around 5";
, for some reason it reduces the load on my RAM.


anyhows, from my experience, i came to the realisation that the base mesh refinement didn't make any difference to the refinement of the internal cells within my geometry, so long i increased the feature edge refinement and surface edge refinement. i realised some improvement (not much) by increasing the region wise refinement level to an extent as increasing it to level above 9 and 10 for both volume mode and inside mode respectively leads the meshing process to crash as it exhaust all the memory (58.5 gb RAM allocated).

Also the main reason for decreasing my blockmeshdict value was to reduce the multiple extra domains associated with
Code:

splitMeshRegions -cellZones
i know i can delete the extra domains using the subset code bellow, however it doesn't really eliminate all the domains, but it surely reduces the number of extra domains significantly (ridiculously). i am guessing the domains associated with the base mesh gets deleted, but i reckon extra domains are created because of the poorly refined internal regions in the s1-s5 geometries.

Code:

setSet -batch batch.setSet
subsetMesh -overwrite isolation

but i don't know!........this is all confusing and i ve just a month to hand in my results, for progressing to final year.

I am considering just running the simulation as it is, been stuck trying to mesh it for more than 4 months now.

wyldckat November 29, 2015 12:27

Hi Nasir,

The refinement levels imply that it's the number of divisions that each original cell will be divided into. For example, level 3 means that each initial cell will be divided into 2*2*2 = 8 cells in each direction.

For example, if the original mesh of "2 4 2" was all defined to have a refinement level of 10, it would mean that all directions would be divided into 1024 cells per original cell, resulting in the final mesh resolution of "2048 4096 2048" ~= 17179.87 million cells.

If you change your original mesh to "30 30 30", you should reduce the number of refinement levels on all surfaces and regions, otherwise you get a final mesh resolution for level 10 of "30720 30720 30720"... which a lot of cells...

My questions are then this:
  1. Do you need to mesh inside the objects like "s1.stl"? Or can you simulate with just a surface with no thickness (namely a baffle) for each geometry?
  2. Have you tried the strategy isolate and conquer? In other words, first mesh just one of the critical geometries (such as "s1.stl"), to first try and understand what's going wrong?
Best regards,
Bruno

esujby November 29, 2015 17:33

Hello Bruno,

Ahhh i see now get it. thanks for your prompt reply once again.

well, to be honest, since its a research project, i would like to test different materials and or coatings, which could sometimes result in a model with different surface vs internal thermal attributes, e.g thermal conductivity. also i thought evaluating the thermal storage in the s1-s15 geometries would add to the quality of the research.

i just saw this now prior to morphing phase:

Code:

Merge free-standing baffles
---------------------------

freeStandingBaffles : detected 0 free-standing baffles out of 0

Detected free-standing baffles : 0
Merged free-standing baffles in = 2.75 s


dupNonManifoldPoints : Found : 0 non-manifold points (out of 17604626)
Edge intersection testing:
    Number of edges            : 39855332
    Number of edges to retest  : 0
    Number of intersected edges : 7678092
Detected unsplittable baffles : 0

Merge refined boundary faces
----------------------------

Merging 0 sets of faces.

No faces merged ...

Merging all points on surface that
- are used by only two boundary faces and
- make an angle with a cosine of more than 0.7071068.

No straight edges simplified and no points removed ...

Doing final balancing
---------------------

Found 3327814 zoned faces to keep together.
Found 0 separated coupled faces to keep together.
Refined mesh : cells:11663801  faces:39855332  points:17269300
Cells per refinement level:
    0        0
    1        27
    2        323
    3        1498
    4        6590
    5        44072
    6        145954
    7        1436877
    8        7321420
    9        2707040
Writing mesh to time constant
Wrote mesh in = 88.76 s.
Mesh refined in = 32668.67 s.

Morphing phase
--------------

Converting zoned faces into baffles ...
For zone inlet found patches inlet and inlet_slave
For zone outlet found patches outlet and outlet_slave
For zone lens found patches lens and lens_slave
For zone s1 found patches s1 and s1_slave
For zone s2 found patches s2 and s2_slave
For zone s3 found patches s3 and s3_slave
For zone s4 found patches s4 and s4_slave
For zone s5 found patches s5 and s5_slave
For zone s6 found patches s6 and s6_slave
For zone s7 found patches s7 and s7_slave
For zone s8 found patches s8 and s8_slave
For zone s9 found patches s9 and s9_slave
For zone s10 found patches s10 and s10_slave
For zone s11 found patches s11 and s11_slave
For zone s12 found patches s12 and s12_slave
For zone s13 found patches s13 and s13_slave
For zone s14 found patches s14 and s14_slave
For zone s15 found patches s15 and s15_slave
For zone insulator found patches insulator and insulator_slave
Edge intersection testing:
    Number of edges            : 43167785
    Number of edges to retest  : 18709817
    Number of intersected edges : 10850395
Created 3312453 baffles in = 65.29 s


Surface : inlet
    faces to become baffle : 0
    points to duplicate    : 0
Surface : outlet
    faces to become baffle : 0
    points to duplicate    : 0
Surface : lens
    faces to become baffle : 19290
    points to duplicate    : 10934
Surface : s1
    faces to become baffle : 32306
    points to duplicate    : 17160
Surface : s2
    faces to become baffle : 53626
    points to duplicate    : 27749
Surface : s3
    faces to become baffle : 140594
    points to duplicate    : 74965
Surface : s4
    faces to become baffle : 287210
    points to duplicate    : 157193
Surface : s5
    faces to become baffle : 477130
    points to duplicate    : 263503
Surface : s6
    faces to become baffle : 700338
    points to duplicate    : 392651
Surface : s7
    faces to become baffle : 964126
    points to duplicate    : 543547
Surface : s8
    faces to become baffle : 1272106
    points to duplicate    : 723997
Surface : s9
    faces to become baffle : 1676610
    points to duplicate    : 964498
Surface : s10
    faces to become baffle : 2117430
    points to duplicate    : 1227840
Surface : s11
    faces to become baffle : 2612870
    points to duplicate    : 1520280
Surface : s12
    faces to become baffle : 3253338
    points to duplicate    : 1897671
Surface : s13
    faces to become baffle : 4048474
    points to duplicate    : 2358353
Surface : s14
    faces to become baffle : 4929494
    points to duplicate    : 2862248
Surface : s15
    faces to become baffle : 6122308
    points to duplicate    : 3520433
Surface : insulator
    faces to become baffle : 6624906
    points to duplicate    : 3812102
dupNonManifoldPoints : Found : 3604717 non-manifold points (out of 18108939)
Edge intersection testing:
    Number of edges            : 43167785
    Number of edges to retest  : 0
    Number of intersected edges : 10850395

Snapping to features in 10 iterations ...
Constructing mesh displacer ...
Using mesh parameters
{
    maxNonOrtho    180;
    maxBoundarySkewness 1;
    maxInternalSkewness 1;
    maxConcave      180;
    minFlatness    1e-05;
    minVol          0;
    minTetQuality  0;
    minArea        -1;
    minTwist        2e-07;
    minDeterminant  1e-07;
    minFaceWeight  1e-07;
    minVolRatio    1e-08;
    minTriangleTwist -1;
    nSmoothScale    4;
    errorReduction  0.75;
}


Checking initial mesh ...
Checking faces in error :
    faces with face pyramid volume < 0                    : 0
    faces with face-decomposition tet quality < 0          : 0
    faces with skewness > 1  (internal) or 1  (boundary) : 562495
    faces with interpolation weights (0..1)  < 1e-07      : 0
    faces with volume ratio of neighbour cells < 1e-08    : 0
    faces with face twist < 2e-07                          : 0
    faces on cells with determinant < 1e-07                : 0
Detected 562495 illegal faces (concave, zero area or negative cell pyramid volume)
Checked initial mesh in = 42.06 s

which means that snappyhexmesh is definitely converting some faces into baffles. i am guessing bellow certain geometry thickness, snappyhexmesh converts it into baffle.

i did try to "isolate and conquer" but the simulation seems to take longer so i just went back to "complete and conquer". however i ve ran so many simulations, literally non stop for the past 5 months, with different configurations to evaluate impact of various parameters, specifically on the cell zone issue, that has been my issue from the first week of setting up the case, i will try that but i think i would just try to get some results for now. this could be one of the limitations of my my methodology i guess.

ok seems to be going ok now, will reset the simulation and send you the log file in about 8 hours i reckon. you will find my log file very interesting lol i can see allot of errors and stringing........

thanks

Nas

esujby November 29, 2015 19:25

Quote:

Originally Posted by wyldckat (Post 575366)
Greetings to all once again!

It took me a bit longer than I had planned, as I had to take care of a few other things. The instructions for getting the code I uploaded a few minutes ago is as follows and should only be used with OpenFOAM 2.4.x:
Code:

foam
git remote add wyldckat https://github.com/wyldckat/OpenFOAM-2.4.x.git
git fetch wyldckat
git checkout MultiOLoops
wmake libso src/dynamicMesh

Next run Nasir's case, but make sure you send the output of the snappyHexMesh into a log file, for example:
Code:

mpirun -np 8 snappyHexMesh -overwrite -parallel > log.snappyHexMesh 2>&1
Once complete, please run:
Code:

gzip < log.snappyHexMesh > log.snappyHexMesh.gz
and either attach me the file "log.snappyHexMesh.gz" to your next post or please use a file sharing service such as Dropbox or something similar. I prefer to not do this via email, because otherwise I will loose track of this issue :(

Best regards,
Bruno



ok sir, the simulation did crash as a result of the multiOloop. however, i just tried to run your procedure as specified above a couple of times and now its updated without any permission denial, what i didn't do was sign in as a root user before running the last command.

the result can be seen bellow, i will run the simulation again and send you the log file as planned.

Code:

root@ubuntu:/home/parallels/OpenFOAM/OpenFOAM-2.4.x# wmake libso src/dynamicMesh'/opt/openfoam30/platforms/linux64GccDPInt32Opt/lib/libdynamicMesh.so' is up to date.
thanks allot bruno will update in few hours

esujby November 29, 2015 22:50

1 Attachment(s)
Hello Bruno please find attached a copy of the log file.

thanks

nas

esujby November 30, 2015 00:38

Hello Bruno,

please do you understand the implication of this warning message and how to go about resolving it, i think this could be an associated problem with converting some zones into baffles.

Code:

-->

Introducing baffles to block off problem cells
----------------------------------------------

FOAM Warning :
    From function meshRefinement::nearestPatch(..)
    in file autoHexMesh/meshRefinement/meshRefinementProblemCells.C at line 440
    Did not visit some faces, e.g. face 0 at (0.005 0.025 0.005)
Assigning  these cells to patch 6
markFacesOnProblemCells : marked 0 additional internal faces to be converted into baffles.
Analyzed problem cells in = 1.08


wyldckat November 30, 2015 15:49

Hi Nasir,

Quote:

Originally Posted by esujby (Post 575559)
Hello Bruno please find attached a copy of the log file.

It didn't work :( The log file states right at the start the following line:
Code:

Build  : 2.4.0-f0842aea0e77
which means you ran with OpenFOAM 2.4.0 and not 2.4.x :(

Quote:

Originally Posted by esujby (Post 575568)
please do you understand the implication of this warning message and how to go about resolving it, i think this could be an associated problem with converting some zones into baffles.

Code:

-->

Introducing baffles to block off problem cells
----------------------------------------------

FOAM Warning :
    From function meshRefinement::nearestPatch(..)
    in file autoHexMesh/meshRefinement/meshRefinementProblemCells.C at line 440
    Did not visit some faces, e.g. face 0 at (0.005 0.025 0.005)
Assigning  these cells to patch 6
markFacesOnProblemCells : marked 0 additional internal faces to be converted into baffles.
Analyzed problem cells in = 1.08


Yes, that does look like it could be one of the origins of the problem. Furthermore, that sounds like it's something that is already fixed in the OpenFOAM-history repository: https://github.com/OpenCFD/OpenFOAM-history
The problem is that if you're having trouble building 2.4.x, building OpenFOAM-history is a bit more complicated.

Quote:

Originally Posted by esujby (Post 575541)
which means that snappyhexmesh is definitely converting some faces into baffles. i am guessing bellow certain geometry thickness, snappyhexmesh converts it into baffle.

If I remember this correctly, snappyHexMesh has a meshing strategy that requires creating baffles temporarily in order to be able to mesh certain situations. Then after the meshing operation is completed, it dissolves the baffles back into the standard internal mesh.

Quote:

Originally Posted by esujby (Post 575541)
i did try to "isolate and conquer" but the simulation seems to take longer so i just went back to "complete and conquer".

I was more worried about the meshing stage first, instead of trying to simulate with a not-so-good mesh, but OK... as the saying goes: "optimum is the enemy of good".

Quote:

Originally Posted by esujby (Post 575541)
however i ve ran so many simulations, literally non stop for the past 5 months, with different configurations to evaluate impact of various parameters, specifically on the cell zone issue, that has been my issue from the first week of setting up the case, i will try that but i think i would just try to get some results for now. this could be one of the limitations of my my methodology i guess.

The usual beginner mistake is to go straight to the final geometry and to try and mesh it. Then to try and fix the meshing with only the final geometry. Given that there are too many variables and since no extra complexity is removed from the geometry, the full range of problems takes a lot longer to solve :(
This is why an isolate-and-conquer strategy can remove a lot of the complexity out of the problem and make it faster to reach a solution that might solve all of the problems for the other geometrical components.

Quote:

Originally Posted by esujby (Post 575546)
Code:

root@ubuntu:/home/parallels/OpenFOAM/OpenFOAM-2.4.x# wmake libso src/dynamicMesh'/opt/openfoam30/platforms/linux64GccDPInt32Opt/lib/libdynamicMesh.so' is up to date.

This definitely isn't good news :( Even though you are running inside the folder "OpenFOAM-2.4.x", the resulting path is pointing to OpenFOAM 3.0? :(

The following wiki page explains how to deal with using OpenFOAM's shell environment and how to make sure that only one version of OpenFOAM is used for each terminal: http://openfoamwiki.net/index.php/In...with_the_Shell

Best regards,
Bruno

esujby December 1, 2015 16:20

Hello Bruno,

Thanks very much for your reply, i will now go through the shell environment wiki page and make sure i have openFOAM 2.4.x running, run the simulation and send you the log file, within the next couple of hours.

with regards to my case, i think i will simplify the geometry allot further by having the s1-s15 as sheets with zero thickness. however, if i model them as sheets with zero thickness on solid works, i am wondering if there is a way to add thickness to a surface geometryor or surface mesh on OpenFOAM?

Quote:

Originally Posted by wyldckat (Post 575695)
Hi Nasir,

Yes, that does look like it could be one of the origins of the problem. Furthermore, that sounds like it's something that is already fixed in the OpenFOAM-history repository: https://github.com/OpenCFD/OpenFOAM-history
The problem is that if you're having trouble building 2.4.x, building OpenFOAM-history is a bit more complicated.

Bruno

i can see now that the new openFOAM history repository 3.0.x installation process seems straight forward-ish, i will give it a try also.

Quote:

Originally Posted by wyldckat (Post 575695)
Hi Nasir,

The usual beginner mistake is to go straight to the final geometry and to try and mesh it. Then to try and fix the meshing with only the final geometry. Given that there are too many variables and since no extra complexity is removed from the geometry, the full range of problems takes a lot longer to solve
This is why an isolate-and-conquer strategy can remove a lot of the complexity out of the problem and make it faster to reach a solution that might solve all of the problems for the other geometrical components.

Bruno

and you are absolutely right, i think i will still work on the mesh for another couple of weeks, before running the simulation.

Kind regards

Nas

me3840 December 1, 2015 22:02

Hey, sorry guys, I've been on and off planes the past few days. It looks like you've covered some ground already...did Nasir find some more memory or would you still like me to get 2.4.x installed for this?

wyldckat December 2, 2015 15:45

Hi Nasir and me3840,

@Nasir:
Quote:

Originally Posted by esujby (Post 575845)
with regards to my case, i think i will simplify the geometry allot further by having the s1-s15 as sheets with zero thickness. however, if i model them as sheets with zero thickness on solid works, i am wondering if there is a way to add thickness to a surface geometryor or surface mesh on OpenFOAM?

Baffles are two-sided patches with zero thickness. They will be the likely result of meshing the sheets with zero thickness. I think you can still assign heat transfer properties to the baffles (e.g. heat transfer coefficient), but they will continue to have zero thickness.
"Inflating" the baffles is probably possible with a dynamic mesh operation, but I've never done it myself.

@me3840:
Quote:

Originally Posted by me3840 (Post 575865)
Hey, sorry guys, I've been on and off planes the past few days. It looks like you've covered some ground already...did Nasir find some more memory or would you still like me to get 2.4.x installed for this?

Thanks for offering to look into this, but I believe that Nasir needs to rework the original geometry. The current geometry results in a very complicated meshing operation that leads snappyHexMesh to simply crash because it got confused.
In addition, the geometry is fairly complex and debugging this issue is like finding a needle in a very large haystack :(

Best regards,
Bruno

esujby December 4, 2015 10:42

Hello Bruno and me3840,

Thanks for your replies and patience bruno, the meshing kept on crashing, as i forgot to reduce the refinement levels after adding
Code:

"facetype boundary"
in snappyhexmeshdict.

dont panick! i am aware i am using OpenFOAM 30, i have simplified the geometry by removing the holes on the S1-S15 sheets. please find the link for the log file attached bellow. i will now try to make sure i have openFOAM 2.4.x and 3.0.x running, and will send you the various log files before and after following your procedure, if there are any changes as to what i should be doing, please let me know. i will try to get the log file for your procedure within the next couple of hours.

https://www.dropbox.com/s/qpmypl0qfk...exMesh.gz?dl=0

kind regards

esujby December 4, 2015 22:28

Hello Bruno,

Apologies for the delay, took me sometime to figure out the SHELL environment
I can now assure you i am using of30x.

Code:

parallels@ubuntu:~/OpenFOAM/OpenFOAM-3.0.x/chtMRF$ decomposePar
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  3.0.x                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 3.0.x-a07401d84f27
Exec  : decomposePar
Date  : Dec 05 2015
Time  : 03:16:37
Host  : "ubuntu"
PID    : 27309
Case  : /home/parallels/OpenFOAM/OpenFOAM-3.0.x/chtMRF
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time



Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod hierarchical

Finished decomposition in 0 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes

Processor 0
    Number of cells = 1
    Number of faces shared with processor 1 = 1
    Number of faces shared with processor 2 = 1
    Number of faces shared with processor 8 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 1
    Number of cells = 1
    Number of faces shared with processor 0 = 1
    Number of faces shared with processor 3 = 1
    Number of faces shared with processor 9 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 2
    Number of cells = 1
    Number of faces shared with processor 0 = 1
    Number of faces shared with processor 3 = 1
    Number of faces shared with processor 4 = 1
    Number of faces shared with processor 10 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 3
    Number of cells = 1
    Number of faces shared with processor 1 = 1
    Number of faces shared with processor 2 = 1
    Number of faces shared with processor 5 = 1
    Number of faces shared with processor 11 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 4
    Number of cells = 1
    Number of faces shared with processor 2 = 1
    Number of faces shared with processor 5 = 1
    Number of faces shared with processor 6 = 1
    Number of faces shared with processor 12 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 5
    Number of cells = 1
    Number of faces shared with processor 3 = 1
    Number of faces shared with processor 4 = 1
    Number of faces shared with processor 7 = 1
    Number of faces shared with processor 13 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 6
    Number of cells = 1
    Number of faces shared with processor 4 = 1
    Number of faces shared with processor 7 = 1
    Number of faces shared with processor 14 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 7
    Number of cells = 1
    Number of faces shared with processor 5 = 1
    Number of faces shared with processor 6 = 1
    Number of faces shared with processor 15 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 8
    Number of cells = 1
    Number of faces shared with processor 0 = 1
    Number of faces shared with processor 9 = 1
    Number of faces shared with processor 10 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 9
    Number of cells = 1
    Number of faces shared with processor 1 = 1
    Number of faces shared with processor 8 = 1
    Number of faces shared with processor 11 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 10
    Number of cells = 1
    Number of faces shared with processor 2 = 1
    Number of faces shared with processor 8 = 1
    Number of faces shared with processor 11 = 1
    Number of faces shared with processor 12 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 11
    Number of cells = 1
    Number of faces shared with processor 3 = 1
    Number of faces shared with processor 9 = 1
    Number of faces shared with processor 10 = 1
    Number of faces shared with processor 13 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 12
    Number of cells = 1
    Number of faces shared with processor 4 = 1
    Number of faces shared with processor 10 = 1
    Number of faces shared with processor 13 = 1
    Number of faces shared with processor 14 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 13
    Number of cells = 1
    Number of faces shared with processor 5 = 1
    Number of faces shared with processor 11 = 1
    Number of faces shared with processor 12 = 1
    Number of faces shared with processor 15 = 1
    Number of processor patches = 4
    Number of processor faces = 4
    Number of boundary faces = 2

Processor 14
    Number of cells = 1
    Number of faces shared with processor 6 = 1
    Number of faces shared with processor 12 = 1
    Number of faces shared with processor 15 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Processor 15
    Number of cells = 1
    Number of faces shared with processor 7 = 1
    Number of faces shared with processor 13 = 1
    Number of faces shared with processor 14 = 1
    Number of processor patches = 3
    Number of processor faces = 3
    Number of boundary faces = 3

Number of processor faces = 28
Max number of cells = 1 (0% above average 1)
Max number of processor patches = 4 (14.28571% above average 3.5)
Max number of faces between processors = 4 (14.28571% above average 3.5)

Time = 0

Processor 0: field transfer
Processor 1: field transfer
Processor 2: field transfer
Processor 3: field transfer
Processor 4: field transfer
Processor 5: field transfer
Processor 6: field transfer
Processor 7: field transfer
Processor 8: field transfer
Processor 9: field transfer
Processor 10: field transfer
Processor 11: field transfer
Processor 12: field transfer
Processor 13: field transfer
Processor 14: field transfer
Processor 15: field transfer

End

parallels@ubuntu:~/OpenFOAM/OpenFOAM-3.0.x/chtMRF$ mpirun -np 16 snappyHexMesh -overwrite -parallel > log.snappyHexMesh 2>&1

I will post the outcome and we can proceed.

kind regards

nas

esujby December 5, 2015 06:41

1 Attachment(s)
Hello Bruno,

I ve now run the simulation on of30x, please find the attached outcome. i am wondering if i still need to download and install of24x or can i follow your procedure on of30x and it should be fine, as i am guessing of30x is just an extension of 0f24x.

note: i ve set
Code:

allowfreestandingzones false
for this particular run (on of30x)
kind regards

Nasir

esujby December 5, 2015 08:19

Hello Bruno,

ok right back where we started, i can assure you, i now have op24x running, and i ve updated your bug fix as shown bellow, i am going to run the simulation now and post results, within the next couple of hours.

Code:

parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$ ./Allwmake > make.log 2>&1
parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$ icoFoam -help

Usage: icoFoam [OPTIONS]
options:
  -case <dir>      specify alternate case directory, default is the cwd
  -noFunctionObjects
                    do not execute functionObjects
  -parallel        run in parallel
  -roots <(dir1 .. dirN)>
                    slave root directories for distributed running
  -srcDoc          display source code in browser
  -doc              display application documentation in browser
  -help            print the usage

Using: OpenFOAM-2.4.x (see www.OpenFOAM.org)
Build: 2.4.x-2b147f41daf9

parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$ git remote add wyldckat https://github.com/wyldckat/OpenFOAM-2.4.x.git
parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$ git fetch wyldckat
remote: Counting objects: 7, done.
remote: Total 7 (delta 6), reused 6 (delta 6), pack-reused 1
Unpacking objects: 100% (7/7), done.
From https://github.com/wyldckat/OpenFOAM-2.4.x
 * [new branch]      MultiOLoops -> wyldckat/MultiOLoops
 * [new branch]      master    -> wyldckat/master
parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$ git checkout MultiOLoops
Branch MultiOLoops set up to track remote branch MultiOLoops from wyldckat.
Switched to a new branch 'MultiOLoops'
parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$ wmake libso src/dynamicMesh
Making dependency list for source file polyTopoChange/polyTopoChange/combineFaces.C
SOURCE=polyTopoChange/polyTopoChange/combineFaces.C ;  g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3  -DNoRepository -ftemplate-depth-100 -I/home/parallels/OpenFOAM/OpenFOAM-2.4.x/src/finiteVolume/lnInclude -I/home/parallels/OpenFOAM/OpenFOAM-2.4.x/src/meshTools/lnInclude -I/home/parallels/OpenFOAM/OpenFOAM-2.4.x/src/triSurface/lnInclude -I/home/parallels/OpenFOAM/OpenFOAM-2.4.x/src/mesh/extrudeModel/lnInclude -IlnInclude -I. -I/home/parallels/OpenFOAM/OpenFOAM-2.4.x/src/OpenFOAM/lnInclude -I/home/parallels/OpenFOAM/OpenFOAM-2.4.x/src/OSspecific/POSIX/lnInclude  -fPIC -c $SOURCE -o Make/linux64GccDPOpt/combineFaces.o
'/home/parallels/OpenFOAM/OpenFOAM-2.4.x/platforms/linux64GccDPOpt/lib/libdynamicMesh.so' is up to date.
parallels@ubuntu:~/OpenFOAM/OpenFOAM-2.4.x$

kind regards

nas


All times are GMT -4. The time now is 10:54.