- The added line is THIS COLOR.
- The deleted line is THIS COLOR.
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) [#schedule]
- 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 [#goal]
- Synchronization of particle motion
*Questions and Answers [#QA]
This section is for posting questions from Jakob-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.
**Q: (Placeholder) [#p895f04e]
***A: (Placeholder) [#q305cf42]
This part is basically written by Jakob-san. Any other people can add this.
Here the information should be from new to old so that we do not need to scroll.
**July 14 [#a7b2b2af]
- Analytically showed how to express synchronized particles as one larger particles with the parameters of the single, larger particle just being the sum of the parameters of the smaller particles in the group.
- Finished coding and began running the synchronized group counter program.
- Run tests on random initial conditions to see if there is significant difference between the time it takes for a system to synchronize for various initial conditions.
- Come up with 3 hypotheses pertaining to parameters of the system and the time it takes for the system to syncrhonize.
- Find good threshold values for determining when a system is fully synchronized; may depend on number of oscillators.
**July 13 [#a7b2b2af]
- Looked into the idea of condensing a group of synchronized oscillators into a single oscillator. Allows for easy desrciption of the fully syncrhonized system.
- Also started running tests to better observe synchronization times based on phase differences to show that two particles with closer phase with synchronize quicker.
- Working on code to count how many synchronized groups are in the system at as a function of time.
- Finish the code for counting synchronized groups
**July 12 [#a7b2b2af]
- Presented to Kono-sensei and Sarah-San along with Ogawa-san about my research project for their lab visit.
- Found that the error in the matrix algorithm had to do with the implementation of coupled Runge-Kutta. The implementation to fix this error will probably make this version of the alogrithm take much longer than it's worth, so will be adjusting older, non-matrix form of the algorithm.
- Develop an algorithm based off the old one that allows for more varied parameters and situations.
- Investigate Kono-sensei's questions from his visit and look at the paper on superradiance he sent, since it's about dipole synchronization.
**July 11 [#a7b2b2af]
- Begin retracing steps through both versions of my oscillator program, rederiving carefully the equations and steps used in the first alogrithm.
- Found that the matrix method of the algorithm produced results that seemed strange.
- Find what is the error in the matrix algorithm and how to fix it.
- Prepare for visit from Kono-sensei and Sarah-san.
**July 10 [#a7b2b2af]
- Successfully transfered data from HDD to SSD and began using new SSD.
- Advertised Nakatani program to students visiting from the University of Washington.
- Noticed that my matrix version of the program gave answers not consistent with the previous version of the algorithm. Began immediately looking through code to find potential errors.
- Re-derive the formulae used in both algorithms to see if they are logically correct.
- Look through code again to see if there are any coding errors.
- Begin working on graphing function that'll let me look at previously collected data and "zoom in" on points of interest.
**July 7 [#a7b2b2af]
- Worked on starting tests on the lab computers.
- Met with Saito-sensei and attempted to transfer data from old HDD to new SSD. Transfer was unsuccessful and will be attempted again on Monday.
- Enjoy Matsushima Bay with mother.
**July 6 [#a7b2b2af]
- Returned to lab and worked with Shoufie-san, Shirakura-san and Nugraha-sensei on getting access to the lab computers and running tests.
- Reported to Saito-sensei about the Mid Program meeting and about condition of my computer. Agreed to move data to an SSD.
- Clear up enough space on HDD to transfer data to new SSD.
- Go over time dependent force in a system and solve equations of motion using Fourier transform.
**July 1-5 [#a7b2b2af]
- Mid Program Meeting in Kyoto.
**June 30 [#a7b2b2af]
- Prepared for departure to Mid Program Meeting.
- Successfully setup Ubuntu on a Virtual Box and began following directions from Shirakura-san on getting access to lab computers.
- Head to Mid Program Meeting
- Work on Stanton problem.
**June 29 [#a7b2b2af]
- Linux install was not successful, may be related to my HDD issues.
- Shift towards using Virtual Box installation of Ubuntu.
- Added finishing touches to Mid Program presentation.
- Submit Mid Prog Presentation.
- Come up with interesting tests to look at.
- Solve the base case presented by Professor Stanton.
**June 28 [#a7b2b2af]
- Met with Tokyo Nakatani friends
- Continued working on Ubuntu installation, so didn't do more tests on computer.
-Left install running before I left to see if it would finish by my return.
- See if Linux installed successfully.
**June 27 [#a7b2b2af]
- Traveled to Tokyo
- Tried to do more testing on my laptop using the new matrix algorithm.
- Began attempting the base case of the induction approach Professor Stanton suggesting attempting.
- Began trying to setup a Ubuntu dual boot
- Come up with interesting cases to look at
- Get Ubuntu installed to begin communicating with lab computers.
**June 26 [#a7b2b2af]
-Tried to keep running experiments on laptop, which was slightly fixed after this weekend. I can run python and access the internet through Google Chrome, but cannot access Skype or Microsoft Office programs on my laptop
- Collected data on 64 oscillator case.
- Began talking to Kazu-san and Shirakura-san about acessing flex and tube computers for later, more intensive tests. Couldn't set up much due to the state of my laptop.
- Made the matrix version of the N oscillator algorithm.
- Prepare for departure to Tokyo and mid program meeting.
- Work on fully fixing computer.
- Debug and test matrix algorithm and start using it to do more interesting and variable tests.
- Ran experiments with varying numbers of oscillators, with force being applied on a fraction of the oscillators.
- Found that increase in oscillators in general leads to a larger synchronization oscillation amplitude.
- Also saw that if half the oscillators had an applied force, the time it takes for full synchronization approximately doubles.
- Computer suddenly slowed down and can't open some applications now.
- Fix computer!!
- Write pseudocode for the matrix implementation.
- Take a look at system on paper to explain the results found today?
**June 22 [#a7b2b2af]
- Touched up on presentation
- Presented presentation to Saito-sensei, who gave some more useful suggestions on how to touch it up.
- Continued reading through Pine's paper, specifically on the description of collective electron movement and the screening effect.
- Figure out effect of number of oscillators on the amplitude of position oscillation
- Apply force for a limited time and for a fraction of the total oscillators; this requires that I finish up the matrix version of my Python code so...
- Finish the matrix version of N Oscillators
- Also learn more about screening effect in electrons and its consequences.
**June 21 [#a7b2b2af]
- Finished working on draft for powerpoint presentation and showed to Saito-sensei
- Using feedback from Saito-sensei, began reworking the presentation.
- Started reeding David Pines 1952 paper on plasmons to get better idea of plasmons.
- Fix up the presentation
- Gain better understanding of Pine's paper
- Work on the matrix version of N oscilaltors Runge-Kutta appproximation
**June 20 [#a7b2b2af]
- 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.
**June 19 [#a7b2b2af]
- 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.
**June 16 [#a7b2b2af]
- 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.
**June 15 [#a7b2b2af]
- 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.
**June 14 [#a7b2b2af]
- 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.
**June 13 [#a7b2b2af]
- 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
**June 12 [#x5e79f4d]
- 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.
**June 9 [#cde372e6]
- 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.
**June 8 [#i5309127]
- 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.
**June 7 [#p0ecbca1]
- 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).
**June 6 [#u2633c67]
- 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).
**June 5 [#x0e34f61]
- 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