User Tools

Site Tools


gtspring2009:research_projects:hyatt:blog

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gtspring2009:research_projects:hyatt:blog [2009/03/21 20:52]
john_h
gtspring2009:research_projects:hyatt:blog [2010/02/02 07:55] (current)
Line 42: Line 42:
 {{gtspring2009:​gibson.png?​10}} You probably want an account on the [[http://​share-it.gatech.edu/​oit/​pace/​user-guide|PACE cluster]]. The user interface is much like Cygwin (typing into a Unix shell) but there are a few hoops to jump through to get it set up. More documentation coming ... {{gtspring2009:​gibson.png?​10}} You probably want an account on the [[http://​share-it.gatech.edu/​oit/​pace/​user-guide|PACE cluster]]. The user interface is much like Cygwin (typing into a Unix shell) but there are a few hoops to jump through to get it set up. More documentation coming ...
 //John Gibson 2009-02-11 9:50 EST// //John Gibson 2009-02-11 9:50 EST//
- 
- 
- 
 ====== Nite fishin'​ ====== ====== Nite fishin'​ ======
 Append the latest posts at the bottom of this page Append the latest posts at the bottom of this page
Line 81: Line 78:
  
 -//​2009-03-21 [[jshyatt@gatech.edu|John Hyatt]]// -//​2009-03-21 [[jshyatt@gatech.edu|John Hyatt]]//
 +
 +{{gtspring2009:​gibson.png?​24}} Hi, John; good to see you're rolling on the nite fishing project. Some quick responses to your questions. // John Gibson 2009-03-22//​
 +
 +
 +
 +1. Searching for new solutions from random data will sometimes work and sometimes fail, and it's not always easy to determine when to stop trying. I generally give up if the residual %%L2Norm(G(x))%% is not decreasing at least a few percent each Newton-hookstep iteration. The nth line of the file %%convergence.asc%% shows the residual of the nth Newton step. (from here on I'm using Newton as shorthand for Newton-hookstep). ​
 +
 +2. Note that there are **two distinct iterative algorithms** in findorbit'​s Newton-GMRES-hookstep algorithm: **Newton-hookstep iteration**,​ which takes small steps %%x' = x + dx%% towards a better solution, and **GMRES iteration**,​ which is an iterative solution method to solve for the %%dx%% of the Newton equation %%DG dx = -G(x)%% (where %%G(x) = 0%% is the equation to be solved). Each step in the Newton iteration requires computing a new %%dx%%, so there is a complete iterative GMRES solution nested inside each single Newton step. Please read over [[docs:​utils:​findorbit#​mathematics]] to learn the essentials of the algorithm. ​
 +
 +3. I believe from your notes that it's the GMRES iteration that is failing to converge rather than the Newton iteration. There are two options. (a) You can increase the number of GMRES iterations with findorbit'​s %%-Ng%% or %%--Ngmres%% option. Try 60 instead of the default 40. (b) You can increase the integration time from the default 10.0 to 15.0 or 20.0, using the %%-T%% option. The convergence rate of GMRES iteration is governed by the eigenvalues of the linearized finite-time Navier-Stokes map %%Df^T(u)%%. A larger integration time %%T%% will enhance the separation between the contracting and expanding eigenvalues (at the cost of making %%f^T%% more nonlinear and expensive to compute). I recommend (b). 
 +
 +4. The easiest way to compare the results of your search to previous solutions is with the 
 +[[docs:​utils:​fieldprops]] utility. Running %%fieldprops -e -n%% will print out some basic norms and 
 +energetic measures of the field, which you can then compare to the same measures of known solutions.
 +You might have to download the known solutions from the [[:​database]] and compute the measures of 
 +those, since I don't have a table of them on the website anywhere. If you would like to create and
 +post such a table, I'd appreciate it! 
 +
 +5. The Unix command to move or rename a file or directory is %%mv%%. Here's a  [[http://​www.ee.surrey.ac.uk/​Teaching/​Unix/​unix2.html|good intro to basic Unix shell commands]]. ​
 +It's written for %%tcsh%%, a 80s era Unix shell, instead of %%bash%%, a more modern shell 
 +which you are almost certainly using on a modern Linux box or Mac. But the basic commands
 +are the same: %%ls, mv, cp, grep, find,...%%. Once you start getting into more complex ​
 +shell usage (file redirection,​ job control, shell programming,​ ...) you should refer to bash-specific documentation. ​
 +
 +6. I agree with Predrag that complex-analysis style mapping of domains for Navier-Stokes is way 
 +too ambitious for this project. These maps are great for things like 2D Euler flow or the heat equation ​
 +because the dynamics are governed by the Laplacian, which is preserved under conformal 2D maps, essentially because ​
 +local orthogonality and area are preserved. However Navier-Stokes has additional terms that will not map nicely under 
 +the same maps. The pressure gradient and nonlinear term and the incompressibility constraint are going to be problematic. ​
 +(I think this is right, but it's been a while since I did conformal mapping.) I don't know if anyone'​s had success ​
 +with this kind of effort.
 +
 +8-)  OK, I will give those things a shot this evening and see how they go.  I will also look at the documentation stuff you put here sometime in the next few days.  Thanks!
 +
 +Once I'm done trying out all the options for findorbit I'm going to try to move things into Mathematica - or Matlab, if that doesn'​t work.  (I'm already familiar with Mathematica,​ but have never made videos with data from another program.) ​ I may need help with file conversion but I'll cross that bridge when I come to it.  ​
 +
 +Also, the conformal mapping thing was just a thought - now that I know how much trouble computer stuff is, I will hold off on that until later. ​ --- //​2009-03-21 [[jshyatt@gatech.edu|John Hyatt]]//
 +
 +{{gtspring2009:​jshyatt.jpg?​24}} After a couple unsuccessful attempts to put a thumbnail in front of my posts I have uploaded 2 too-big pics onto gtspring2009 and don't know how to get rid of them.  -//​[[jshyatt@gatech.edu|John Hyatt]] 2009-03-21 15:30//
 +
 +{{gtspring2009:​jshyatt.jpg?​24}} I've been running more findorbits today with the original, troublesome randomfield I made the other day, with no success so far.  I'm trying it one more time with higher T integration and steps before I give it up and try another randomfield. ​ I have 3 questions:  ​
 +
 +1) I'm sure there'​s an answer to this somewhere else (like that BASH command thing you posted here) but can't find it...how do I make a program list its own runtime when it completes or terminates? ​ When I run these I leave them alone for an hour or so and come back later, but I'm curious just how long they take.  ​
 +2) Is there a way to make a randomfield that is "far away" from another one?  That is, if a particular randomfield doesn'​t work and I want to try one that is not near it, can I set that up?  I know that "​near"​ and "​far"​ are not easily-defined concepts here, and I'm at some point I guess going to start making those time charts to get my initial guesses, but since right now I'm just trying to familiarize myself with the possible equilibria and how likely they are to show up, it'd be nice to know.  ​
 +3) Is there a good way to port output tables from cygwin into a .txt format or something? ​ I think this is another thing I should be able to look up but can't seem to find.  I specifically want the tables of GMRES numbers that output from findorbit without having to manually type them in, without all the other junk.  I'd like to be able to see how they converge (or don't) from multiple tries.
 +
 +Answers to any of these questions (particularly #2) would be greatly appreciated!  ​
 +
 +-//​[[jshyatt@gatech.edu|John Hyatt]] 2009-03-26 23:01//
 +
 +{{gtspring2009:​jshyatt.jpg?​24}} Update - After 2 successful Newton iterations (taking all night), GMRes for the 3rd iteration mysteriously failed. ​ This is the first time that even one iteration for this field worked, though - but I will try a new random field today and during the wedding I'm going to this weekend.
 +
 +-//​[[jshyatt@gatech.edu|John Hyatt]] 2009-03-27 12:32//
 +
 +{{gtspring2009:​jshyatt.jpg?​24}} The simulation I started Friday is still running. ​ I'll update when it's done.  ​
 +
 +-//​[[jshyatt@gatech.edu|John Hyatt]] 2009-03-30 10:13//
 +
 +{{gtspring2009:​gibson.png?​24}} Responses. ​
 +
 +1. The Unix "​time"​ command will tell you how much CPU time a process consumes. Usage: "time findorbit ...."​. ​
 +For more run "man time" at the Unix prompt. ​
 +
 +2. You can determine the distance between two fields with [[docs:​utils:​l2dist|L2Dist]]. ​
 +Are you starting your searches using output from [[docs:​utils:​randomfield]]?​ It would be better to use
 +initial guesses randomly distributed within the invariant measure of the flow, by taking samples of 
 +turbulent simulations. ​
 +
 +3. findorbit.cpp stores convergence data in the file %%convergence.asc%%. This is an ASCII file (same
 +as .txt). Should be readable in Windows as well as cygwin. The first line in the file tells you 
 +what the columns are; for more on the meaning of those columns you can look in the source code
 +and particularly the comments that explain the algorithm.  ​
 +
 +// John Gibson 2009-04-01 //
 +
 +{{gtspring2009:​jshyatt.jpg?​24}} 1. Thanks, ​
 +2. Yes I am (at least this time) - Dr Cvitanovic suggested I do in order to get a feel for what can go wrong with findorbit, and that kind of thing. ​ I was going to ask you about that more sophisticated stuff as soon as this one is done running...unfortunately,​ my computer blue-screened on me for completely un-Channelflow-related reasons and killed my findorbit run.  But (and here I feel like I've learned something useful) I figured out that I can just start the run again from the most recent output from the findorbit command (unewtN.ff, N being the most recent run).  I can also try now with a smaller GMRes - I upped it some because I was still having trouble with it not converging, but it took forever. ​ Now maybe that it has run some I can try with smaller T?  ​
 +3. OK, will look at this tomorrow.
 +
 +// [[jshyatt@gatech.edu|John Hyatt]] 2009-04-03 2:50//
 +
 +{{gtspring2009:​jshyatt.jpg?​24}} ​ Questions for Predrag, John G, or whoever:  ​
 +
 +1) I have an exam on Monday so I'll be pretty busy until then, but I'd like to start looking for equilibria now/​soon. ​ I think that means I need to talk to John G about how to find a good starting point, but maybe other people can help?  I also need to get a PACE account, which I think Predrag told me he could help with.  ​
 +
 +2) When Channelflow gives output for the findorbit command it produces a bunch of .ff files from the original field (one for each Newton step). ​ I wanted to make sure I understand this right: ​ each of these is the previous field plus the adjustment from the Newton step, right? ​ i.e. it isn't just a .ff file containing the adjustment. ​ This means that if it hasn't converged by the time the program terminates, you can just take the latest output and use it as a new input to keep going, right? ​ //John Hyatt 2009-04-09 13:47//
 +
 +{{gtspring2009:​gibson.png?​24}} I am at your disposal: johnfgibson on skype, 617 441-3609 by phone. If you want to
 +talk during the day and I'm not on skype, send me an email and I'll turn it on. Yes, the unewt3.ff file is the previous field plus the adjustment. It's the current best approximation to the solution. // John Gibson 2009-04-09 15:21 EST//
gtspring2009/research_projects/hyatt/blog.1237693958.txt.gz ยท Last modified: 2009/03/21 20:52 by john_h