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:

631 Cody Moynihan
247 Orso Meneghini
113 Fusion Bot
 94 Sterling Smith
 59 Theresa Wilks
 37 Olivier Izacard


List of usernames sorted by number of module imports: wilkstm, moynihanc, meneghini, binchen, cmoynih2, train41, jgchen, twilks, luxin, wangy, luoyiming, oizacard, tang31, train45, wanghuiqian, zhuyiren, eldond, izacard, train33, train35, 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, wangzhuo, wangzw, willensdorferm, xiangjian, xingz, xugl, yuguanying