NTNUJAVA Virtual Physics Laboratory
Enjoy the fun of physics with simulations!
Backup site http://enjoy.phy.ntnu.edu.tw/ntnujava/

Misc => Molecular Workbench => Topic started by: concord on August 21, 2005, 08:09:59 pm



Title: A pendulum connected to a spring
Post by: concord on August 21, 2005, 08:09:59 pm
A pendulum connected to a spring:

http://mw.concord.org/modeler1.3/mirror/mechanics/pendulum3.html

(http://mw.concord.org/modeler1.3/mirror/mechanics/pendulum3.gif)


Title: Re: A pendulum connected to a spring
Post by: Fu-Kwun Hwang on February 17, 2010, 04:35:53 pm
The following is an EJS version of the above applet (with more options)

You can drag the spring, particle and the rod with mouse click/drag.
You can change spring constant k, mass m , spring length L, and damping constant b.
Enjoy it!


Title: Re: A pendulum connected to a spring
Post by: Fu-Kwun Hwang on October 24, 2011, 12:51:49 pm
Equation used in the above simulation.
Assume angle $\theta$ for the pendulum, angular velocity $\omega=\frac{d\theta}{dt}$
And $\frac{d\omega}{dt}=calAplha(\theta)+ g\cos\theta+ -b\omega/m$
where $caAplha(\theta)$ calculate spring force and find it tangential component.

Code:
public double calAlpha (double c) {
 cs=Math.cos(c);
 sc=Math.sin(c);
 x=x2-R*cs;
 y=y2-R*sc;
 L=Math.sqrt((x-x1)*(x-x1)+(y-y1)*(y-y1));
 f=-k*(L-L0); fx=f*(x-x1);
 fy=f*(y-y1);
 n=-fx*cs-fy*sc;
 nx=-n*cs;
 ny=-n*sc;
 fx=fx-nx;
 fy=fy-ny;
 if(c>0)sign=-1;
 else sign=1;
 return sign*Math.sqrt(fx*fx+fy*fy)/I; // where I is the momentum of initial
}