This shows you the differences between two versions of the page.
gtspring2009:howto:findsoln [2010/02/02 07:55] |
gtspring2009:howto:findsoln [2010/02/02 07:55] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== How to find a new solution of plane Couette flow ====== | ||
+ | For now this discussion is limited to finding equilibria. See also | ||
+ | |||
+ | * [[docs:math:symmetry]] | ||
+ | * [[docs:utils:findorbit]] | ||
+ | * [[http://www.cns.gatech.edu/~gibson/publications/HalcrowARX08b.pdf]] | ||
+ | |||
+ | ===== Generate an initial guess ===== | ||
+ | |||
+ | We expect to find equilibria in symmetry groups that contain sign changes in both x and z. See | ||
+ | [[http://www.cns.gatech.edu/~gibson/publications/HalcrowARX08b.pdf|our PCF equilibrium paper]] | ||
+ | for details. Chose any symmetry group containing σxz, for example, | ||
+ | |||
+ | <latex> | ||
+ | \{e, \sigma_{xz}\} | ||
+ | </latex> | ||
+ | |||
+ | |||
+ | Generate an initial condition in this symmetry group. One way to get a decent initial condition is | ||
+ | to randomly perturb a known solution and then project onto the right symmetry group. For example, | ||
+ | download the [[http://www.channelflow.org/dokuwiki/lib/exe/fetch.php/database:w03:eq2.ff|Nagata upper branch]] | ||
+ | and then | ||
+ | |||
+ | perturbfield --magnitude 0.01 eq2 eq2perturb | ||
+ | symmetryop -sx -sy -sz -az 0.5 eq2perturb s3eq2pertub | ||
+ | addfields 0.5 eq2perturb 0.5 s3eq2perturb eq2perturbsymm | ||
+ | |||
+ | This sequence of commands constructs | ||
+ | |||
+ | eq2perturb = eq2 + 0.01 (random perturbations) | ||
+ | s3eq2perturb = s3(eq2perturb) | ||
+ | eq2perturbsymm = 1/2 (eq2perturb + s3eq2perturbsymm) | ||
+ | |||
+ | The final field %%eq2perturbsymm%% will be %%eq2%% plus some s3-symmetric perturbations. | ||
+ | ===== Integrate ===== | ||
+ | |||
+ | Next generate a sequence of s3-symmetric data by integrating the initial condition | ||
+ | |||
+ | couette -symms sxz.asc -T0 0 -T1 1000 eq2perturbsymm | ||
+ | |||
+ | The ''-symms sxz.asc'' option restricts the integration to a symmetric subspace specified by the file ''sxyz.asc''. Here there is just one generator and the file should be | ||
+ | |||
+ | % 1 | ||
+ | 1 -1 -1 -1 0 0 | ||
+ | |||
+ | See the [[docs:classes:fieldsymmetry#ascii_io|FieldSymmetry docs]] for more on the file formats. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Search for solutions ===== | ||
+ | |||
+ | Now search for a new solution using random samples of the turbulent simulation data | ||
+ | |||
+ | mkdir findorbit-u500 | ||
+ | cd findorbit-u500 | ||
+ | findorbit -eqb -symms sxz.asc ../data/u500 | ||
+ | |||
+ | Keep an eye on the file convergence.asc. If the residual gets to 1e-08 or so you're on your way to a solution. | ||
+ | |||
+ | ===== Check against known solutions ===== |