BOUT++

Contacts: Orso Meneghini, Theresa Wilks, Cody Moynihan

Short Description

Run the BOUT++ code

Keywords

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

Contributors

List of contributors sorted by number of lines authored:

630 Cody Moynihan
280 Orso Meneghini
 93 Sterling Smith
 90 Fusion Bot
 69 Galina Avdeeva
 58 Theresa Wilks
 37 Olivier Izacard
  1 Will DeShazer

Users

List of usernames sorted by number of module imports: wilkstm, moynihanc, meneghini, binchen, cmoynih2, train41, jianx, wangy, jgchen, twilks, luxin, devillerochea, luoyiming, oizacard, ashtonkeya, avdeevag, tang31, train45, wanghuiqian, wudonggui, zhuyiren, eldond, izacard, train33, train35, david, izacardo, josephi, lizeyu, smithsp, tangt, train37, train47, train48, umansky1, wuxh, zhhwang, carbinj, chenj, drsmith, duhl, fleishhackerj, fujia, greendl1, guowf, halpernf, hhwang, izzov, jlchen, lanting, liuy_dlut, lizj, mfitz, namili, nelsonand, odstrcilt, parkjm, rchurchi, shenders, shisy, slendebroekt, snyder, teklua, train31, train36, train38, train39, train43, train46, train50, train53, umansky, wangzhuo, wangzw, willensdorferm, xiangjian, xingz, xugl, yadavn, yuguanying, yuze.yu