1D chain with loads of disorder

  • Context: Graduate 
  • Thread starter Thread starter sebpinski
  • Start date Start date
  • Tags Tags
    1d Chain Disorder
Click For Summary
SUMMARY

This discussion focuses on simulating a one-dimensional lattice with disorder using a specific equation of motion. The user, Seb, seeks guidance on initializing a simulation that incorporates random mass and spring constant variations. A suggested approach involves using C programming with the GNU Scientific Library (GSL) for solving ordinary differential equations (ODEs). The proposed solution includes providing the right-hand side of the first-order system and setting initial conditions to observe the effects of disorder on mass amplitudes.

PREREQUISITES
  • Understanding of classical mechanics, specifically equations of motion.
  • Familiarity with numerical methods for solving ordinary differential equations (ODEs).
  • Basic knowledge of C programming language.
  • Experience with the GNU Scientific Library (GSL) for numerical computations.
NEXT STEPS
  • Learn how to implement ODE solvers using the GNU Scientific Library (GSL).
  • Research methods for initializing non-equilibrium states in lattice simulations.
  • Explore techniques for introducing randomness in mass and spring constants in simulations.
  • Investigate visualization tools like gnuplot for outputting simulation results.
USEFUL FOR

Researchers and developers in computational physics, particularly those interested in simulating dynamic systems with disorder, as well as programmers looking to apply numerical methods in C.

sebpinski
Messages
1
Reaction score
0
Hi all,

I'm wanting to write a small program simulating a 1D lattice with some motion. I have the equation:

[tex]m_{n}\frac{d^{2}u_{n}}{dt^{2}}= k_{n,n+1}(u_{n+1}-u_{n})+k_{n-1,n}(u_{n-1}-u_{n})[/tex]

Then using a simple trial plane wave ([tex]u_{n}=Ae^{-i\omega t}[/tex]). It boils down to:

[tex]- \omega^{2} m_{n}u_{n}= k_{n,n+1}(u_{n+1}-u_{n})+k_{n-1,n}(u_{n-1}-u_{n})[/tex]

This is the point that I'm really stuck at, I don't really know how to initialize the problem, without loosing generality. Looking at most textbooks like Hook & Hall, they only solve problems of this type with some kind of repeated lattice where either all masses are the same or at most they alternate between two types of mass. Although in most cases they find the dispersion relation (which I'm not actually interested in).

I want the simulation as general as possible as I want to introduce random mass/spring constant disorder and see how this effects the amplitudes of the masses along the chain. Could someone give me some hints on how to start, as obviously nothing will happen if the masses are at equilibrium at the start of the simulation.

Sorry if this appears very vague,
Thanks,
Seb
 
Physics news on Phys.org
Instead of using a plane wave ansatz, why not "integrate" the equations of motion directly? I've written some code in C for precisely this kind of problem. I'll give it to you if you're interested. It's base on the ODE solvers from the GSL:

http://www.gnu.org/software/gsl/

You only have to provide (i) the right hand side of the first-order system -- but I could give you a skeleton to start from -- and (ii) a bit of code to set the parameters and initial conditions. I assume you're only interested in a small number of particles, say, at most 10^3. My code provides for two kinds of output: the trajectories of all particles versus time, or a sequence of "frames" that can be used to create a film with gnuplot. All in a couple hundred lines of quick-and-dirty (but documented!) C.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 2 ·
Replies
2
Views
1K
Replies
0
Views
1K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
4
Views
2K
  • · Replies 12 ·
Replies
12
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K