Utilities: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
|||
Line 19: | Line 19: | ||
=== Pre/post-processing === | === Pre/post-processing === | ||
* [[ic.f90]] - Pre/Post-processing '''template'''. | * [[ic.f90]] - Pre/Post-processing '''template'''. | ||
* [[describe_state.f90]] - check time/parameters; see also [[main.info]] | * [[describe_state.f90]] - check time/parameters; see also [[main.info]]. | ||
* [[changeMp.f90]] - change <tt>i_Mp</tt> value in a state file. | * [[changeMp.f90]] - change <tt>i_Mp</tt> value in a state file. | ||
* [[change_Mp_alpha.f90]] - make copies of a state, or extract modes, dependent on changes in length or azimuthal symmetry. | * [[change_Mp_alpha.f90]] - make copies of a state, or extract modes, dependent on changes in length or azimuthal symmetry. |
Revision as of 06:08, 13 December 2016
- Utilities are used to manipulate or analyse data, either during runtime or in the post-processing phase.
- Some of the utilities are non-specific to pipe flow, e.g. code for the GMRES algorithm.
- Almost all modifications can/should be made via a utility, rather than altering the core code (i.e. avoid editing the contents of the program/ directory wherever possible).
- Utilities are kept in utils/.
Building
To build, in Makefile, set UTIL = utilname (omitting the .f90 extension), then type
> make > make install > make util > mv utilname.out ...
The penultimate command creates utilname.out.
Record of parameters
- main.info is created in the install/ directory at compile time by 'make install'. Keep a copy of this file along side your executables.
Pre/post-processing
- ic.f90 - Pre/Post-processing template.
- describe_state.f90 - check time/parameters; see also main.info.
- changeMp.f90 - change i_Mp value in a state file.
- change_Mp_alpha.f90 - make copies of a state, or extract modes, dependent on changes in length or azimuthal symmetry.
- prim2matlab.f90 - extract data and write in a netcdf format for easy loading into Matlab or VisIt.
Runtime processing
- analyse_runtime.f90 - Processing template for writing data at runtime.
- newton.f90 - Newton-Krylov.
Non-problem-specific codes
- These are designed for integration with any pre-existing code.
- File:Arnoldi.f - Krylov-subspace method for calculating eigenvalues of a matrix.
- File:GMRESm.f90 - Krylov-subspace method for solving the linear system Ax=b for x.
- File:NewtonHook.f90 - Newton-hookstep method for finding nonlinear solutions x for F(x)=0.