SPRING_ODE2
Gnuplot Graphics to Display Spring ODE Solution


SPRING_ODE2 is a C++ program which shows how Gnuplot graphics can be used to illustrate a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.

This program is a revision of the SPRING_ODE program. A second change that we make is that we use vectors (C arrays) to store the data.

Hooke's law for a spring observes that the restoring force is proportional to the displacement:

        F = - k x
      
and Newton's law relates the force to acceleration:
        F = m a
      

Putting these equations together, we have:

        m * d^2 x/dt^2 = - k * x
      

We can add a damping force with coefficient c:

        m * d^2 x/dt^2 = - k * x - c * dx/dt
      
If we write this as a pair of first order equations for (x,v), we have
            dx/dt = v
        m * dv/dt = - k * x - c * v
      
and now we can approximate these values for small time steps.

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

SPRING_ODE2 is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

GNUPLOT, C++ programs which illustrate the use of the gnuplot graphics program.

LORENZ_ODE, a C++ program which approximates solutions to the Lorenz system, creating output files that can be displayed by Gnuplot.

GRAPHICS_EXAMPLES_GNUPLOT, gnuplot scripts which illustrate how various kinds of data can be displayed and analyzed graphically using the interactive executable graphics program GNUPLOT.

SPRING_ODE, a C++ program which shows how line printer graphics can be used to make a crude illustration of a solution of the ordinary differential equation (ODE) that describes the motion of a weight attached to a spring.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 09 October 2013.