blackbird_dream wrote:No. The vertical force is 2nd order vs deflection with coefficients fitted from data.
Fz1=-(k1*dx^2+k2*dx)
The damping is viscous i.e. proportional to vertical velocity.
Fz2=-C*dv
why does is use a K1*dx, I assume that that try to model teh spring non linearity and that k1 is extremely small while k2 is a very large spring in newton/m constant, but in any case the equation of a spring system when applied to a collsion of rigid bodies does no not behave have liek that simple equation that is for an simple mass
here you have the spring acting at soem arbitration point and there are more than one.
applying the force as if they were independent lead the that kind of behavior you see. for many reason, 1 is the will be numerally unstable, as the time step is smaller. 2 is also incorrect.
I can give you at more stable and acurate way to apply the spring force that converge to the exact result in the limit but that is does the best possible job on discrete time step. and it is still the correct spring system.
Many papers and many books is tire dynamic have that wrong whne they speak of the sprung mass, there si no such thing as sprung mass of weigh transfer of is a continue simulation thsoe ternm are for what is call state state, which is nothing by a point in a dynamics system where system is stable.
teh do that because forme there the bevavior can be linearized and the behaviodes is lionear for a small deviation form that point.
basicall the only time you equation is correct is whn ethe chassi and the tire is a rest. and is moves by a very small amoping forn teh equailrium point, but since the constact of you system are so extreme, a deviation form teh equilbrium point is tiny.
to fix that you need to apply the force and tiem t + dt liek this
Fz(t + dt) =-(k1*(dx + ddx)^2+k2*(dx + ddx) -C*(dv + ddv)[/quote]
but that requireres solve a system of equation.
I can give you the derivation and code that you can use if you wnat then the spring will alway be statbel at any rate and avoid that vibrarion you see, there is code in newton that does that already.