User Tools

Site Tools


gtspring2009:howto:poincare

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:howto:poincare [2009/03/20 09:11]
gibson
gtspring2009:howto:poincare [2010/02/02 07:55] (current)
Line 2: Line 2:
  
 around the Nagata EQ2 upper branch. This is procedure is too special-case and  around the Nagata EQ2 upper branch. This is procedure is too special-case and 
-kludgy to put in channelflow documentation. +kludgy to put in channelflow documentation. ​It is a horrific mixture of general-purpose ​ 
 +channnnelflow utilities, specialized channelflow programs, Unix utilities, and bash  
 +shell programming. ​
 ===== Integrate perturbations ​ ===== ===== Integrate perturbations ​ =====
  
Line 40: Line 41:
  
    ​couette -T0 0 -T1 400 -o data-11268 eq2_11268e0.ff    ​couette -T0 0 -T1 400 -o data-11268 eq2_11268e0.ff
-   ​couette -T0 0 -T1 400 -o data-12696 ​eq2_11268e0.ff+   ​couette -T0 0 -T1 400 -o data-12696 ​eq2_12696e0.ff
    ...    ...
  
 Instead of typing each of these out, you can use a bash for-loop, ​ Instead of typing each of these out, you can use a bash for-loop, ​
  
-   for i in eq2_*eo.ff ; do tag=${i#​eq2_} ; couette -T0 0 -T1 400 -o data-${tag%.e0.ff} $i ; done+   for i in eq2_*e0.ff ; do tag=${i#​eq2_} ; couette -T0 0 -T1 400 -o data-${tag%.e0.ff} $i ; done
  
 The ${...} stuff is bash string manipulation syntax to extract the numerical part of the input file names. The ${...} stuff is bash string manipulation syntax to extract the numerical part of the input file names.
Line 85: Line 86:
    for i in data-[a-p] ; do tag=${i#​data-} ; eq2poincare.x -d data-$tag -o section-pi4 --theta 0.7854 -tag ${tag} -T0 0 -T1 400 etx etz e0 e1 EQ2.ff; ​ done    for i in data-[a-p] ; do tag=${i#​data-} ; eq2poincare.x -d data-$tag -o section-pi4 --theta 0.7854 -tag ${tag} -T0 0 -T1 400 etx etz e0 e1 EQ2.ff; ​ done
  
-The files in directory section-pi4 will be ordered in increasing distance along the unstable manifold.+The files in directory section-pi4 will be ordered in increasing distance along the unstable manifold. ​ 
 + 
 +   ​gibson@tansen$ ls section-foo-pi4/​ 
 +   ​crossingtimes-a.asc ​ uM0d.ff ​ uM1g.ff ​ uM3a.ff ​ uM4d.ff ​ uP0h.ff ​ uP2b.ff ​ uP3e.ff 
 +   ​crossingtimes-b.asc ​ uM0e.ff ​ uM1h.ff ​ uM3b.ff ​ uM4e.ff ​ uP0i.ff ​ uP2c.ff ​ uP3f.ff 
 +   ​crossingtimes-c.asc ​ uM0f.ff ​ uM1i.ff ​ uM3c.ff ​ uM4f.ff ​ uP1a.ff ​ uP2d.ff ​ uP3g.ff 
 +   ​crossingtimes-d.asc ​ uM0g.ff ​ uM2a.ff ​ uM3d.ff ​ uM4g.ff ​ uP1b.ff ​ uP2e.ff ​ uP3h.ff 
 +   ​crossingtimes-e.asc ​ uM0h.ff ​ uM2b.ff ​ uM3e.ff ​ uM4h.ff ​ uP1c.ff ​ uP2f.ff ​ uP4a.ff 
 +   ​crossingtimes-f.asc ​ uM0i.ff ​ uM2c.ff ​ uM3f.ff ​ uP0a.ff ​ uP1d.ff ​ uP2g.ff ​ uP4b.ff 
 +   ​crossingtimes-g.asc ​ uM1a.ff ​ uM2d.ff ​ uM3g.ff ​ uP0b.ff ​ uP1e.ff ​ uP2h.ff ​ uP4c.ff 
 +   ​crossingtimes-h.asc ​ uM1b.ff ​ uM2e.ff ​ uM3h.ff ​ uP0c.ff ​ uP1f.ff ​ uP2i.ff ​ uP4d.ff 
 +   ​crossingtimes-i.asc ​ uM1c.ff ​ uM2f.ff ​ uM3i.ff ​ uP0d.ff ​ uP1g.ff ​ uP3a.ff ​ uP4e.ff 
 +   ​uM0a.ff ​             uM1d.ff ​ uM2g.ff ​ uM4a.ff ​ uP0e.ff ​ uP1h.ff ​ uP3b.ff ​ uP4f.ff 
 +   ​uM0b.ff ​             uM1e.ff ​ uM2h.ff ​ uM4b.ff ​ uP0f.ff ​ uP1i.ff ​ uP3c.ff ​ uP4g.ff 
 +   ​uM0c.ff ​             uM1f.ff ​ uM2i.ff ​ uM4c.ff ​ uP0g.ff ​ uP2a.ff ​ uP3d.ff ​ uP4h.ff 
 + 
 +etc. 
 + 
 + 
 +  ​
  
 ===== Project the crossing points ===== ===== Project the crossing points =====
Line 94: Line 114:
  
 The above command assumes you have put the basis vectors e0,e1,e2,e3 into a directory named basis-EQ2ef/;​ The above command assumes you have put the basis vectors e0,e1,e2,e3 into a directory named basis-EQ2ef/;​
-if not you might use '-b .'​. ​+if not you might use '-b .' ​instead
  
-This creates a new directory '​portrait-pi4' ​+This creates a new directory '​portrait-pi4' ​containing ASCII files uM0a.asc, uM0b.asc, ..., each of which  
 +contains four numbers corresponding to the projection of the fields in uM0a.ff, etc onto the four basis vectors 
 +e0,​e1,​e2,​e3. E.g. 
  
 +  ​
 +  gibson@tansen$ cat portrait-pi4/​uM0a.asc
 +  % e0 e1 e2 e3
 +  -9.6755005579877134e-06 9.6754650183359171e-06 3.8296888337351566e-10 -2.5429703558485441e-08
  
 +It's easier to plot this data if it's in one file and in the right order. To do that, we strip out the
 +comments with ''​grep''​ and save the results to two files. ​
  
-  ​+  ​gibson@tansen$ grep -v -h ^% portrait-foo-pi4/​uM*.asc > uM.asc 
 +  gibson@tansen$ grep -v -h ^% portrait-foo-pi4/​uP*.asc > uP.asc
  
 +That produces two files of incoming/​outgoing crossings that can be plotted with matlab or whatever.
 +
 +
 +  ​
gtspring2009/howto/poincare.1237565462.txt.gz · Last modified: 2009/03/20 09:11 by gibson