Physical simulation for blender

General discussion about the development of the open source Blender

Moderators: jesterKing, stiv

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Physical simulation for blender

Post by aliona » Sat Mar 10, 2007 12:09 pm

Hello All!

I am interested in physical simulation and I think, that I can contribute to simulations in blender. I could implement one of such effects as fire, smoke, water, cloth etc. I think that I have an ability to do it because physical simulation is my speciality. I am a 4th year student of MIPT. In a few month I will finish the work on my diploma, connected with the simulation of gas flowing through the complex structures. And now I'd like to try my skills in a big popular project like blender.

I also contribute to physical simulator Step (http://edu.kde.org/step/)

I have thought about applying project for Blender in Summer of Code 2007.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Re: Physical simulation for blender

Post by LetterRip » Sat Mar 10, 2007 8:26 pm

aliona wrote:Hello All!

I am interested in physical simulation and I think, that I can contribute to simulations in blender. I could implement one of such effects as fire, smoke, water, cloth etc. I think that I have an ability to do it because physical simulation is my speciality. I am a 4th year student of MIPT. In a few month I will finish the work on my diploma, connected with the simulation of gas flowing through the complex structures. And now I'd like to try my skills in a big popular project like blender.

I also contribute to physical simulator Step (http://edu.kde.org/step/)

I have thought about applying project for Blender in Summer of Code 2007.
Hi such work would certainly be a greatly appreciated contribution.

Blender has cloth (soft body solver and a cloth solver) and water (generalized fluid simulator, but currently only does liquids) simulation. Smoke and flame are both currently not available in Blender but are greatly desired.

You should certainly consider applying for the SoC, but also I hope you consider working on it independently even if a SoC application isn't successful.

LetterRip

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Re: Physical simulation for blender

Post by aliona » Sun Mar 11, 2007 9:42 am

LetterRip wrote:
Hi such work would certainly be a greatly appreciated contribution.

Blender has cloth (soft body solver and a cloth solver) and water (generalized fluid simulator, but currently only does liquids) simulation. Smoke and flame are both currently not available in Blender but are greatly desired.

You should certainly consider applying for the SoC, but also I hope you consider working on it independently even if a SoC application isn't successful.

LetterRip
Hello!
Thank you very much for your attention and your reply.
I found the examples of water simulation for blender and I like it. I think, it is really great work.

Sure I will work on my project anyway, but there is some reasons for me to apply for SoC.
1. I am sure in my ability concerning the simulation (physical model, math background, modularization of program etc), but I'm not familiar with blender code yet and I hope that mentor from blender could help me, to get in blender project quickly.
2. If I can participate in SoC, I wouldn't have to work in summer and I'll have much more time for this project.

So, I wrote to this forum to understand, if my project can be usefull and maybe to find mentor for me.

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip » Mon Mar 12, 2007 8:24 am

Mentors aren't chosen till after all applications are evaluated. If you do a proposal now, you can probably get feedback from the potential mentors.

Also the more total proposals submitted, the more that are accepted.

LetterRip

Koba
Posts: 0
Joined: Thu Apr 15, 2004 9:48 am

Post by Koba » Mon Mar 12, 2007 11:32 am

Hi!


If you are new to blender, I think you should know that here on blender.org, the forums can be a little slow. As a developer forum, this is the correct place for a first post though!

Anyway, from your links, it does seem you have something great to offer Blender! If you do choose to work on physics in Blender, I think you'll find that Blender has a great, friendly community who will really appreciate your contribution.

Like LetterRip, I suggest you try to get into a SoC project but will consider working with Blender if that falls through. Blender is perhaps *the* place where technical and physics applications get to be enjoyed by the widest audience in a free software context.

So why don't you head over to blenderartists.org and make a post there - you'll get an overwhelming positive response!

Personally, I think LetterRip should have mentioned is that while we are all hoping for the cloth solver, it isn't in cvs and official yet. There are also the game engine physics engine/s used for rigid body animation (and games of course). The two things I believe would be most appreciated would be either a higher accuracy/fidelity rigid body solver for animation or some sort of unified physics framework allowing interaction between softbodies, rigid bodies, fluids etc. A smoke/flame solver with volumetric rendering would also be very, very high on everyone's wishlist!

Koba

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Post by aliona » Mon Mar 12, 2007 4:57 pm

Hello!
Great thanks for your reply and your attention.
Koba wrote: If you do choose to work on physics in Blender, I think you'll find that Blender has a great, friendly community who will really appreciate your contribution.
I already found it :) I really feel great moral support.
Koba wrote: So why don't you head over to blenderartists.org and make a post there - you'll get an overwhelming positive response!
Thank you for advice, I'll try to post there.
Koba wrote: Personally, I think LetterRip should have mentioned is that while we are all hoping for the cloth solver, it isn't in cvs and official yet. There are also the game engine physics engine/s used for rigid body animation (and games of course). The two things I believe would be most appreciated would be either a higher accuracy/fidelity rigid body solver for animation or some sort of unified physics framework allowing interaction between softbodies, rigid bodies, fluids etc. A smoke/flame solver with volumetric rendering would also be very, very high on everyone's wishlist!
Now I have 4 variant to choose from:
1. Simulation of fire and smoke. This problem is very interesting for me. I found, that ordinarily fire and smoke are simulated as particle gas and I'd like to try another way and use Boltzmann equation (it deals with functions of distribution). I can write more about it if it is interesting.
2. Simulation of cloth. I connected with people, who make it now for blender. May be I should joint them
3. Rigid body (higher accuracy solver). That 's what we are now working in Step.
4. Unified physics framework allowing interaction between softbodies, rigid bodies, fluids etc. I have not thought about this program before, but now I see that it is very interesting. I shall think over it.

Aliona

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Post by aliona » Mon Mar 12, 2007 5:04 pm

LetterRip wrote:Mentors aren't chosen till after all applications are evaluated. If you do a proposal now, you can probably get feedback from the potential mentors.
Than is what I want to do ;)
LetterRip wrote: Also the more total proposals submitted, the more that are accepted.
LetterRip
Thank you very much for your reply.

