Utilities: Difference between revisions

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


=== Non-problem-specific codes ===
=== Non-problem-specific codes ===
* [[GMRESm.f90|GMRESm.f90, arnoldi.f]] - Krylov-subspace methods.
* These are designed for integration with any pre-existing code.
* [[NewtonHook.f90]] - Newton-hookstep method.
* [[arnoldi.f|arnoldi.f]] - Krylov-subspace method for calculating eigenvalues of a matrix.
* [[GMRESm.f90|GMRESm.f90]] - Krylov-subspace method for solving the linear system Ax=b for x.
* [[NewtonHook.f90]] - Newton-hookstep method for finding nonlinear solutions of F(x)=0.

Revision as of 02:53, 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.

It is good practice to do a 'make install' to generate a main.info file to keep alongside the executable.

Pre/post-processing

Runtime processing

Non-problem-specific codes

  • These are designed for integration with any pre-existing code.
  • arnoldi.f - Krylov-subspace method for calculating eigenvalues of a matrix.
  • GMRESm.f90 - Krylov-subspace method for solving the linear system Ax=b for x.
  • NewtonHook.f90 - Newton-hookstep method for finding nonlinear solutions of F(x)=0.