Contacts: Orso Meneghini, Theresa Wilks, Cody Moynihan

Short Description

Run the BOUT++ code


BOUT++, Fluid Turbulence

Long Description

This module prepares the input, runs, and postprocesses the output of the BOUT++ code.

Typical workflows

The BOUT++ module handles building of the BOUT++ user model, execution, data fetching and post-processing

  1. The input files of BOUT++ need to be set
    • the script .cxx root[‘INPUTS’][‘CXX’] as OMFITascii
    • the option file BOUT.inp root[‘INPUTS’][‘INP’] as OMFITini
    • the NetCDF grid file .nc (optional) root[‘INPUTS’][‘GRID’] as OMFITnc
    • the NetCDF restarting files BOUT.restart.*.nc (optional) [‘RESTART’][‘data/BOUT.restart.*.nc’] as OMFITnc
  2. Running BOUT++
    • The run of BOUT++ can be made by the execution of root[‘SCRIPTS’][‘runBOUT++’].
    • If a sweep over mode numbers is preferred, execution of root[‘SCRIPTS’][‘batchrun’] is useful.
    • The output can be pre-visualized in the console of OMFIT.
    • The run of BOUT++ can be aborted, continuing the script root[‘SCRIPTS’][‘runBOUT++’] or completely killed.
    • When the run of BOUT++ is done, the output files are saved into
      • root[‘OUTPUTS’][‘LOG’] a OMFITascii type for the BOUT.log.* files
      • root[‘OUTPUTS’][‘DATA’] a single merged OMFITnc type for the BOUT.dmp.*.nc data files This file is obtained by merging the output data files BOUT.dmp.*.nc by the script root[‘SCRIPTS’][‘fetchBOUT++’]
      • root[‘OUTPUTS’][‘RESTART’] a OMFITnc type for the last time step needed for restarting the BOUT++ run
  3. Post-running / Analysis
    • Saving of data to root['Saves'] can be achieved through the GUI root['GUIS']['SAVE'].
    • Data visualization is available via the GUIs root['GUIS']['BOUT++_Analysis'] and root['GUIS']['BOUT++_ScanAnalysis'].
    • The GUI root['GUIS']['BOUT++_Analysis'] allows the following for a single run
      • Plot of the linear log growth rate
      • Plot of 1D mode structure vs. Psi
      • Plot of 2D mode structure
    • The GUI root['GUIS']['BOUT++_ScanAnalysis'] allows the following for multiple runs
      • Plot the 1D mode structure for each run on the same figure
      • Plot the growth rate vs. n for multiple trends

Supported devices

  • Device independent

Relevant publications

  • B D Dudson, M. V. Umansky, X. Q. Xu, P. B. Snyder, H. R. Wilson: BOUT++: a framework for parallel plasma fluid simulations. Computer Physics Communications 180 (2009), pp. 1467-1480 doi:10.1016/j.cpc.2009.03.008


List of contributors sorted by number of lines authored:

672 Cody Moynihan
264 Orso Meneghini
 97 Sterling Smith
 61 Theresa Wilks
 37 Olivier Izacard


List of usernames sorted by number of module imports: wilkstm, moynihanc, meneghini, binchen, cmoynih2, train41, jgchen, twilks, luxin, wangy, oizacard, tang31, train45, wanghuiqian, eldond, izacard, train33, train35, zhuyiren, david, izacardo, josephi, smithsp, train37, train47, train48, umansky1, zhhwang, carbinj, chenj, drsmith, duhl, greendl1, guowf, halpernf, hhwang, izzov, jlchen, lizj, mfitz, namili, nelsonand, parkjm, rchurchi, shenders, shisy, snyder, teklua, train31, train36, train38, train39, train43, train46, train50, train53, umansky, wangzw, willensdorferm, xiangjian, xingz, xugl