Skip to content

Instantly share code, notes, and snippets.

@cmaureir
Last active August 29, 2015 14:06
Show Gist options
  • Save cmaureir/ebe1a724ac822539b672 to your computer and use it in GitHub Desktop.
Save cmaureir/ebe1a724ac822539b672 to your computer and use it in GitHub Desktop.
questions

Initialization of a Binary:

  • Calculate dt_{b_{i}} according to Eq. 22

  • Calculate the \eta_b using the condition: (Page 8, right column, second paragaph)

  • ETA_B = D_TIME_MIN / (2.0 * min(dt_{b_{i}});

  • Initialization of dt = D_TIME_MIN / 2 (Question1: This for everyone? or we just use the minimum?)

Integration of a Binary:

  • For each binary, we follow the procedure:

  • Determinate new dt, calculating the minimum of the members (Question 2: we already initialized one, so they are the same?)

  • (Huge Question 3)

  • I understand that for a certain t we determinate if it's even or odd according to the dt, and what to do in both cases but what is the meaning of the phrase "If t is odd, we maintain the same time step and by using DELTA t_old we determine the time step at both the beginning dt_{0} and the end dt_{1} of that time step and find their average: dt = (dt_0 + dt_1)/2"

  • Let's do an example:

    • We have a certain time tt and our timestep dtt, at the end, the time is odd, so we maintain the dtt (DELTA t_old)
      • What is dt0?
      • What is dt1?
      • If dt0 = dtt ,our dt1 will also be dtt?
        • is that is the case, dt = (dt0 + dt1)/2 = (dtt + dtt)/2 = dtt
        • So the restriction makes no sense because dt/2 < dtt = dt < dt.
  • Prediction (Get Predicted pos/vel)

  • 3 times

  • Update forces using predicted positions and velocities

  • Calculate perturbation forces (Question 4: This implementation is based on which work?, See lasts comments of your email)

  • correct positions and velocities (Question 5: Normal Hermite, updates the REAL pos/vel, but since here we are repeating the force update and correction process, we correct the PREDICTED pos/vel ?)


About your email

We find new time steps for the particles. If a binary is not terminated, its corresponding ghost does not change time step.

There is another special treatment for the ghost particles? I Predict-Update Forces-Correct positions/velocities normally as the other particles, but only this conditions of the timesteps is required?

Yes, only over the neighbours. I trust the list of neighours because I have spent a lot of time on it, so there is no need to search among all particles for perturbers. To be on the safe side, you can have the neighbour radius a little large, so you don't miss anything. I have to say here that I don't tryst very much Myriad's treatment of perturbers. It is working, but I did not test it very much. It is hard to test it anyway.

Let's assume the next steps

Integration (using int times t=0,1,2,3,4,5...)

  1. If there are binaries -> integration
  2. Prediction (N)
  3. Update forces (Nact) <- calculate neighbor list
  4. Check for new binaries
  5. Correction (N)
  • At a t=0 I found binaries on step 4,
  • so the next time (loop) t=1 I enter into the step 1,
  • but since I formed the ghost particle in the previous step
  • I don't have the neighbor list which is calculated in the step 3
  • Should I build the neighbor list for every ghost particle when it's created?
  • Or for the "first" evolution of the binary I use one of the members neighbor's list?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment