Physical simulation for blender
Moderators: jesterKing, stiv
Physical simulation for blender
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.
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.
Re: Physical simulation for blender
Hi such work would certainly be a greatly appreciated contribution.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.
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
Re: Physical simulation for blender
Hello!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
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.
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
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
Hello!
Great thanks for your reply and your attention.
I really feel great moral support.
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
Great thanks for your reply and your attention.
I already found itKoba 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.

Thank you for advice, I'll try to post there.Koba wrote: So why don't you head over to blenderartists.org and make a post there - you'll get an overwhelming positive response!
Now I have 4 variant to choose from: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!
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
Than is what I want to doLetterRip 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.

Thank you very much for your reply.LetterRip wrote: Also the more total proposals submitted, the more that are accepted.
LetterRip
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
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
-
- Posts: 18
- Joined: Fri Oct 25, 2002 9:32 am
- Contact:
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.
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.
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
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
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
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
Hi,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.
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

Hello
Again thanks for your attention.
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
May be I would return to this problem when I'll have more experience.
Again thanks for your attention.
I see some way out of the problem with rendering: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
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

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 itKoba 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

Hello
thanks again for reply
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.
thanks again for reply
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.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
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.
Hello again!
It seems that fire is the most popular choice...
http://blenderartists.org/forum/showthr ... post831942
Aliona
It seems that fire is the most popular choice...
http://blenderartists.org/forum/showthr ... post831942
Aliona