Channelflow includes a number of predefined command-line utilities that perform common calculations for research in the dynamics of turbulence. Most utilities read a velocity field from disk, operate on it according to command-line options, and save the resulting fields or data to disk. See utility options for an overview of the option/argument syntax.
| program name | purpose |
|---|---|
| addfields | compute sum a_n u_n and store result to disk |
| arnoldi | compute the eigenvalues and eigenfunctions of eqbs and orbits |
| ascii2field | convert a file of ASCII data to a channelflow FlowField |
| changegrid | change the discretization or box size of a field |
| continuefields | quadratic continuation of fields against arbitrary parameter |
| continuesoln | quadratic continuation of solutions against Re, Lx or Lz |
| couette | integrate an initial condition, save results to disk |
| field2ascii | convert a binary FlowField datafile to a file of ASCII data |
| field2hdf5 | convert a binary FlowField datafile to a HDF5 datafile |
| fieldplots | extract a number of 2D slices of the 3D field, good for plots |
| fieldprops | print out norms, symmetries, geometrical data of a stored field |
| findsoln | compute an equilibrium, traveling wave, or periodic orbit of plane Couette |
| L2Dist | compute the L2 distance between two fields |
| L2IP | compute the L2 inner product |
| makebasis | construct an orthonormal basis from a set of fields |
| makeheatmode | construct a field that decays in time according to Laplace eqn |
| makemovie | extract slices of fields in order to make a movie |
| makestokesmode | construct a stokes eigenfunction of laminar equilibrium |
| perturbfield | add random perturbations to a given field |
| poincare | compute a poincare section of plane couette or channel flow dynamics |
| projectfields | project a set of fields onto a given basis |
| projectseries | project a sequence of fields onto a given basis |
| randomfield | build a random initial velocity field, save to disk |
| seriesprops | compute statistics on a sequence of data |
| symmetrize | find the phase shift of a field that optimize a given symmetry |
| symmetryop | apply a given symmetry to a field |
Some C++ basics.
| C++ class | header file | represents |
|---|---|---|
| FlowField | flowfield.h | spectral expansions of scalar, vector, tensor fields (e.g. velocity) |
| DNS | dns.h | Direct Numerical Simulation algorithms (i.e. time-stepping scheme) |
| FieldSymmetry | symmetry.h | the symmetry group of FlowFields |