User Tools

Site Tools


docs:utils:poincare

Differences

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

Link to this comparison view

docs:utils:poincare [2009/03/02 11:13]
dspieker
docs:utils:poincare [2010/02/02 07:55]
Line 1: Line 1:
-====== poincare ====== 
  
-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. 
- 
-===== 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>​ 
-options : 
-  -T0       ​--T0 ​               <​real> ​     default == 0           start time 
-  -T1       ​--T1 ​               <​real> ​     default == 100         end time 
-  -dT       ​--dT ​               <​real> ​     default == 1           save interval 
-  -d        --datadir ​          <​string> ​   default == data/       ​flowfield series directory 
-  -o        --poindir ​          <​string> ​   default == poincare/ ​  ​output dir for Poincare crossings 
-  -vdt      --variabledt ​                                          ​adjust dt to keep CFLmin<​=CFL<​CFLmax 
-  -dt       ​--dt ​               <​real> ​     default == 0.03125 ​    ​timestep 
-  -dtmin ​   --dtmin ​            <​real> ​     default == 0.001       ​minimum time step 
-  -dtmax ​   --dtmax ​            <​real> ​     default == 0.05        maximum time step 
-  -CFLmin ​  ​--CFLmin ​           <​real> ​     default == 0.4         ​minimum CFL number 
-  -CFLmax ​  ​--CFLmax ​           <​real> ​     default == 0.6         ​maximum CFL number 
-  -ts       ​--timestepping ​     <​string> ​   default == sbdf3       ​timestepping algorithm 
-  -nl       ​--nonlinearity ​     <​string> ​   default == rot         ​method of calculating nonlinearity 
-  -R        --Reynolds ​         <​real> ​     default == 400         ​Reynolds number 
-  -c        --channel ​                                             channelflow instead of plane Couette 
-  -b        --bulkvelocity ​                                        hold bulk velocity fixed, not pressure gradient 
-  -P        --dPdx ​             <​real> ​     default == 0           value for fixed pressure gradient 
-  -U        --Ubulk ​            <​real> ​     default == 0           value for fixed bulk velocity 
-  <​flowfield> ​     (trailing arg 2)                                fixed pt of poincare map 
-  <​flowfield> ​     (trailing arg 1)                                e, for poincare condition (u(t)-u*, e) = 0 
-</​code>​ 
- 
-===== 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// 
docs/utils/poincare.txt ยท Last modified: 2010/02/02 07:55 (external edit)