Skip to content
This repository has been archived by the owner on Mar 27, 2018. It is now read-only.

Installing bout++

bendudson edited this page May 11, 2011 · 4 revisions

Prerequisites

BOUT++ needs, at the minimum:

  • MPI
  • FFTW
  • NetCDF

Configure

If the prerequsites are installed into common system locations (/usr, /usr/local, /opt/local, or $HOME/local [in that order]) then configure will pick these packages up automatically.

$ cd /path/to/bout++
$ ./configure

Custom Locations

Else, you may specify them manually:

$ ./configure MPICXX=/path/to/mpicxx --with-fftw=/path/to/fftw --with-netcdf=/path/to/netcdf

Compile

Then do the usual

$ make

Running tests

If you are still in the bout++ directory, then

$ cd examples/advect1d
$ make
$ ./gas_compress

You should hopefully see the following output:

$ ./gas_compress 

BOUT++ version 0.85
Code compiled on Oct  5 2010 at 14:56:15
B.Dudson (University of York), M.Umansky (LLNL) 2007
Based on BOUT by Xueqiao Xu, 1999

Compile-time options:
        Checking enabled, level 3
        Signal handling enabled
        PDB support disabled
        netCDF support enabled
Processor number: 0 of 1

Reading options file data/BOUT.inp
Checking command-line options
        Option nout = 10
        Option timestep = 0.01
        Option grid = data/advect.grd.cdl
        Option dump_float = 1 (default)
        Option non_uniform = 0 (default)
        Option restart = 0 (default)
        Option append = 0 (default)
        Option dump_format = nc
        Option StaggerGrids = 0 (default)
Setting X differencing methods
        First       :   Option ddx_first = c4
 Fourth order central (C4)
        Second      :   Option ddx_second = c4
 Fourth order central (C4)
        Upwind      :   Option ddx_upwind = u1
 First order upwinding (U1)
Setting Y differencing methods
        First       :   Option ddy_first = c4
 Fourth order central (C4)
        Second      :   Option ddy_second = c2
 Second order central (C2)
        Upwind      :   Option ddy_upwind = u1
 First order upwinding (U1)
Setting Z differencing methods
        First       :   Option ddz_first = c4
 Fourth order central (C4)
        Second      :   Option ddz_second = c2
 Second order central (C2)
        Upwind      :   Option ddz_upwind = u1
 First order upwinding (U1)
Setting grid format
        Option grid_format =  (default)
        Using NetCDF format for file 'data/advect.grd.cdl'
Loading mesh
        Grid size: 5 by 128
        Option mxg = 2
        Option myg = 2
        Option NXPE = 1 (default)
        Option mz = 17
        Option twistshift = false
        Option TwistOrder = 0 (default)
        Option ShiftOrder = 0 (default)
        Option shiftxderivs = false
        Option IncIntShear = 0 (default)
        Option BoundaryOnCell = 0 (default)
        Option StaggerGrids = 0 (default)
        Option async_send = 0 (default)
        Option zperiod = 1 (default)
        Option zmin = 0
        Option zmax = 0.25
        WARNING: Branch-cut 'jyseps1_2' not found. Setting to 64
        WARNING: Branch-cut 'jyseps2_1' not found. Setting to 64
        WARNING: Number of inner y points 'ny_inner' not found. Setting to 64
        EQUILIBRIUM IS SINGLE NULL (SND) 
        Option xperiodic = 0 (default)
