Utilities: Difference between revisions

From openpipeflow.org
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 18: Line 18:


=== 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.
Line 25: Line 25:


=== Runtime processing ===
=== Runtime processing ===
* [[analyse_runtime.f90]] - Processing '''template''' for writing data at runtime.
* [[analyse_runtime.f90]] - '''Runtime processing template'''.
* [[newton.f90]] - Newton-Krylov for pipe flow.
* [[newton.f90]] - Newton-Krylov for pipe flow.



Revision as of 02:29, 20 June 2017

  • Utilities are used to manipulate or analyse data, either during runtime or in the post-processing phase.
  • Utilities are kept in utils/.
  • Avoid editing the contents of the program/ directory; almost all modifications can be made via a utility, rather than altering the core code.
  • Some of the utilities are non-specific to pipe flow, e.g. code for the GMRES algorithm.


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

Runtime processing

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.