User Tools

Site Tools


gtspring2009:spieker_blog

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

====== Dustin Spieker's Channelflow Blog ====== <html> <span style="color:red;font-size:80%;text-align:right;">Comments, corrections, and answers appreciated.</span> </html> (append the latest posts to the bottom of appropriate section) ===== Getting started ===== :-) Got channelflow running on my linux machine. //(1/25/2009)// :-) Ran through most of the commands in John Gibson's first tutorial and troubleshot the commands provided. //(1/25/2009)// :-) Learned and implemented some of the rougher points of using this Wiki. //(1/25/2009)// ===== Upper branch equilibrium, perturbed ===== Upper Branch Equilibrium evolution perturbed along eigenfunction 1. <flashplayer width="400" height="320">file=/movies/dspieker/ubp01ef1.flv&image=/movies/dspieker/frame0.png&repeat=none</flashplayer> Upper Branch Equilibrium evolution perturbed in opposite direction. <flashplayer width="400" height="320">file=/movies/dspieker/ubm01ef1.flv&image=/movies/dspieker/frame0.png&repeat=none</flashplayer> {{gtspring2009:pc.jpg }} //Predrag to Dustin:// * Had the same problem with [[http://www.youtube.com/watch?v=YKaVJVHeDho|youtube]] - really kills the resolution (and John G would prefer Zappa). [[http://www.flickr.com/photos/vasimos/3249057643/in/photostream/|flickr.com]] seems kinder to the videos, see [[gtspring2009:research_projects:siminos:blog|Siminos blog]]. 8-)I don't think I'll use either website as a host anymore since John showed us how to host these on our blogs. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-05 06:07// * please can you crop it so it does not have all this area in the edges, as in [[gtspring2009:howto:format | How to format a movie]]? I need tightly cropped movies for [[http://chaosbook.org/tutorials/index.html|ChaosBook/tutorials pop-ups]]. Also, gray background is ugly - can you make it white? 8-) I'll work on both of these things. I'm sure it just has to do with changing a little something in matlab, and I'll look into it. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-05 06:07// :-) Generated some state space trajectory plots and input dissipation plots using the tutorial John created on how to do so. I will post some of them after I've tinkered a little bit. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-15 13:39// :-) Was able to post videos to my blog, obviously. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-20 16:26// :-) Compiled channelflow1.3.4 and it worked like a charm. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-27 06:40// :-) It is worth noting that on my computer, it takes about 36 minutes to integrate a flow field 400 time steps, or about 6 seconds per time step. Important to remember when budgeting time for script files. Accordingly, I just sent about 10 GB of flow fields to be calculated for my Poincare Section, which should keep my computer busy until tomorrow. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-03-09 15:00// ===== Eigenvectors of the UB equilibrium ===== [[:gtspring2009:spieker_blog:UB_eigenvectors:first_try|First Attempt]] The following links are provided in order to maximize the aesthetics and bring out salient features of the eigenvectors, so that PC may more easily gauge what would be perfect for chaosbook, kinda like looking at paint chips: [[:gtspring2009:spieker_blog:UB_eigenvectors:color_scaling|Color Scaling]] [[:gtspring2009:spieker_blog:UB_eigenvectors:laminar|Laminar?]] ===== Goals ===== (In approximate order of importance) :-| Poincare sections, 'nuff said. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-20 16:26// :-| Port Channelflow to Mac so that I can run it on my laptop and provide a procedure for doing so. //(1/25/2009)// 8-o Mac OS X is BSD Unix underneath. So channelflow installs on a Mac same as Linux if the prerequisite packages are installed. You can either install these packages with [[http://www.finkproject.org/|Fink]] or download the tar.gz files and compile them yourself. Fink should be much easier. Lina Kim at UC Santa Barbara M&AE uses channelflow on a Mac and has sent me some notes that I need to convert to documentation.... // John Gibson 2009-02-04 10:17// :-| Learn, Port, and Document the commands John Gibson provided for Matlab to Octave to help get everything running on free shareware. //(1/25/2009)// 8-o That would be great. I don't think Octave graphics are up to the task, though. My guess is that integration with a Python plotting system is the best route to running on all free software. One possibility is Lawrence Livermore Lab's [[https://wci.llnl.gov/codes/visit/|VisIt]] system. // John Gibson 2009-02-04 10:07// :-| Work on my formatting for this page. //(1/25/2009)// ===== Questions ===== that arise from a fundamental lack of understanding: :?: In the tutorial we went through on 1/20/2008, we only generated one eigenfunction for time considerations. When I ran it on my own, I let the calculation run longer and it generated about 30 eigenfunctions before I wanted to move on. How many of these eigenfunctions are worth generating for a particular solution and why? //(1/25/2009)// :!: see [[chaosbook:stability|ChaosBook.org blog for the answer]]. Time to read [[http://chaosbook.org/paper.shtml#stability|Local stability]] and [[http://chaosbook.org/paper.shtml#invariants|Cycle stability]]. Please enter comments/edits/questions into the appropriate chapter of the [[:chaosbook|ChaosBook.org blog]]. --- //[[predrag.cvitanovic@physics.gatech.edu|Predrag Cvitanovic]] 2009-01-28 05:22// :?: Hey John, I see you've posted a tutorial for Poincare sections. If you have some or all of the code written, I'd like to see it if I might, so that I can start running it and seeing what it yields. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-25 15:16// :!: Posted new {{downloads:channelflow-1.3.4.tgz}} tarball with continuation and Poincare section utilities. //John Gibson 2009-02-26 12:09 EST// :-) Hey John G., I've been going through the poincare section procedure, and I have hit a dead end. I was wondering if you would be in Atlanta tomorrow to give me a quick hand with the compilation of eq2poincare.cpp? --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-03-23 14:57// {{gtspring2009:gibson.png?24}} Dustin: this is my fault. I had to modify some channelflow libraries and have not yet posted the new code as a tarball. I will do that by tomorrow a.m. at latest. It is available in svn right now. I won't be in Atlanta tomorrow nor next week, but I hope to get a ticket for week after next. // John Gibson 2009-03-23 21:11 EST// ===== Pseudocodes ===== :-) Need to understand basis input so that I can input it in here. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-24 06:13// :-) Added a [[gtspring2009:howto|HowTo]] for writing script files. Would like some feedback on that, so a user doesn't need to be so wary of doing what I said to do. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-02-26 06:02// == Recurrence plot: == Inputs Needed: value for large time step = t value for smaller time step = T flowfield to compare = input.ff int index = 600; flowfield tmp = input.ff; Array Norms [index][index]; for (i = 0, i < index, i++){ for (j = 0, j < index, j++){ tmp.advance(T); Norms[i][j] = L2Dist (tmp, input); } input.advance(t) tmp = input; } == Poincare Section: == Inputs Needed flowfield ff; value for the large advancing time step = t three eigenvectors = e1.ff, e2.ff, e3.ff const double time_step; **Strobing Algorithm** #//Variables Needed// double tolerance; /*======> user defined*/ double distance; /*======> distance between trajectory and */ int changed_sign; int time_sign = 1; double variable_time_step = time_step; int gol_i, gol_f, pom_i, pom_f /*essentially booleans that tell whether the section has been crossed*/ for(arguments){ /*this represents the main body of the poincare section code as it pertains to strobing*/ gol_i = ff.sign_in_a3_basis(); ff.advance(time_step); gol_f = ff.sign_in_a3_basis(); time_sign = gol_i * gol_f; /*Actual Strobing (hopefully)*/ if (gol_i * gol_f > 0){ cout >> "No Change"; }else{ cout >> "Crossed Section"; variable_time_step = time_step / 2; time_sign = -1; while (distance >= tolerance){ pom_i = ff.sign_in_a3_basis(); ff.advance(time_sign * variable_time_step); pom_f = ff.sign_in_a3_basis(); time_sign = pom_i * pom_f; variable_time_step /= 2; distance = (Calculate diffence between 3rd eigenfunction distance of plane and trajectory); } } } ===== Hiccups ===== {{gtspring2009:gibson.png?24 }} Checked out Dustin's permission problems on the wiki. Dustin, you had two logins name registered, spieker and dspieker. Should probably choose one of them and remove the other. Discovered some robot registrations along the way, will probably have to enable captchas in the registration process. --- // John Gibson 2009-02-04 12:12// ====== Project: Poincare sections and return maps ====== {{gtspring2009:pc.jpg }} **most important:** Compute an W03 cell unstable manifold Poincaré section and return map for the upper branch solution. Place Gibson's new [[gtspring2009:gibson:w03|periodic orbit P47.18 in the W03 cell]] on it. :-) I will take the W03 unstable manifold Poincaré section and return map for the upper branch project. I have a feeling that I could readily jump into this one given the tools recently provided in channelflow-1.3.4. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-03-02 14:39// :-) Because of inherent symmetries of the problem that create four different representations of the same solution in state space, we need to figure out a way to only count the crossings in one of the four subspaces, probably the canonical (no symmetry operations performed) subspace. This creates a problem if two subsequent time steps cross the poincare section AND from one subspace to another simultaneously. Need to account for this. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-03-10 17:00// :-) Right about the time I was finishing my first go around of making a Poincare Section of the UB unstable manifold, I looked at the homepage and saw that you, John G., had finished one. Yours looked much better than the monstrosity my computer spit out. I read over the considerations you made when constructing yours, and realized that I had made almost none, but rather blindly stumbled through the calculation with more or less arbitrary eigenvectors. That's the bad news. The good news is that I understood the considerations you took, and I am ready to give it another shot. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-03-18 09:32// :-) Second Try, something is still up, but at least my new plots are somewhat prettier. More on analysis of the plots in a few minutes. {{:gtspring2009:psplot1_try2.png|}} {{:gtspring2009:psplot2_try2.png|}} {{:gtspring2009:psplot3_try2.png|}} So, I only used the generic poincare.cpp to obtain these results, so none of the symmetries have been factored out. Something is inconsistent between [[gtspring2009:gibson:w03#more_poincare_sections|John G's]] representation and mine of the (u,e0) vs. (u,e1) plot which will need further investigation, and once I put up my method, John G. will be able to shed some light on my problem. I was unable to connect the points together because of how I constructed my data files and fed them into matlab, yet another manifestation of my lack of knowledge in matlab. More to come... --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-04-07 14:12// [[gtspring:spieker_blog:try_2proc|Procedure Followed]] My current focuses are now to get eq2poincare.cpp working in synch with channelflow, changing the mixing angle (<latex>\theta</latex>) between e0 and e1 and see how that changes the poincare section, and maybe looking into working with some of the other solutions. {{gtspring2009:gibson.png?24}} Are you having problems compiling eq2poincare.cpp? Skype me, baby! No cause to worry that you might not have thought of everything on your first shot; i surely haven't either, and two minds will do better than one. // John Gibson 2009-05-08 noon EST// Based on the comparative poincare sections I have produced using the eq2poincare.cpp, I don't think that the dynamics should be confined to any symmetry quadrant, but rather allowed to explore all quadrants. === All Quadrants === {{:gtspring2009:spieker_blog:third_try:psplot1-nonsym.png|}} {{:gtspring2009:spieker_blog:third_try:psplot2-nonsym.png|}} {{:gtspring2009:spieker_blog:third_try:psplot3-nonsym.png|}} === Restricted to one quadrant === {{:gtspring2009:spieker_blog:third_try:psplot1-sym.png|}} {{:gtspring2009:spieker_blog:third_try:psplot2-sym.png|}} {{:gtspring2009:spieker_blog:third_try:psplot3-sym.png|}} ===== ChaosBook.org reading ===== * [[chaosbook:maps#sectionpoincare_sections|Poincaré section and return map]] * [[chaosbook:smale|Chapter: Qualitative dynamics, for cyclists]], mostly for Dustin or JohnG, whoever gets there first. Please blog in appropriate ChaosBook blog pages whatever conceptual difficulties you have on the way to constructing a return map for the upper branch.

gtspring2009/spieker_blog.1242239084.txt.gz · Last modified: 2009/05/13 11:24 by dspieker