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.check_file                               = "chk"
 28io.plot_file                                = "plt"
 29io.restart_file                             = ""
 30
 31# incflo
 32incflo.physics                              = ABL
 33incflo.density                              = 1.225
 34incflo.velocity                             = 6.0 5.0 0.0
 35incflo.verbose                              = 0
 36incflo.initial_iterations                   = 3
 37incflo.do_initial_proj                      = true
 38incflo.constant_density                     = true
 39incflo.use_godunov                          = 1
 40incflow.godunov_type                        = "ppm"
 41incflo.godunov_use_forces_in_trans          = false
 42incflo.diffusion_type                       = 2
 43
 44# transport equation parameters
 45transport.model                             = ConstTransport
 46transport.viscosity                         = 1.0e-5
 47transport.laminar_prandtl                   = 0.7
 48transport.turbulent_prandtl                 = 0.333
 49transport.reference_temperature                   = 290.0
 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.stats_output_format                     = netcdf
 66ABL.stats_output_frequency                  = 1
 67ABL.surface_roughness_z0                    = 0.01
 68ABL.surface_temp_flux                       = 0.005
 69ABL.temperature_heights                     = 0.0 2000.0
 70ABL.temperature_values                      = 290.0 296.0
 71
 72# momentum source term parameters
 73ICNS.source_terms                           = BoussinesqBuoyancy CoriolisForcing ABLForcing
 74ABLForcing.abl_forcing_height               = 90.0
 75CoriolisForcing.east_vector                 = 1.0 0.0 0.0
 76CoriolisForcing.latitude                    = 41.3
 77CoriolisForcing.north_vector                = 0.0 1.0 0.0
 78CoriolisForcing.rotational_time_period      = 86400.0
 79GeostrophicForcing.geostrophic_wind         = 10.0 0.0 0.0
 80
 81# Boundary conditions
 82zhi.type                                    = "slip_wall"
 83zhi.temperature_type                        = "fixed_gradient"
 84zhi.temperature                             = 0.003
 85zlo.type                                    = "wall_model"
 86zlo.tke_type                                = "fixed_gradient"
 87
 88# MLMG options for cell-centered diffusion solve
 89diffusion.mg_verbose                        = 0
 90diffusion.mg_cg_verbose                     = 0
 91diffusion.mg_max_iter                       = 200
 92diffusion.mg_cg_max_iter                    = 200
 93diffusion.mg_fmg_max_iter                   = 0
 94diffusion.mg_max_coarsening_level           = 100
 95diffusion.mg_max_order                      = 2
 96diffusion.mg_rtol                           = 1.0e-6
 97diffusion.mg_atol                           = 1.0e-12
 98diffusion.bottom_solver                     = "bicgstab"
 99
100# MLMG options for MAC Projection
101mac_proj.mg_rtol                            = 1.0e-6
102mac_proj.mg_atol                            = 1.0e-12
103
104# MLMG options for Nodal Projection
105nodal_proj.mg_rtol                          = 1.0e-6
106nodal_proj.mg_atol                          = 1.0e-12
107
108# Post processing algorithms
109incflo.post_processing = sampling enstrophy ke
110
111# Data probe sampling
112sampling.output_frequency = 1
113sampling.labels = l_v11 p_h
114sampling.fields = velocity temperature
115
116# sampling along a line
117sampling.l_v11.type = LineSampler
118sampling.l_v11.num_points = 192
119sampling.l_v11.start = 500.0 500.0 5.0
120sampling.l_v11.end = 500.0 500.0 1995.0
121
122# Sampling on a plane
123sampling.p_h.type = PlaneSampler
124sampling.p_h.axis1 = 5210.0 0.0 0.0
125sampling.p_h.axis2 = 0.0 5210.0 0.0
126sampling.p_h.origin = 0.0 0.0 50.0
127sampling.p_h.num_points = 288 288
128sampling.p_h.normal = 0.0 0.0 1.0
129sampling.p_h.offsets = 0.0 50.0 150.0
130
131# kinetic energy and enstrophy integration
132ke.type = KineticEnergy
133ke.output_frequency = 1
134enstrophy.type = Enstrophy
135enstrophy.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

tagging

Static and dynamic refinement options

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

Sampling

Data probes to sample field data during simulations

Averaging

Time averaging and correlations

This section documents the parameters available within each section. Please note that the documentation provided here is for the latest major release of AMR-Wind. While input file specifications rarely change, major releases of AMR-Wind (e.g 2.x to 3.x) might have breaking changes and the documentation provided here might not work with older releases.

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.