March+2013

Click here to go back to the top level JetStream Merge Notes page.

Changes affecting Jetstream output (relevant to the merge test cases):

 * Nonlinear iteration count for DBC now displays correctly.
 * Number of nonzeros in ILU factorization now displays correctly (not sure if this was changed this merge or last one).
 * Critical error messages that would result in MPI_Abort are now all displayed in the screen file, not results.scr.
 * Jetstream no longer feels compelled to output numerous empty files during a flow solve.
 * **IMPORTANT note for DBC test cases:** DBC now takes its preconditioner fill level depending on phase. Previously, it used diablo%lev_fil for both phases, now it uses diablo%app_lev_fil for startup phase and diablo%lev_fil for Newton phase. To get consistent results with previous benchmark, you need to include diablo%app_lev_fil in your input and set it to whatever diablo%lev_fil is set to.

Changes to well-known subroutines (high-probability merge conflicts)

 * Broke up getLHS of Partition_Mod into 2 subroutines for logistical reasons (does not affect performance or the way it is invoked in any way).
 * Made separate subroutines for the pre-processing and post-processing steps of solveNewtonKrylov. This is done for logistical reasons to be able to use homotopy methods with the optimizer.
 * ilu subroutine of pKISlib now handles input parameters differently.
 * The extra data written for opt_method='sweep' is moved from solveNK_pseudoTransient to IO_Mod to make it more accessible/less ugly

Other Minor changes

 * It is now possible to compile jetstream using on any system without supplying the system name. To do this on Guillimin, just put 'export sys="guillimin"' in your .bashrc file. On Lattice/Parallel, just put 'export sys="$HOSTNAME"'. There is no need to do this on SciNet, since SciNet is still the default.
 * Some grid utilities can be used without moving the grid into the grid_utils directory (for what it's worth).

New Features

 * Xiaodong's ILUT preconditioner is now active. Diablo (SolverOpts) has been updated with the new ilut_opts input parameter.
 * Convex homotopy greatly improved; now very fast and robust for steady Euler and laminar flow and works pretty well for RANS too so far. Only tested on wings; probably should not be used for wing+body configurations yet since untested. (Just set diablo%nk_global=0 to use.)
 * Global homotopy is now functional; fast solver for laminar and Euler, __subsonic only__. No RANS functionality yet.
 * Homotopy methods can be used in optimization.
 * JetStream Project Manager (JSPM): Useful tool for setting up large number of flow solve cases for testing.