Koba
Posts: 0
Joined: Thu Apr 15, 2004 9:48 am

Post by Koba » Mon Mar 12, 2007 5:16 pm

Hi again,

Glad your leaving all the options open.

One thing I would like to emphasise though, while fire and smoke simulation would be a very popular choice, such a simulator would be of limited value without voxel/volumetric rendering which Blender doesn't currently have.

Voxel rendering was the subject of an unsuccessful application to GSoc last year (unfortunately!) and I suspect that coding volumetrics *and* smoke/fire physics into Blender is a little too ambitious. Perhaps that Soc will reemerge (no idea what happened to it).

FYI, the current fluid solver is based on the Lattice Boltzmann Method which I understand can be generalised to gases. Again, I suspect that lack of voxel rendering is preventing extension in that area. Problem is that voxels and simulation really need to come together at the same time to be of use.

Koba

pildanovak
Posts: 18
Joined: Fri Oct 25, 2002 9:32 am
Contact:

Post by pildanovak » Mon Mar 12, 2007 7:53 pm

Hi,
as a user, I'm definitly for "an united system for everything physical"
Now, there are softbodies, rigidbodies, almost cloth, particles with collision, and fluids...
What I think the most advanced parts are now Bullet rigidbody library, which is well optimised, and works with a realtime performance of professional engines, and fluids. Also other parts are well integrated, but are not so fast and optimised. There is also a very good particles refactor by Jahka, look at Blender developer wiki.
I think, when something new is added(smoke, fire, which would be also great), it would be good if it goes together with some of the alredy in tools, or merges some of these tools.

Koba
Posts: 0
Joined: Thu Apr 15, 2004 9:48 am

Post by Koba » Mon Mar 12, 2007 10:47 pm

The way I see a physics unification working is as follows:

Every physics solver is Blender works in different ways. What is needed is to identify the objects with softbody, cloth, rigid body and fluid effects in the scene and track the vertices of those objects. Then observe volume intersections and based on mass and acceleration (specified in the individual solver panels and using frame interpolation) calculate the forces (equal and opposite) and then directly modify the data in the active solvers to generate the desired response. With the LBM solver for example, you would add a temporary force on the surface cells involved.

Of course a completely unified solver could be an answer but a general solver is unlikely to be fast at everything.

Koba

LetterRip
Posts: 0
Joined: Thu Mar 25, 2004 7:03 am

Post by LetterRip » Tue Mar 13, 2007 6:52 am

Unification of the solvers is a very large chunk to bite off and something that probably will require someone with a lot of experience with the existing code base. While it is something I would love to see happen I don't think it would be doable for SoC.

For cloth one of the cloth solving algorithms was already integrated for the 2.43 release. The rest will come for the 2.5 release, at 99% completed it really seems unlikely that such a project would be accepted.

Rigid body - hmm, could be interesting

