← Back to team overview

dolfin team mailing list archive

Re: [Question #143963]: fluid flow - memory problems

 

On Thu, Feb 03, 2011 at 04:37:00PM -0000, Till B wrote:
> New question #143963 on DOLFIN:
> https://answers.launchpad.net/dolfin/+question/143963
>
> Hi,
>
> I recently installed the Fenics package and now I try to solve some problems with it. I want to simulate the flow of air around an obstacle. Eventually I want to include the temperature and see how a hot obstacle cools down in a colder air flow. However I encounter several problems, already with my baby example which does not even include the temperature. I am new in the CFD business. To begin, I adapted a few examples for Navier-Stokes solvers that I found in the Dolfin examples or on launchpad.net/nsbench (I tried both steady state and transient flow examples). I use a 3d mesh.
>
> My main problem occurs with mesh size. Unless I use a rather coarse mesh, I run out of memory, sometimes with a std::bad_alloc error, sometimes with the message that UMFPACK has run out of memory. It works with a mesh that has 7828 cells, but for example not, if I refine this mesh with the refine function of Dolfin.
> Is there anything I can do about this? I could get more RAM, but I do not think that this will ultimately solve my problem. In the end I want to use much larger meshes.
>
> With this coarse mesh I do not get realistic results. Now matter how I set my inflow velocity, the speed of the fluid in the bulk is very low. When I use a 2d version of my example with a finer mesh, I get results that make sense.
>
> Is there a way to circumvent the memory issue?
>
> Thank you!

What is the size of the linear systems you are solving? If you use P2
elements in 3D you may very quickly get very large systems.

I suspect the problem with memory allocation is a result of using a
direct solver. UMFPACK allocates quite a lot of memory which makes it
unsuitable for large problems.

Try an iterative method and you should see that the memory usage is
kept under control. The mesh itself should only require a minimal
amount of storage.

--
Anders



Follow ups

References