Jump to content
Hash, Inc. Forums
Sign in to follow this  
ZPiDER

Computational Fluid Dynamics Software

Recommended Posts

anyone knows a good CFD software for win+mac?

 

i'm searching for a good CFD solver. i'd like to create an interface between a:m and the solver, but as of yet i didnt have as much luck ..

 

OpenFOAM looks very good, but they say its only feasible to be used on unix flavours.

 

ideally the software should be a c++ library package to solve cfd problems, to avoid too much hassle for the a:m user.

 

also:

i currently have not much of an idea how those simulations work.

how fast are the calculations?

what grid sized will produce good results?

how well do these simulations perform for sub-frame advances (multipass!)?

anyone has wishes or ideas for the a:m integration?

 

if someone can shed some light on these questions i'd be grateful, and maybe this brings us one step closer to cfd in a:m!

Share this post


Link to post
Share on other sites

I don't know anything about it, but I saw this and this.

 

Hope there's something useful in there.

 

 

------------------------------------

EDIT

------------------------------------

 

Hmmm, they didn't show up as links, just text. Anyway, I'll just put the plain text below:

 

http://gfs.sourceforge.net (this one says that it can be compiled for Windows using Cygwin)

 

http://slfcfd.sourceforge.net (this one may be Linux only...uses Mesa)

Share this post


Link to post
Share on other sites
anyone knows a good CFD software for win+mac?

 

i'm searching for a good CFD solver. i'd like to create an interface between a:m and the solver, but as of yet i didnt have as much luck ..

 

OpenFOAM looks very good, but they say its only feasible to be used on unix flavours.

 

ideally the software should be a c++ library package to solve cfd problems, to avoid too much hassle for the a:m user.

 

Marcel,

 

 

 

I've written some about this a long time ago here and I'm sure you know that I also have plans for fluids in A:M. For the 2D case (i.e. water surface without self collision) I'm almost ready. I just have to find some more time to finish it (the problem is that I don't have much time to spare).

 

 

 

For the more general case (the one you probably aim for) I have done some pre studiers. I've read and hopefully understood most of the research papers related to fluids in computer graphics and I think I have decides for which approach to choose.

 

 

 

Using a freely available CFD library has crossed my mind, but since all that I've fond has been intended for engineering work, I've decided to implement my own solver based on the papers I've read.

 

 

 

The main differens between an engineering CFD solver and a CG one is that for engineering, every physical property has to be accurate while for CG it only has to look stunning :) The later is much easier for the computer.

 

if someone can shed some light on these questions i'd be grateful, and maybe this brings us one step closer to cfd in a:m!
I'm far from being an expert on this, but I'll try to give you some answers.

 

how fast are the calculations?
There are examples of dedicated CG CFD that runs real time on modern computers

what grid sized will produce good results?
That depends on the situation, but if you want realistic spray from free surface water, you will need a lot of resolution.

how well do these simulations perform for sub-frame advances (multipass!)?
There are two main approaches for solving differential equation; implicit methods and explicit ones. For the explicit method you need to have small enough time steps for the simulation to be stable. The implicit method is always stable for every time step, but you have to solve a large system of equations (i.e. invert large sparse matrices). I wouldn't recommend solving the system for every subframe though, but to interpolate the fluid position.

anyone has wishes or ideas for the a:m integration?
I have! and I'm sure I'm not alone :)

Share this post


Link to post
Share on other sites

hmm for some reason the markup wont work in this forum .. anyway -

 

i'd like to use some open source software, because i doubt anyone here has the ressources to develop a comprehensive cfd implementation. and since there are a LOT of implementations out there, i was hoping someone would have stumbled accross something useful. you are right, most of the implementations i've found are geared towards engineering ..

 

i've read a few papers about cfd, and some claim they get great looking results from a relatively coarse grid. others are using flexible grids (octtrees), but i'd be interested in some numbers. is a 100x100x100 grid a coarse grid for a bowl of water?

 

i'm not sure if interpolation is feasible. for a particle based solution yes, but for a density bitmap i dont see how that would work out, unless the interpolation would use the navier stokes equation itself. if the simulation rund in realtime, it should be possible to solve every sub-frame .. unless the equations become instable for very little change ..

 

anders, maybe we could team up on this project? as you'll see in the materials forum, i've already conducted some experiments with rendering volumetric data and i am quite pleased with the results so far.

 

another problem is: how can we "feed" the solver with scene data from a:m?

 

for the surface water plugin i did a while ago, it was relatively easy: i simply shot rays (perpendicular to the water surface) into the scene to detect any changes that would occur.

a cfd solver would need the volumes of every a:m object intersecting with the simulation field plus the object motion vectors. but even only getting the volume data might be difficult, as there is no easy way to tell if a certain position lies inside an object or outside of it.

Share this post


Link to post
Share on other sites

ZPiDER said "anders, maybe we could team up on this project?"

 

Oh yeah............

Share this post


Link to post
Share on other sites
is a 100x100x100 grid a coarse grid for a bowl of water?
100x100x100 cells are probably good enough for the simulation, but not for realistic rendering.

 

i'm not sure if interpolation is feasible. for a particle based solution yes, but for a density bitmap i dont see how that would work out
But where do you get the density bitmap from? Generally, a CFD simulation produces a vector field. To visualize this in a realistic way, you will have to fill this vector field with some kind of "media" (mass less particles typically). For free surface flow, you will also have to have some kind of surface tracking mechanism (also particles usually) which is fed back to the CFD simulation. All these particles are then possible to transform into a density bitmap, should you want. The interpolation takes place when you move the particles in the vector field.

 

if the simulation rund in realtime, it should be possible to solve every sub-frame .. unless the equations become instable for very little change
Too large time steps are generally the reason for unstability although very small steps could give rise to floating point resolution instability. An implicit solver is always stable so the time steps should be chosen in order to make the water look realistic enough rather that to match the A:M sub-frame time step.

 

anders, maybe we could team up on this project?
I'm honored, but I have very little time for this at the moment. I'd be glad to help as much as I can though:)

 

another problem is: how can we "feed" the solver with scene data from a:m?
A year ago when I had more time for this I had a discussion with Bob Croucher on this. The GetPatchPoints() method is supposed to give you the patch points fully transformed in a Chor or Action, but for some reason it doesn't work as intended. Bob looked at it, but I don't know if this problem has been fixed in v13 SDK. If you have all the fully transformed patch points, it shouldn't be too hard to write a collision detector for a CFD solver.

Share this post


Link to post
Share on other sites

hmm .. i guess there must be different approaches to this. filling the field with particles would resolve many of the issues, but how will this simulate 2 differently colored fluids mixing with each other? would each particle have a color and that would "rub off" onto neighbouring particles?

 

any time you have is greatly appreciated! i'll try to do much of the a:m related coding, but as i've said, i dont think i can code much of the actual simulation.

 

for the models: i have successfully read transformed model data before, but still i'm not sure if thats enough ..

Share this post


Link to post
Share on other sites
hmm .. i guess there must be different approaches to this. filling the field with particles would resolve many of the issues, but how will this simulate 2 differently colored fluids mixing with each other? would each particle have a color and that would "rub off" onto neighbouring particles?
I think this is the method. There are of course different approaches for the surface tracking mechanism (particles, implicit surfaces,...), but in principle they are the same. Free surface flow is actually mixing of two different fluids; water and air.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...