Jim's
Tutorials

Spring 2019
course
site

Alright, so I have continued to read through the paper and now I am pretty confident with every piece of it, and what we need to calculate. It wasn't actually a whole lot more than I discussed last time.

So they start by plugging the equation for intensity into the definition for an autocorrelation function and they get a truly monstrous expression, which is eventually simplified into \( R_I (\Delta t) = \beta ^2 E_0^4 [ N^2 + (N^2 - N) e^{-K \sigma^2 / 2} ] \)

Recall that K is the magnitude of the scattering vector and \( \sigma^2 = \frac{2 k_B T t}{\alpha} \) is the variance. Going further the constant \(\alpha = 3 \pi \eta d \). Every constant here is known in the experiment except d, the diameter of the sphere.

So when the autocorrelation function is rewritten as \( R_I (\Delta t) = A + Be^{\Gamma \Delta t} \) we know that \( \Gamma \) is the quantity of note. In the experiment they take the data collected from voltage (which is linearly proportional to intensity), and fit it to \( R_I (\Delta t) = A + Be^{\Gamma \Delta t} \) in order to determine \( \Gamma \) and thus the diameter of the spheres.

Okay, but what about the power spectrum, what does that have to do with anything? That was a much simpler calculation. They do a Fourier transform on our equation for intensity, and plug that into the definition of the autocorrelation function, and then rearrange some of the pieces to the definition of the power spectrum. Thus with a relationship between power spectrum and auto correlation function, they express the power function as \( S_I (\omega) = A \delta(\omega) + \frac{B}{1 + (\omega / \Gamma)^2} \) though they later drop the \(\delta(\omega) \) with a justification I am still a little murky on.

I have also begun working on the simpler simulation we discussed. I haven't put too much time into it yet. So far collision detection is shaping up to be a real problem. I am also having problems with getting the correct distribution of velocities. I think I can get the correct distribution using np.random.normal(mean,variance), but I haven't tried yet. I also have a rough idea for how to deal with the collisions, which goes as follows:

  1. move all the small particles. for a time step
  2. if any have a position inside the large particle reverse their x and y velocity and move them outside of the particle somehow? If I don't move the particle outside, it might end up bouncing around inside of the large particle. Also change the velocity of the large particle in accordance to conservation laws
  3. Move the large particle
  4. This is the hard check. I think what I want to do is shift frame of reference so that the large particle isn't moving and calculate everything in this frame of reference before shifting back.

I'm going to try and explain the logic behind the frame of reference shift. Say there is a small particle moving with velocity v, and the large particle is behind it with velocity 2v. And say after the time step the small particle is inside the large particle. Without the shifting of reference frame, I would reverse the velocity of the small particle so that it is -v. But obviously that is nowhere close to how that collision would really work. But if I shifted reference frame, the small particle would have velocity -v when it collided, and that would be flipped, to velocity v. when I shift the reference frame back the small particle would have velocity 3v which makes much more sense.

I have also uploaded my program thus far. It's a bit messy, but I thought you might like to see exactly where I am.

https://cs.marlboro.college /cours /spring2019 /jims_tutorials /jtuttle /feb25
last modified Fri May 3 2024 8:29 pm

attachments [paper clip]

  last modified size
TXT simplebrownian.ipynb Fri May 03 2024 08:29 pm 17K