Connection between top of Y processor 0 and bottom of 0 in range 0 <= x < 5
=> This processor sending in up
=> This processor sending in down
WARNING adding connection: poloidal index -1 out of range
        MYPE_IN_CORE = 1
        DXS = 5, DIN = 0. DOUT = -1
        UXS = 5, UIN = 0. UOUT = -1
        XIN = -1, XOUT = -1
        Twist-shift: DI UI 
        WARNING: Could not read 'g11' from grid. Setting to 1.000000e+00
        WARNING: Could not read 'g22' from grid. Setting to 1.000000e+00
        WARNING: Could not read 'g33' from grid. Setting to 1.000000e+00
        WARNING: Could not read 'g12' from grid. Setting to 0.000000e+00
        WARNING: Could not read 'g13' from grid. Setting to 0.000000e+00
        WARNING: Could not read 'g23' from grid. Setting to 0.000000e+00
        WARNING: Could not read 'zShift' from grid. Setting to 0.000000e+00
        WARNING: Z shift for radial derivatives not found
        WARNING: Twist-shift angle 'ShiftAngle' not found. Setting from zShift
        Option twistshift_pf = 0 (default)
        Maximum error in diagonal inversion is 0.000000e+00
        Maximum error in off-diagonal inversion is 0.000000e+00
        WARNING: Could not read 'J' from grid. Setting to 0.000000e+00
        WARNING: Jacobian 'J' not found. Calculating from metric tensor
        WARNING: Could not read 'Bxy' from grid. Setting to 0.000000e+00
        WARNING: Magnitude of B field 'Bxy' not found. Calculating from metric tensor
Calculating differential geometry terms
        Communicating connection terms
Boundary regions in this processor: core, sol, 
        done
Setting file formats
        Using NetCDF format for file 'data/BOUT.dmp.0.nc'
Initialising Laplacian inversion routines
        Option async = 1 (default)
        Option filter = 0.2 (default)
        Option low_mem = 0 (default)
        Option use_pdd = 0 (default)
        Option all_terms = 0 (default)
        Option laplace_nonuniform = 0 (default)
        Using serial algorithm
        Option max_mode = 6 (default)
Initialising physics module
        Option solver_type =  (default)
        Reading contravariant vector v
        WARNING: Could not read 'vx' from grid. Setting to 0.000000e+00
        WARNING: Could not read 'vz' from grid. Setting to 0.000000e+00
        Reading contravariant vector g
        WARNING: Could not read 'gx' from grid. Setting to 0.000000e+00
        WARNING: Could not read 'gy' from grid. Setting to 0.000000e+00
        WARNING: Could not read 'gz' from grid. Setting to 0.000000e+00
        Option gamma = 1.66667 (default)
        Option gas_viscosity = 0
        Option gas_include_viscosity = false
        Option gas_v0_multiply = -1
Setting boundary for variable density
        core region:    Option density_bndry_core =  (default)
        Option density_bndry_xin =  (default)
        Option density_bndry_all =  (default)
        Option all_bndry_core =  (default)
        Option all_bndry_xin =  (default)
        Option all_bndry_all = neumann
neumann
        sol region:     Option density_bndry_sol =  (default)
        Option density_bndry_xout =  (default)
        Option density_bndry_all =  (default)
        Option all_bndry_sol =  (default)
        Option all_bndry_xout =  (default)
        Option all_bndry_all = neumann
neumann
Initial profile global options
        Option twistshift = false
        Option Ballooning = 0 (default)
        Option ShiftInitial = 0 (default)

        Option density_scale = 0.5
        Option all_xs_opt = 0
        Option all_ys_opt = 1
        Option all_zs_opt = 2
        Option all_xs_mode = 4 (default)
        Option all_ys_mode = 4 (default)
        Option all_zs_mode = 1
        Option all_xs_phase = 0 (default)
        Option all_ys_phase = 0 (default)
        Option all_zs_phase = 0 (default)
        Option all_xs_s0 = 0.5 (default)
        Option all_ys_s0 = 0.5
        Option all_zs_s0 = 0.5 (default)
        Option all_xs_wd = 0.2 (default)
        Option all_ys_wd = 0.1
        Option all_zs_wd = 0.2 (default)
