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.