Jump to content

Need help with custom force rather than adding to velocity.


Annon

Recommended Posts

This is a bit of a learning exercise for me as I don't have any physics/math background, so everything I approach is from scratch, sigh...

 

I've created a wind force in gasFieldVOP for fluids that works quite nicely. At the minute though I'm using a speed limit to make sure it doesn't just keep adding velocity and going mental. I'd rather do it properly but I don't know how to calculate a "force" rather than just adding to velocity.

 

So what I'm after really is "treat as wind", which the help says is windRest-velocity. So it adds a drag to the velocity field. Doing this directly on velocity makes it just adhere to the wind force and loose any of it's previous motion, so I need to scale it somehow. I could just make up a number but I'm curious to see how to do this properly.

 

I'm presuming it's going to be something around acceleration and mass, but any resources I try to look at are just too complicated for me to decipher without going back in time and making sure I did physics at college instead of fine art :P

 

Thanks for any help

Christian

Link to comment
Share on other sites

  • 3 weeks later...

Force is the integral of velocity.

 

 

 

The derivative of force is velocity and the derivative of velocity is acceleration, so if you want to treat your "velocity" that you're adding like a "force", you could integrate it. You should be able to use the "area" chop to get the integral of your "velocity" over time, and then add that to your DOP velocity field.

Link to comment
Share on other sites

Force is the integral of velocity.

The derivative of force is velocity and the derivative of velocity is acceleration, so if you want to treat your "velocity" that you're adding like a "force", you could integrate it.

 

Force is mass times acceleration: http://en.wikipedia.org/wiki/Force

The derivative of force is usually jerk (given a constant mass with respect to time): http://en.wikipedia.org/wiki/Jerk_%28physics%29

The derivative of position is velocity: http://en.wikipedia.org/wiki/Position_%28vector%29#Derivatives_of_position

The derivative of velocity of acceleration: http://en.wikipedia.org/wiki/Acceleration

Link to comment
Share on other sites

I've created a wind force in gasFieldVOP for fluids that works quite nicely. At the minute though I'm using a speed limit to make sure it doesn't just keep adding velocity and going mental. I'd rather do it properly but I don't know how to calculate a "force" rather than just adding to velocity.

 

Have you looked at the POP Wind DOP ? From the helpcard, it sounds like it just directly modifies velocity instead of acceleration to avoid this problem. You can just dive inside and see how it's done in VOPs.

Link to comment
Share on other sites

I'm adding directly into a gas field VOP.

My question is how I can treat velocity as a force, not how to add velocity to the sim.

Thanks

Christian

 

I wasn't quite suggesting adding velocity, what I was suggesting was a way to control velocity so you can  direct where you want your sim to go.

Link to comment
Share on other sites

Brilliant, thanks guys.

This might get me somewhere but I'm struggling to see how I can put it together.

 

I've made a quick scene with a gasFieldVOP constant windforce, just with a multiplier to bring the "force" down.

Could one of you take a quick look and advise me what I need to do to make this correct?

I'm just trying to create some things that should be done properly, not with sudo logic.

 

Much appreciated for the help so far, if you could spare a second I'd be eternally grateful.

Thanks

Christian

problem_velAsForce.hip

Link to comment
Share on other sites

But if you don't use sudo logic, Linux won't allow it!

 

(On topic - I too would love to get my head around how this stuff *should* work.  So much of "forces" in CG simulation seem to amount to hacks to shove stuff around, rather than modelling the way a real world influence would work.  Fluids especially don't seem to appreciate being shoved around... they tend to just laugh and go somewhere they feel like going)

Link to comment
Share on other sites

But if you don't use sudo logic, Linux won't allow it!

 

(On topic - I too would love to get my head around how this stuff *should* work.  So much of "forces" in CG simulation seem to amount to hacks to shove stuff around, rather than modelling the way a real world influence would work.  Fluids especially don't seem to appreciate being shoved around... they tend to just laugh and go somewhere they feel like going)

 

I would have thought you want engineering software if you don't want hacks:

 

http://en.wikipedia.org/wiki/SolidWorks

Link to comment
Share on other sites

Brilliant, thanks guys.

This might get me somewhere but I'm struggling to see how I can put it together.

 

I've made a quick scene with a gasFieldVOP constant windforce, just with a multiplier to bring the "force" down.

Could one of you take a quick look and advise me what I need to do to make this correct?

I'm just trying to create some things that should be done properly, not with sudo logic.

 

Much appreciated for the help so far, if you could spare a second I'd be eternally grateful.

Thanks

Christian

 

 

What visual effect are you after that you're not achieving? It appears you want to give momentum to gas sims

Link to comment
Share on other sites

Hey Marty,

No this is more of an educational exercise. I have made a packaged solver here that can utilize CVEX to pipe into it and artists can manipulate it however they want by creating their own CVEX nodes. On top of that I've started building CVEX OTLs to do certain things, one of them is a windForce that is masked by temperature (or whatever field you want) so you can whisk little bits off and have less of an effect on the "hotter" areas.

 

At the minute I just have a bias amount, but I wanted to know how to do things properly...

 

Thanks for the interest.

Christian

Link to comment
Share on other sites

sounds like we have to define what is causing the new force then run a simulation on that too. i.e. the new force is created by heat that pushes air that then interacts with smoke plume etc. 

Link to comment
Share on other sites

All that is sorted, what my question is more about is treating something that you've made to add to velocity as a force instead.

So because I'm just using a bias amount, I don't think that's very proper and I'd like to get input on how to treat this in a proper way rather than picking a number out of the air.

 

So people have stated that it's mass x accel. So would I be using density as mass, or would I have to calculate it differently etc...

I don't need to know how to achieve a wind force, I need to know how to calculate a bias or multiplication of the vel that I'm adding that is based of something more concrete than just using a random number.

Link to comment
Share on other sites

Everything I've read suggests adding a force will add the force vectors together and is correct, it's the physical properties that will determine the rate of non-adding or bias or force vector.

Take as an example gravity, it will accelerate everything forever until on the surface of the earth air resistance is added and pushes back or a solid object pushes gravity back, ie chair holding you just above the surface of the earth is an anti-gravity device pushing back at the rate of gravity! Therefore in your example a mask on the chair would have a bias equal to a negative rate of force added.

By using bias you are saying that this mysterious force you've added is being pushed back at a certain rate. You are essentially defining an ant- force property by using bias.

Link to comment
Share on other sites

Force is acceleration. (scaled by mass)

Acceleration means how much is added to velocity each timestep.

So, adding to velocity is exactly what a force should be doing. Normally you would divide the applied force by the mass of the target of that force to arrive at how much acceleration the target will receive. In case of gravity, the amount of force is proportional to the mass, so the mass cancels out and you are left with just a constant acceleration. Add all the force vectors together to arrive with the resultant force which is then added to velocity (subject to mass and timestep). In case of a smoke sim you might be tempted to use density to to figure out the mass to use, but physically the higher density just means a larger amount of independent similar-sized particles, so they should all behave the same way. With smoke, it's really the air that reacts to forces and the particles are just suspended in it and float along..

 

As to your example, there really is no physical 'force' that would act the way you're trying to. The simulation solver calculates all the forces correctly, and you just need to have some physically motivated ways to apply forces to the fluid (gas) - if you want to be physically correct. Gravity, moving objects pushing the fluid, buoyancy caused by density differential caused by heating etc. There is generally no physically correct way to just apply arbitrary forces into the middle of the fluid. If you want that kind of control, you can just figure out a visually pleasing way to blend in that force, as you're already out of the realm of physical correctness :)

  • Like 2
Link to comment
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.

×
×
  • Create New...