see this thread though, I don't think it would be a SoC timeframe project either....

http://www.continuousphysics.com/Bullet ... .php?t=755

and probably email erwin about bullet.

LetterRip

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Post by aliona » Tue Mar 13, 2007 2:25 pm

pildanovak wrote:Hi,
as a user, I'm definitly for "an united system for everything physical"
Now, there are softbodies, rigidbodies, almost cloth, particles with collision, and fluids...
What I think the most advanced parts are now Bullet rigidbody library, which is well optimised, and works with a realtime performance of professional engines, and fluids. Also other parts are well integrated, but are not so fast and optimised. There is also a very good particles refactor by Jahka, look at Blender developer wiki.
I think, when something new is added(smoke, fire, which would be also great), it would be good if it goes together with some of the alredy in tools, or merges some of these tools.
Hi,
Thank you for your reply.
I think, that making an united system of everything physical could be a great work. But unfortunately I have not much experience in blender code yet and so I doubt, that I can do it :(

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Post by aliona » Tue Mar 13, 2007 3:29 pm

Hello
Again thanks for your attention.

Koba wrote:Hi again,

Glad your leaving all the options open.

One thing I would like to emphasise though, while fire and smoke simulation would be a very popular choice, such a simulator would be of limited value without voxel/volumetric rendering which Blender doesn't currently have.

Voxel rendering was the subject of an unsuccessful application to GSoc last year (unfortunately!) and I suspect that coding volumetrics *and* smoke/fire physics into Blender is a little too ambitious. Perhaps that Soc will reemerge (no idea what happened to it).

FYI, the current fluid solver is based on the Lattice Boltzmann Method which I understand can be generalised to gases. Again, I suspect that lack of voxel rendering is preventing extension in that area. Problem is that voxels and simulation really need to come together at the same time to be of use.

Koba
I see some way out of the problem with rendering:
1. We may perform calculation using Boltzmann equation, and then create particle system to visualize results.
2. As I understand, voxel rendering is a very important features which is interesting to many people and it is very possible that it will be done soon. So we can perform some simple visualization (for example 1.) and then use voxel rendering when it will be ready. After all I can implement it myself after this project :)
Koba wrote:
The way I see a physics unification working is as follows:

Every physics solver is Blender works in different ways. What is needed is to identify the objects with softbody, cloth, rigid body and fluid effects in the scene and track the vertices of those objects. Then observe volume intersections and based on mass and acceleration (specified in the individual solver panels and using frame interpolation) calculate the forces (equal and opposite) and then directly modify the data in the active solvers to generate the desired response. With the LBM solver for example, you would add a temporary force on the surface cells involved.

Of course a completely unified solver could be an answer but a general solver is unlikely to be fast at everything.

Koba
Simultaneous solving of several different types of equation is a very interesting mathematical problem and it could be very interesting to solve it, but it also requires touching a lot of existing code and I don't think that my not very large knowledge in blender code can let me do it :( May be I would return to this problem when I'll have more experience.

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Post by aliona » Tue Mar 13, 2007 4:00 pm

Hello
thanks again for reply
LetterRip wrote:Unification of the solvers is a very large chunk to bite off and something that probably will require someone with a lot of experience with the existing code base. While it is something I would love to see happen I don't think it would be doable for SoC.

For cloth one of the cloth solving algorithms was already integrated for the 2.43 release. The rest will come for the 2.5 release, at 99% completed it really seems unlikely that such a project would be accepted.

Rigid body - hmm, could be interesting

see this thread though, I don't think it would be a SoC timeframe project either....

http://www.continuousphysics.com/Bullet ... .php?t=755

and probably email erwin about bullet.

LetterRip
I agree with you about unification and about cloth. But I don't think that rigid body simulation is too big project. In Step we work at rigid body simulation with accent on accuracy and error estimations, so I already have some experience.

As for my project, I can add more accurate solvers to Bullet or may be I could integrate Step library in Blender (provided that Step will evolve enough for it). I need some time to learn more about Bullet (and email to erwin), but I believe that in a few days I can make time estimation, that will show that I do can perform it in a few month.

Besides I do not have to include everything in SoC, I can include main features, and secondary thinks I can make in autumn.

aliona
Posts: 0
Joined: Sat Mar 10, 2007 11:43 am
Location: Moscow

Post by aliona » Wed Mar 14, 2007 3:24 pm

Hello again!

It seems that fire is the most popular choice...
http://blenderartists.org/forum/showthr ... post831942

Aliona

Post Reply