Here is a daily log for Jakob Grzesik from 2017.6.5 to 2017.8.5 in Saito Lab in Tohoku Univ.
Daily schedule (tentative)†
- 09:00-09:30 Begin climbing to campus
- 09:30-09:35 Succumb to burning feeling in calves and take a break
- 09:35-10:00 Resume climb to lab
- 10:00-11:00 Finishing/continuing any work from previous day
- 11:00-12:00 Discussion with Shoufie-san
- 12:00-13:00 Lunch
- 13:00-13:30 Prepare for daily report presentation
- 13:30-14:30 Meeting with Saito-sensei
- 14:30-18:30 Start working on work for tomorrow's presentation and updating Pukiwiki
Goal of the project†
- Synchronization of particle motion
Questions and Answers†
This section is for posting questions from Haihao-san and answers from other group members.
- Please list here with some simple reasons or details.
- For every problem, give a tag double asterisks (**) in the code so that it will appear in the table of contents.
- For the answer, give a tag triple asterisks (***) in the code below the problem in order to make a proper alignment.
- List from new to old.
This part is basically written by Yakub-san. Any other people can add this.
Here the information should be from new to old so that we do not need to scroll.
- Finished code that animated the position vs. velocity graphs for small oscillators.
- Started making presentation for Mid Program Meeting
- Began looking at Kuramoto Model
- Finish a draft of presentation for Mid Program Meeting
- Try to learn more about plasmons and phonons and the Kuramoto model.
- Begin thinking about questions to ask self and explore consequences of these questions.
- Coded an animation of two waves, one cosine, the other sine, using matplotlib animation on Python.
- Made code that plots position vs. velocity of a small oscillator.
- Start making presentation for Mid Program Meeting
- Figure out how to animate the position vs velocity graphs over time.
- Think about how to implement Python matrices into program in order to make it easier to come up with and implement more variations and parameter changes.
- Went over phase and its relation to the position and velocity of a particle.
- Discussed fully how to use Fourier Transform in solving differential equations.
- Finished coding and running Runge-Kutta program for 2,3,4,and 5 oscillators, with varying initial conditions and parameters.
- Plot phases of particles in phase space.
- Look into how to animate in python or some other software if necessary.
- Figure out how to implement matrix math in python to make future customization of N oscillators problem easier to implement.
- Take a look at WXMaxima computer algebra system
- Weekend: Report on the quality of Ramen Jiro, and check out Sendai Castle, while exploring other parts of the city.
- Learned about different ways to derive and interpret Q value, in particular, Saito-sensei showed me a method using the Fourier Transform, which worked well in deriving values for overdamped and underdamped oscillators.
- Formalized and derived motions of equations for a system of N small oscillators on top of one larger oscillator
- Wrote up algorithm for doing a Runge-Kutta approximation for N oscillators.
- Use Fourier Transform to solve differential equations of 2nd order involving constant and nonlinear forces.
- Code the algorithm that I've written up for Runge-Kutta for N osciallations.
- Finished getting Fast Fourier Transform to work on data points for the system described by two oscillators and plotted the dominant frequencies of the system. Also played around with parameters to see how that would affect the steady state frequency and synchronization.
- Derive Q value for a critically damped system, overdamped system, underdamped system.
- Extend Python function to evaluate system for an arbitrary N oscillators.
- Think about how to measure synchronization of a system and find the phase difference between two objects in a system.
- Got Fast Fourier Transform to work in Python, plotting a line graph that shows the dominant frequencies of the system, whose position is approximated by the previously written Runge-Kutta Approximation program.
- Attended group meeting and watched Tatsumi-san's presentation of his Doctorate Thesis
- Find the engineering applications of synchronization.
- Learn about Q value
- Finished writing a Python program to approximate and graph solutions for coupled linear differential equations using the Runge Kutta method.
- Met with Saito-sensei and Shoufie-san and discussed Fourier transform
- Found an implementation in Python of Fast Fourier Transform with Shoufie-san and used it to plot already known functions in the frequency domain.
- Implement Python program on example from Thursday
- Figure out how to implement Fast Fourier Transform on discrete data set in Python.
- Discussed with Shoufie how to extend the Runge-Kutta algorithm I made for a system of a single differential equation to a system of many coupled differential equations. Learning how to better implement matrices in python looks like it'll be helpful.
- Found out that my derivation for Euler-Lagrange equation involving non-conservative forces had a mistake that led to different results than expected. Will be looking over and correcting it this weekend.
- Enjoy the weekend and check out the Kizuna Matsuri, which will be in town.
- Fix derivation of Euler Lagrange equation and apply it a simple situation to verify it works, and then apply it to the more complicated example I discussed with Saito-sensei on Thursday.
- Find damping of a system as a function of frequency.
- Solved problem for HW and did some more exercises with Lagrangian mechanics and ODEs.
- Learned about an example of synchronization phenomenon with Saito-sensei. Involved first getting equations of motion using Lagrangian mechanics, then applying Linear Algebra and differential equations. Ended up with system that was not analytically solvable and needed to be numerically approximated.
- Worked on deriving Euler-Lagrange equation in systems with non-conservative forces.
- Begin learning how to plot equations effectively. JSXGraph looks very promising, but difficult to learn.
- Design programs to numerically solve differential equation systems. Start off with Euler's method, than build upon that to do the Runge Kutta method.
- Solidify understanding of EL in non-conservative situation to the extent that I can follow and present the derivation.
- Walked to campus, took the right path, so it only took about 25 mins to make it to the lab.
- Plotted results for last night's HW with varying parameters.
- Practiced getting equations of motion for more complicated systems using Lagrangian Mechanics.
- Considered systems with damping forces and modelled motion using differential equations.
- Apply linear algebra and ODEs to solve a general second order differential equations problem.
- Learn how to solve ODEs and linear algebra questions using python(Start with Euler's approximation method).
- Walked to campus, got lost at campus. Took about 45 mins.
- Finished working on HW about action and the Euler Lagrange equation
- Worked on learning about differential equations.
- Worked on applying Lagrangian mechanics to double pendulum.
- Had lunch with Nulli-san at Espace Ouvert
- First "experiment": synchronization of vegetable can movement within a box due to forces exerted while carrying it and walking at a certain pace.
- Solve equations of motion for a box on a spring with some initial external force over a fixed period of time, both before and after external force is removed.
- Numerically solve ODEs in Python(perhaps using numpy and scipy packages).
- Shoufie-san picked me up from Urban Castle Kawauchi, took me to campus by subway (International Center -> Aobayama, 250 yen ~20 mins total)
- Nugraha-sensei helped me set up lab server access, mail client, etc.
- Got a quick bento lunch on campus and ate with Saito-sensei who played his ukulele
- Learned about Lagrangian mechanics, specifically in the context of a simple pendulum.
- Learned a bit about the general solutions to second-order differential equations.
- Learn what "action" in physics is
- Derive the Euler-Lagrange Equation