CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[blockMesh] blockMesh breaks down when handling with huge grid numbers

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 1 Post By akidess
  • 1 Post By jherb
  • 1 Post By akidess

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 19, 2016, 23:08
Unhappy blockMesh breaks down when handling with huge grid numbers
  #1
New Member
 
Democritus's Avatar
 
Xiaoqiu HE
Join Date: Mar 2016
Location: Wuhan, China
Posts: 29
Rep Power: 10
Democritus is on a distinguished road
Hello Foamers~!

Here I met a serious problem: when i want to generate a mesh with grid number of 1e8, blockMesh just breaks down. Here is my mesh dict:
Code:
vertices
(
    (0    0     0)        //0
    ($Lx  0     0)        //1
    ($Lx  $Ly   0)        //2
    (0    $Ly   0)        //3
    (0    0     $Lz)      //4
    ($Lx  0     $Lz)      //5
    ($Lx  $Ly   $Lz)      //6
    (0    $Ly   $Lz)      //7
);

blocks
(
  hex ( 0 1 2 3 4 5 6 7 ) (10000 10000 1) simpleGrading (10 10 1)
);
Is there a way to deal with that problem? Thanks!
Democritus is offline   Reply With Quote

Old   June 20, 2016, 09:15
Default
  #2
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
"Breaks down" is a very unspecific description. I'd blame your memory.
Democritus likes this.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   June 20, 2016, 15:26
Default
  #3
Senior Member
 
Joachim Herb
Join Date: Sep 2010
Posts: 650
Rep Power: 21
jherb is on a distinguished road
Just a complete shot in the dark: Did you compile OpenFOAM with 32 or 64 bit label size?

see e. g. http://openfoamwiki.net/index.php/Label and https://github.com/OpenFOAM/OpenFOAM...etc/bashrc#L81
Democritus likes this.
jherb is offline   Reply With Quote

Old   June 20, 2016, 22:32
Default
  #4
New Member
 
Democritus's Avatar
 
Xiaoqiu HE
Join Date: Mar 2016
Location: Wuhan, China
Posts: 29
Rep Power: 10
Democritus is on a distinguished road
Quote:
Originally Posted by akidess View Post
"Breaks down" is a very unspecific description. I'd blame your memory.
Thank you very much for your attention on my problem
I now describe my situation in more details:
As you predicted, the memory ran out quickly and the hard disk was busy. Then the program do not response any more and I have to shut it down forcely. I think blockMesh generates the mesh information all in memory and do not write to disk until finished computing. So the memory become the bottleneck of my system.

Here is my idea about how to solve it:
1. generate the coarse mesh
2. use multi-thread tool in order to decompose the mesh to different sub mesh
3. refine every sub meshes in parallel

Would you please give me some advices about how to make it?
Thanks very much!

Last edited by Democritus; June 21, 2016 at 01:37.
Democritus is offline   Reply With Quote

Old   June 20, 2016, 22:38
Default
  #5
New Member
 
Democritus's Avatar
 
Xiaoqiu HE
Join Date: Mar 2016
Location: Wuhan, China
Posts: 29
Rep Power: 10
Democritus is on a distinguished road
Quote:
Originally Posted by jherb View Post
Just a complete shot in the dark: Did you compile OpenFOAM with 32 or 64 bit label size?

see e. g. http://openfoamwiki.net/index.php/Label and https://github.com/OpenFOAM/OpenFOAM...etc/bashrc#L81
Thank you very much for your attention on my problem
I work with ubuntu 16.04 and I installed OpenFOAM by the apt command. So I think my label set is the default value

Is there a way to install OpenFOAM with label value equaling to 64 by apt command?

Thank you very much!
Democritus is offline   Reply With Quote

Old   June 21, 2016, 01:58
Default
  #6
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
Yes, you can go that way. Some ideas here:
http://www.cfd-online.com/Forums/ope...eneration.html

Quote:
Originally Posted by Democritus View Post
Thank you very much for your attention on my problem
I now describe my situation in more details:
As you predicted, the memory ran out quickly and the hard disk was busy. Then the program do not response any more and I have to shut it down forcely. I think blockMesh generates the mesh information all in memory and do not write to disk until finished computing. So the memory become the bottleneck of my system.

Here is my idea about how to solve it:
1. generate the coarse mesh
2. use multi-thread tool in order to decompose the mesh to different sub mesh
3. refine every sub meshes in parallel

Would you please give me some advices about how to make it?
Thanks very much!
Democritus likes this.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   June 21, 2016, 23:32
Red face
  #7
New Member
 
Democritus's Avatar
 
Xiaoqiu HE
Join Date: Mar 2016
Location: Wuhan, China
Posts: 29
Rep Power: 10
Democritus is on a distinguished road
Quote:
Originally Posted by akidess View Post
Yes, you can go that way. Some ideas here:
http://www.cfd-online.com/Forums/ope...eneration.html
Dear akidess,
I have tried the 3-step-Meshing:
1. blockMesh a coarse mesh and topoSet a cellSet
2. decomposePar for making it ready for parallel processing
3. mpirun -np 8 refineMesh -overwrite -parallel
This works fine until the memory bottleneck was met
Now it comes to me a idea that if i can refineMesh one subMesh by one subMesh. I mean, if it is possible that i refine one subMesh once but still parallelly. I guess if the meshing domain could be limited to one subMesh and exploited all cpu cores' power, then the memory needed is affordable for me and the performance is ok.
Democritus is offline   Reply With Quote

Old   June 23, 2016, 02:39
Default
  #8
Senior Member
 
akidess's Avatar
 
Anton Kidess
Join Date: May 2009
Location: Germany
Posts: 1,377
Rep Power: 29
akidess will become famous soon enough
If you run on a single node, of course running in parallel will not gain you anything in terms of memory. If you don't have more than a single node, you are out of luck I think. Yeah, you can mesh subdomains separately and then stich, but you'll probably still dump once you stitch and get the large mesh, or finally when you attempt to solve.
__________________
*On twitter @akidTwit
*Spend as much time formulating your questions as you expect people to spend on their answer.
akidess is offline   Reply With Quote

Old   July 4, 2016, 21:09
Default
  #9
New Member
 
Democritus's Avatar
 
Xiaoqiu HE
Join Date: Mar 2016
Location: Wuhan, China
Posts: 29
Rep Power: 10
Democritus is on a distinguished road
Quote:
Originally Posted by akidess View Post
If you run on a single node, of course running in parallel will not gain you anything in terms of memory. If you don't have more than a single node, you are out of luck I think. Yeah, you can mesh subdomains separately and then stich, but you'll probably still dump once you stitch and get the large mesh, or finally when you attempt to solve.
Thank you~! I am trying to use other way like mesh grading to solve the problem.
Democritus is offline   Reply With Quote

Reply


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 Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Grid with huge dimensions Sadegh.A Mesh Generation & Pre-Processing 0 December 30, 2018 15:23
multiphase flow in huge dimensions Sadegh.A Main CFD Forum 0 December 27, 2018 09:37
MapFields to New Grid For Extreme Grid Deformations due to Body Motion albcem OpenFOAM 0 May 5, 2009 14:17
Kubuntu uses dash breaks All scripts in tutorials platopus OpenFOAM Bugs 8 April 15, 2008 07:52
Non-uniform grid calculation Aspens Main CFD Forum 1 February 23, 2000 14:15


All times are GMT -4. The time now is 19:42.