Setting boundary for variable pressure
        core region:    Option pressure_bndry_core =  (default)
        Option pressure_bndry_xin =  (default)
        Option pressure_bndry_all =  (default)
        Option all_bndry_core =  (default)
        Option all_bndry_xin =  (default)
        Option all_bndry_all = neumann
neumann
        sol region:     Option pressure_bndry_sol =  (default)
        Option pressure_bndry_xout =  (default)
        Option pressure_bndry_all =  (default)
        Option all_bndry_sol =  (default)
        Option all_bndry_xout =  (default)
        Option all_bndry_all = neumann
neumann
        Option all_scale = 0
        Option all_xs_opt = 0
        Option all_ys_opt = 1
        Option all_zs_opt = 2
        Option all_xs_mode = 4 (default)
        Option all_ys_mode = 4 (default)
        Option all_zs_mode = 1
        Option all_xs_phase = 0 (default)
        Option all_ys_phase = 0 (default)
        Option all_zs_phase = 0 (default)
        Option all_xs_s0 = 0.5 (default)
        Option all_ys_s0 = 0.5
        Option all_zs_s0 = 0.5 (default)
        Option all_xs_wd = 0.2 (default)
        Option all_ys_wd = 0.1
        Option all_zs_wd = 0.2 (default)
Setting boundary for variable v
        core region:    Option v_bndry_core =  (default)
        Option v_bndry_xin =  (default)
        Option v_bndry_all =  (default)
        Option all_bndry_core =  (default)
        Option all_bndry_xin =  (default)
        Option all_bndry_all = neumann
neumann
        sol region:     Option v_bndry_sol =  (default)
        Option v_bndry_xout =  (default)
        Option v_bndry_all =  (default)
        Option all_bndry_sol =  (default)
        Option all_bndry_xout =  (default)
        Option all_bndry_all = neumann
neumann
Setting boundary for variable vx
        core region:    Option vx_bndry_core =  (default)
        Option vx_bndry_xin =  (default)
        Option vx_bndry_all =  (default)
        Option all_bndry_core =  (default)
        Option all_bndry_xin =  (default)
        Option all_bndry_all = neumann
neumann
        sol region:     Option vx_bndry_sol =  (default)
        Option vx_bndry_xout =  (default)
        Option vx_bndry_all =  (default)
        Option all_bndry_sol =  (default)
        Option all_bndry_xout =  (default)
        Option all_bndry_all = neumann
neumann
        Option all_scale = 0
        Option all_xs_opt = 0
        Option all_ys_opt = 1
        Option all_zs_opt = 2
        Option all_xs_mode = 4 (default)
        Option all_ys_mode = 4 (default)
        Option all_zs_mode = 1
        Option all_xs_phase = 0 (default)
        Option all_ys_phase = 0 (default)
        Option all_zs_phase = 0 (default)
        Option all_xs_s0 = 0.5 (default)
        Option all_ys_s0 = 0.5
        Option all_zs_s0 = 0.5 (default)
        Option all_xs_wd = 0.2 (default)
        Option all_ys_wd = 0.1
        Option all_zs_wd = 0.2 (default)
Setting boundary for variable vy
        core region:    Option vy_bndry_core =  (default)
        Option vy_bndry_xin =  (default)
        Option vy_bndry_all =  (default)
        Option all_bndry_core =  (default)
        Option all_bndry_xin =  (default)
        Option all_bndry_all = neumann
neumann
        sol region:     Option vy_bndry_sol =  (default)
        Option vy_bndry_xout =  (default)
        Option vy_bndry_all =  (default)
        Option all_bndry_sol =  (default)
        Option all_bndry_xout =  (default)
        Option all_bndry_all = neumann
