← Back to team overview

dolfin team mailing list archive

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

 

Question #143963 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/143963

    Status: Open => Answered

Anders Logg proposed the following answer:
On Thu, Feb 03, 2011 at 05:18:39PM -0000, Till B wrote:
> Question #143963 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/143963
>
>     Status: Answered => Open
>
> Till B is still having a problem:
> Hi
>
> Thank you two for your answers.
>
> Anders:
> With the working mesh, it solves a 37076 by 37076 matrix (which, however, is
> singular). If I refine the mesh with the built-in refine function, I get a
> 279286 by 279286 matrix (and here I get the memory problems).
> The mesh file itself (in xml format) is around 650 kb at the moment. I
> already tried meshes with 30mb (and then reduced the mesh density until I
> arrived at a working version). Do you mean that the mesh.xml file does not
> need much hard disk storage? Or that processing the mesh information should
> not cause much memory usage?

300000x300000 is quite a big problem for UMFPACK. No wonder you run
out of memory.

It's unlikely that the storage of the mesh file itself will ever be a
problem (you have more hard disk space than RAM). If it gets big, you
can always gzip it. DOLFIN can read .xml.gz files.

I meant that the storage (RAM) used by DOLFIN itself for meshes,
vectors etc is (or should be) quite small. Your problem is UMFPACK, or
in other words, that you use a direct solver instead of an iterative
solver.

> Andre:
> The iterative stokes example does not work, it aborts with the message
> "DOLFIN has not been configured with Trilinos or PETSc. Exiting.". I should
> probably note that I use the precompiled Windows version of Fenics.

If you want to solve any real problems with FEniCS, you need either
PETSc or Trilinos.

--
Anders


> Thank you so far
>
> Till
>
>
> 2011/2/3 Anders Logg <question143963@xxxxxxxxxxxxxxxxxxxxx>
>
> > Your question #143963 on DOLFIN changed:
> > https://answers.launchpad.net/dolfin/+question/143963
> >
> > Anders Logg proposed the following answer:
> > 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.
> >
> >
> >
> > If you still need help, you can reply to this email or go to the
> > following page to enter your feedback:
> > https://answers.launchpad.net/dolfin/+question/143963
> >
> > You received this question notification because you are a direct
> > subscriber of the question.
> >
>

-- 
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.