====== Differences ====== This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
docs:utils:poincare [2009/02/23 11:51] gibson created |
docs:utils:poincare [2010/02/02 07:55] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== poincare ====== | ====== poincare ====== | ||
- | compute crossings of a Poincare section in a pre-computed trajectory | + | Compute crossings of a Poincare section in a pre-computed trajectory. The Poincare condition is %%(u(t) - ueqb, e) == 0%%, i.e. the displacement from a given point %%ueqb%% is orthogonal to a direction %%e%%. The program checks for changes in sign in the inner product in the stored trajectory (with large %%dT%%, and when it finds one, goes back and reintegrates with small %%dt%%, and then does quadratic interpolation when the fine-scale trajectory recrosses the section. |
- | ===== Options ===== | + | ===== usage ===== |
+ | |||
+ | <code> | ||
+ | poincare -T0 0 -T1 400 -d datadir ueqb.ff e.ff | ||
+ | </code> | ||
+ | reads a trajectory u0, u1, ..., u400 stored in %%datadir%%, computes the crossings of the Poincare section %%(u(t)-ueqb, e) == 0%%, and saves them in a %%poincare/%% directory. | ||
+ | |||
+ | ===== options ===== | ||
<code> | <code> | ||
Line 29: | Line 36: | ||
</code> | </code> | ||
- | ===== Usage examples ===== | + | ===== Usage example ===== |
+ | Here is the basic idea of usage. Suppose you have an equilibrium ueqb with an unstable complex eigenvalue pair whose eigenfunctions are ef1 and ef2. Integrate a trajectory with initial condition %%u(0) = ueqb + 0.001 ef1%% as follows | ||
+ | <code> | ||
+ | addfields 1 ueqb 0.001 ef1 ueqb_001ef1 | ||
+ | couette -T0 0 -T1 1000 -o data-ueqb_0001ef1 ueqb_001ef1 | ||
+ | </code> | ||
+ | Then you can define a Poincare section as, say, %%(u-ueqb, ef2) = 0%%, that is, the displacement from the equilibrium is orthogonal to the ef2 eigenfunction. To compute crossings of the Poincare section within the | ||
+ | previously integrated trajectory, run | ||
+ | <code> | ||
+ | poincare -T0 0 -T1 1000 -d data-ueqb_0001ef1 ueqb ef2 | ||
+ | </code> | ||
+ | |||
+ | ===== Hiccups ===== | ||
+ | :-) Hey John, I was wondering if there was any particular reason you put the cfpause() line in your code other than it was helpful in writing the code. --- //[[dustin.spieker@gatech.edu|Dustin Spieker]] 2009-03-02 10:24// |