Section: Field Boundaries

Note that field boundaries must be listed to be activated, as described in incflo.field_boundaries. There are exceptions to this, however, due to backwards compatibility (BoundaryPlane and ModulatedPowerLaw field boundaries can be activated through legacy ABL input arguments) or necessity (OceanWavesBoundary is automatically activated when OceanWaves physics is active).

BoundaryPlane

This type of field boundary allows boundary conditions to be specified according to field data contained in planes that are read in by the solver. These planes are typically created by a precursor simulation, which is usually periodic, in which case the boundary plane utility does not function as a boundary condition but as a plane data output utility. Alternatively, the planes can instead be written by tools external to the solver, allowing data from other sources to be used to specify boundary conditions. This field boundary does not assume any particular fields for its application but instead allows the user to specify variable names.

BoundaryPlane.io_mode

type: Int, mandatory

Mode for input/output of BoundaryPlane field boundary. A value of 0 indicates that boundary planes should be written to file(s) during the simulation, and a value of 1 indicates that boundary planes should be read from file(s) during the simulation.

BoundaryPlane.file

type: String, mandatory

File name for input/output of BoundaryPlane field boundary. For the native output format, this file represents a directory containing plane data, whereas for the netcdf output format, this file is a single netcdf file containing all plane data.

BoundaryPlane.var_names

type: List of strings, mandatory

List of variable names to read/write for the BoundaryPlane field boundary. The corresponding variables must be present in the simulation. In read mode, the BoundaryPlane BC is limited to these variables; variables not included in this list will use other BCs according to the input file.

BoundaryPlane.planes

type: List of strings, mandatory

List of plane names, identifying domain boundaries, to read/write for the BoundaryPlane field boundary. The plane names must be in the format “xlo”, “xhi”, “ylo”, “yhi”, “zlo”, or “zhi”.

BoundaryPlane.output_format

type: String, optional, default = “native”

Input/output format for BoundaryPlane field boundary. The default “native” format outputs plane data in a directory containing files for each variable and plane. This format corresponds to the AMReX plotfile format, enabling direct visualization through third-party tools like ParaView. The “netcdf” format outputs plane data in a single netcdf file.

BoundaryPlane.write_frequency

type: Integer, optional, default = 1

Frequency (actually a time step interval) for writing BoundaryPlane data to file in write mode. This input parameter is only relevant to write mode.

BoundaryPlane.output_start_time

type: Real, optional, default = 0.0

Time at which to start writing BoundaryPlane data to file in write mode.

BoundaryPlane.output_and_use_initial_plane

type: Boolean, optional, default = false

This flag controls whether to output the initial plane at the start of the simulation and use it as the boundary plane for the duration of the simulation. If true, this flag implies that the boundary plane is static.

BoundaryPlane.is_static

type: Boolean, optional, default = false

This flag controls whether the boundary plane is static or dynamic. If true, the same plane will be used for the duration of the simulation. If false, new planes will be read in as time progresses, updating the boundary conditions according to the available data. Note that this input parameter is only relevant to read mode.

BoundaryPlane.fluid_phase

type: String, optional, default = “both”

This input parameter controls which fluid phase(s) the BoundaryPlane field boundary is applied to when in read mode. Valid options are “liquid” (or “water” or “1”), “gas” (or “air” or “2”), and “both” (or “agnostic” or “0”). This capability works by checking the vof value within the boundary and only using parts of the boundary plane where the specified phase is present. As a result, the vof variable must be present for this capability, which means the MultiPhase physics class must be active.

ModulatedPowerLaw

This type of field boundary applies a modulated power law profile for velocity and a linear profile for temperature. The velocity profile can change direction according to a constant rate, and the temperature profile can incorporate randomness via a Gaussian distribution. This field boundary is typically used for ABL inflow conditions, but it can be used independently of the ABL physics class. However, it does require that velocity and temperature fields are present in the simulation and automatically applies to all inflow boundary conditions of those fields, and it does rely on the input arguments ABL.temperature_heights and ABL.temperature_values to specify the reference linear temperature profile.

MPL.wind_speed

type: Real, optional, default = 8.0

Reference wind speed for ModulatedPowerLaw field boundary.

MPL.wind_direction

type: Real, optional, default = 270.0

Wind direction in degrees for ModulatedPowerLaw field boundary. The angle is measured clockwise from the north, so a value of 270 corresponds to a westerly wind.

MPL.zref

type: Real, optional, default = 90.0

Reference height for ModulatedPowerLaw field boundary.

MPL.shear_exp

type: Real, optional, default = 0.1

Shear exponent for ModulatedPowerLaw field boundary.

MPL.umax_factor

type: Real, optional, default = 1.2

Maximum velocity factor for ModulatedPowerLaw field boundary.

MPL.bulk_velocity_factor

type: Real, optional, default = 15.0

Bulk velocity variable for ModulatedPowerLaw field boundary.

MPL.shearlayer_height

type: Real, optional, default = 600.0

Shear layer height for ModulatedPowerLaw field boundary.

MPL.shearlayer_smear_thickness

type: Real, optional, default = 30.0

Shear layer smear thickness for ModulatedPowerLaw field boundary.

MPL.degrees_per_second

type: Real, optional, default = 0.02

Rate at which to change the wind direction in degrees per second for ModulatedPowerLaw field boundary.

MPL.start_time

type: Real, optional, default = 0.0

Time at which to start applying the rate of change in wind direction for ModulatedPowerLaw field boundary.

MPL.end_time

type: Real, optional, default = very large number

Time at which to end applying the rate of change in wind direction for ModulatedPowerLaw field boundary.

MPL.delta_t

type: Real, optional, default = 0.8

Time scale to use when applying randomness to the temperature inflow of ModulatedPowerLaw field boundary.

MPL.theta_cutoff_height

type: Real, optional, default = 250.0

Height below which to apply randomness to the temperature inflow of ModulatedPowerLaw field boundary.

MPL.theta_gauss_mean

type: Real, optional, default = 0.0

Mean of the Gaussian distribution to use when applying randomness to the temperature inflow of ModulatedPowerLaw field boundary.

MPL.theta_gauss_var

type: Real, optional, default = 1.0

Variance of the Gaussian distribution to use when applying randomness to the temperature inflow of ModulatedPowerLaw field boundary.

OceanWavesBoundary

This type of field boundary applies wave profiles for velocity, volume fraction, and density according to the OceanWaves physics class. This field is automatically activated when OceanWaves physics is active, and it relies on fields generated by that physics class, so no specific input parameters are attributed to this field boundary. In multiphase simulations, i.e., when the MultiPhase physics class is active, the OceanWavesBoundary field boundary applies to all inflow or wave generation boundaries. At these boundaries, the vof field is populated according to the target wave profile, and the density field is populated according to the vof field and the specified densities of the two phases. The velocity field is populated according to the target wave profile as well, but only within the liquid phase. Whatever other boundary conditions in the input file remain active in the gas phase. In single phase simulations, i.e., when the MultiPhase physics class is not active and the waves are intended to be represented as moving terrain, there is no vof field and the density field does not need to be modified. Therefore, only the velocity within the waves is populated in the boundary condition. Finally, to avoid conflicts between the OceanWavesBoundary field boundary and the BoundaryPlane field boundary, the presence of the latter automatically deactivates the former.