AMR-Wind inputs file

To run amr_wind, the user must provide a text file containing inputs describing the problem and any additional command-line arguments that override the parameters in the input file for that particular invocation of the executable.

# Parse input parameters from `inputs.abl` but change max_step to 20
$ ./amr_wind inputs.abl time.max_step=20

The input file is a simple text file containing key = value entries for the input parameters. The text file can include comments, any text beginning with # till the end of line (EOF) is interpreted as comments and ignored by the parser. Input file processing is handled by AMReX ParmParse library. This section documents the various input file parameters and their default values (if available). In amr_wind, the input file is broken into sections indicated by a namespace prefix. For example, all inputs related to the problem domain are prefixed with geometry. and so on. A sample input file is shown below

  1# AMR-Wind example input file
  2#
  3# Atmospheric boundary layer (precursor) simulation
  4#
  5
  6# Problem domain definition
  7geometry.prob_lo                            = 0.0 0.0 0.0
  8geometry.prob_hi                            = 5120.0 5120.0 1280.0
  9geometry.is_periodic                        = 1 1 0
 10
 11# Mesh resolution and AMR definitions
 12amr.n_cell                                  = 512 512 128
 13amr.max_level                               = 0
 14
 15# Simulation control parameters
 16time.stop_time                              = 20000.0
 17time.max_step                               = -1
 18time.fixed_dt                               = 0.5
 19time.cfl                                    = 0.95
 20time.init_shrink                            = 0.1
 21time.regrid_interval                        = -1
 22time.plot_interval                          = 1000
 23time.checkpoint_interval                    = 10000
 24time.use_force_cfl                          = false
 25
 26# input/output settings
 27io.KE_int                                   = -1
 28io.check_file                               = "chk"
 29io.plot_file                                = "plt"
 30io.restart_file                             = ""
 31
 32# incflo
 33incflo.physics                              = ABL
 34incflo.density                              = 1.225
 35incflo.velocity                             = 6.0 5.0 0.0
 36incflo.verbose                              = 0
 37incflo.initial_iterations                   = 3
 38incflo.do_initial_proj                      = true
 39incflo.constant_density                     = true
 40incflo.use_godunov                          = 1
 41incflow.godunov_type                        = "ppm"
 42incflo.godunov_use_forces_in_trans          = false
 43incflo.diffusion_type                       = 2
 44
 45# transport equation parameters
 46transport.model                             = ConstTransport
 47transport.viscosity                         = 1.0e-5
 48transport.laminar_prandtl                   = 0.7
 49transport.turbulent_prandtl                 = 0.333
 50
 51# turbulence equation parameters
 52turbulence.model                            = OneEqKsgsM84
 53
 54# Atmospheric boundary layer
 55ABL.Uperiods                                = 4.0
 56ABL.Vperiods                                = 4.0
 57ABL.cutoff_height                           = 50.0
 58ABL.deltaU                                  = 1.0
 59ABL.deltaV                                  = 1.0
 60ABL.kappa                                   = .41
 61ABL.normal_direction                        = 2
 62ABL.perturb_ref_height                      = 50.0
 63ABL.perturb_temperature                     = true
 64ABL.perturb_velocity                        = true
 65ABL.reference_temperature                   = 290.0
 66ABL.stats_output_format                     = netcdf
 67ABL.stats_output_frequency                  = 1
 68ABL.surface_roughness_z0                    = 0.01
 69ABL.surface_temp_flux                       = 0.005
 70ABL.temperature_heights                     = 0.0 2000.0
 71ABL.temperature_values                      = 290.0 296.0
 72
 73# momentum source term parameters
 74ICNS.source_terms                           = BoussinesqBuoyancy CoriolisForcing ABLForcing
 75ABLForcing.abl_forcing_height               = 90.0
 76BoussinesqBuoyancy.reference_temperature    = 300.0
 77BoussinesqBuoyancy.thermal_expansion_coeff  = 0.003333333333
 78CoriolisForcing.east_vector                 = 1.0 0.0 0.0
 79CoriolisForcing.latitude                    = 41.3
 80CoriolisForcing.north_vector                = 0.0 1.0 0.0
 81CoriolisForcing.rotational_time_period      = 86400.0
 82GeostrophicForcing.geostrophic_wind         = 10.0 0.0 0.0
 83
 84# Boundary conditions
 85zhi.type                                    = "slip_wall"
 86zhi.temperature_type                        = "fixed_gradient"
 87zhi.temperature                             = 0.003
 88zlo.type                                    = "wall_model"
 89zlo.tke_type                                = "fixed_gradient"
 90
 91# MLMG options for cell-centered diffusion solve
 92diffusion.mg_verbose                        = 0
 93diffusion.mg_cg_verbose                     = 0
 94diffusion.mg_max_iter                       = 200
 95diffusion.mg_cg_max_iter                    = 200
 96diffusion.mg_fmg_max_iter                   = 0
 97diffusion.mg_max_coarsening_level           = 100
 98diffusion.mg_max_order                      = 2
 99diffusion.mg_rtol                           = 1.0e-6
100diffusion.mg_atol                           = 1.0e-12
101diffusion.bottom_solver                     = "bicgstab"
102
103# MLMG options for MAC Projection
104mac_proj.mg_rtol                            = 1.0e-6
105mac_proj.mg_atol                            = 1.0e-12
106
107# MLMG options for Nodal Projection
108nodal_proj.mg_rtol                          = 1.0e-6
109nodal_proj.mg_atol                          = 1.0e-12
110
111# Post processing algorithms
112incflo.post_processing = sampling enstrophy ke
113
114# Data probe sampling
115sampling.output_frequency = 1
116sampling.labels = l_v11 p_h
117sampling.fields = velocity temperature
118
119# sampling along a line
120sampling.l_v11.type = LineSampler
121sampling.l_v11.num_points = 192
122sampling.l_v11.start = 500.0 500.0 5.0
123sampling.l_v11.end = 500.0 500.0 1995.0
124
125# Sampling on a plane
126sampling.p_h.type = PlaneSampler
127sampling.p_h.axis1 = 5210.0 0.0 0.0
128sampling.p_h.axis2 = 0.0 5210.0 0.0
129sampling.p_h.origin = 0.0 0.0 50.0
130sampling.p_h.num_points = 288 288
131sampling.p_h.normal = 0.0 0.0 1.0
132sampling.p_h.offsets = 0.0 50.0 150.0
133
134# kinetic energy and enstrophy integration
135ke.type = KineticEnergy
136ke.output_frequency = 1
137enstrophy.type = Enstrophy
138enstrophy.output_frequency = 1

Input file reference

The AMR-Wind input file is organized in the following sections

Section

Description

geometry

Computational domain information

amr

Mesh refinement controls

time

Simulation time controls

io

Input/Output controls

incflo

CFD algorithm and physics controls

transport

Transport equation controls

turbulence

Turbulence model controls

ABL

Atmospheric boundary layer (ABL) controls

ABLMesoForcing

Mesoscale ABL forcing controls

SyntheticTurbulence

Inject turbulence using body forces

Momentum sources

Activate Momentum source terms and their parameters

Boundary conditions

Boundary condition types and gradients

MLMG options

Multi-Level Multi-Grid Linear solver options

Tagging

Static and dynamic refinement options

Sampling

Data probes to sample field data during simulations

Averaging

Time averaging and correlations

This section documents the parameters available within each section.

Note

  • Boolean flags (true/false) can also be indicated using integers in the text file and uses the convention 0 = False and 1 = True.

  • Quotes around strings are optional.

  • If an input is repeated only the last one is used.