neumann
        Option all_scale = 0
        Option all_xs_opt = 0
        Option all_ys_opt = 1
        Option all_zs_opt = 2
        Option all_xs_mode = 4 (default)
        Option all_ys_mode = 4 (default)
        Option all_zs_mode = 1
        Option all_xs_phase = 0 (default)
        Option all_ys_phase = 0 (default)
        Option all_zs_phase = 0 (default)
        Option all_xs_s0 = 0.5 (default)
        Option all_ys_s0 = 0.5
        Option all_zs_s0 = 0.5 (default)
        Option all_xs_wd = 0.2 (default)
        Option all_ys_wd = 0.1
        Option all_zs_wd = 0.2 (default)
Setting boundary for variable vz
        core region:    Option vz_bndry_core =  (default)
        Option vz_bndry_xin =  (default)
        Option vz_bndry_all =  (default)
        Option all_bndry_core =  (default)
        Option all_bndry_xin =  (default)
        Option all_bndry_all = neumann
neumann
        sol region:     Option vz_bndry_sol =  (default)
        Option vz_bndry_xout =  (default)
        Option vz_bndry_all =  (default)
        Option all_bndry_sol =  (default)
        Option all_bndry_xout =  (default)
        Option all_bndry_all = neumann
neumann
        Option all_scale = 0
        Option all_xs_opt = 0
        Option all_ys_opt = 1
        Option all_zs_opt = 2
        Option all_xs_mode = 4 (default)
        Option all_ys_mode = 4 (default)
        Option all_zs_mode = 1
        Option all_xs_phase = 0 (default)
        Option all_ys_phase = 0 (default)
        Option all_zs_phase = 0 (default)
        Option all_xs_s0 = 0.5 (default)
        Option all_ys_s0 = 0.5
        Option all_zs_s0 = 0.5 (default)
        Option all_xs_wd = 0.2 (default)
        Option all_ys_wd = 0.1
        Option all_zs_wd = 0.2 (default)
Initialising solver
        Option archive = -1 (default)
        Option dump_format = nc
        Option restart_format = nc (default)
        Using NetCDF format for file 'nc'
Initialising SUNDIALS' CVODE solver
        Boundary region inner X
        Boundary region outer X
        3d fields = 5, 2d fields = 0 neq=51200, local_N=51200
        Option mudq = 15 (default)
        Option mldq = 15 (default)
        Option mukeep = 5 (default)
        Option mlkeep = 5 (default)
        Option solver_atol = 1e-10
        Option solver_rtol = 1e-05
        Option maxl = 5 (default)
        Option use_precon = 0 (default)
        Option use_jacobian = 0 (default)
        Option max_timestep = -1 (default)
        Option pvode_mxstep = 500 (default)
        Option adams_moulton = 0 (default)
        Using BDF method
        Option func_iter = 0 (default)
        Using Newton iteration
        No preconditioning
        Using difference quotient approximation for Jacobian
Running simulation


Run started at  : Tue Oct  5 23:21:10 2010

        Option wall_limit = -1 (default)
Sim Time  |  RHS evals  | Wall Time |  Calc    Inv   Comm    I/O   SOLVER

1.000e-02         29        -     -    -    -    -    - 
2.000e-02         13       2.34e-01    88.4    0.0    0.3    2.2    9.1
3.000e-02          8       1.50e-01    87.6    0.0    0.3    3.4    8.7
4.000e-02          7       1.30e-01    86.3    0.0    0.3    3.7    9.7
5.000e-02          8       1.54e-01    87.0    0.0    0.3    3.2    9.4
6.000e-02          5       9.62e-02    85.5    0.0    0.3    5.4    8.8
7.000e-02          5       9.38e-02    85.0    0.0    0.3    5.9    8.8
8.000e-02          4       7.69e-02    84.0    0.0    0.3    6.4    9.3
9.000e-02          4       7.78e-02    83.9    0.0    0.3    6.5    9.3
1.000e-01          4       7.85e-02    84.0    0.0    0.3    6.5    9.2
/  Step 10 of 10. Elapsed 0:00:01.1 ETA 0:00:00.0
Run finished at  : Tue Oct  5 23:21:12 2010

Run time : 2 s
Clone this wiki locally