4. Boundary Conditions

4.1. Boundary Condition List

You will probably want the table of boundary conditions below available. When processing your grid, use either the indices in the first column or the second column. When you get your results back, the forces that are summarized in the [project].forces file will be labeled using the notation in the second column. This is done so that existing boundary condition flags may be used, while still allowing for 4-digit boundary conditions in the solver, which enable room for future growth. _Note that if you want to change a boundary condition, you must pre-process the grid over again. The BC indices are hardwired into the partition files._ This is on our to-do list to change.

Grid Index FUN3D Index Description Notes
6661 6661 Symmetry Plane x plane only: enforces zero crossflow velocity
6662 6662 Symmetry Plane y plane only: enforces zero crossflow velocity
6663 6663 Symmetry Plane z plane only: enforces zero crossflow velocity
3 5000 Farfield Riemann invariant node based
5005 5005 Farfield—Extrapolation extrapolates pressure from inside the domain
4 4000 Viscous strong enforcement of no-slip condition
4010 4010 Viscous—Specified Normal Mass Flux compressible flow only, value set in bc_types module
4020 4020 Viscous—Specified Normal Velocity compressible flow only, value set in bc_types module
4030 4030 Viscous—Specified Velocity compressible flow only, value set in bc_types module
5 3000 Tangency weak enforcement of zero normal velocity through fluxes

Element Based Boundary Conditions ( Version 10.5 )—Values ( where required ) set up in &boundary_conditions namelist in namelist.input (fun3d.nml for versions 10.9.0 and later)

Grid Index FUN3D Index Description Notes
5025 5025 Farfield Riemann invariants
5026 5026 Extrapolate Supersonic outflow
5050 5050 Farfield Freestream
5051 5051 Back pressure Specified static pressure (allows supersonic flow)
5052 5052 Back pressure2 Static pressure set by specified Mach number
7011 7011 Subsonic inflow Subsonic inflow (pt,Tt) for nozzle plenum
7012 7012 Subsonic outflow Subsonic outflow (p0,T0) for inlet duct
7031 7031 Mass flow out Specification of massflow out of the control volume
7036 7036 Mass flow in Specification of massflow in to the control voluem
7100 7100 Fixed inflow Fixed primitive variables in to control volume

4.2. Value Input Format (Version 10.7)

Note that for releases 10.5.0 through 10.8.0, the physical values for the new element based boundary conditions are input through the file namelist.input. Input for 10.9.0 and later should be through the file fun3d.nml.

Code released at 10.8.0 or later, a slight change in the boundary condition input format has been made. The patch number associated with a boundary condition now used to directly index the physical conditions. bc_count and bc_patch(n) are no longer used.

Please report any problems, inconsistencies, issues, etc. with the new boundary_conditions input to FUN3D Support.

A typical namelist file (with lots of comments) is shown here:

 ! This file contains namelists used for specifying inputs to
 ! FUN3D. For this version (10.7), the following namelists apply (if a
 ! namelist is not present, its variables take on their default
 ! values):
 !    boundary_conditions
 !

 &boundary_conditions
    grid_units = 'meters'
                       ! options: meters, inches, millimeters
                       ! DEFAULT=meters
                       | Used in dimensional unit conversion
    massflow_dimensions = 'metric'
                       ! options: metric (kg/s), nondim (mesh units squared)
                       ! DEFAULT=metric
                       | Used in dimensional unit conversion
    bc_count = 0
                       ! number of boundary conditions to be input
                       ! DEFAULT=0
    bc_patch(n) = 0
                       ! patch number associated with bc -n-
                       ! DEFAULT=0
    total_pressure_ratio(n) = 1
                       ! Input for BC 7011 associated with bc -n-
                       ! DEFAULT=1
    total_temperature_ratio(n) = 1
                       ! Input for BC 7011 associated with bc -n-
                       ! DEFAULT=1
    subsonic_inflow_velocity = 'normal'
                       ! Direction of inflow velocities for BC 7011 
                       ! associated with bc -n-
                       ! options: 'normal', 'alpha,beta'
                       ! DEFAULT='alpha,beta'
    pt_alpha = 0.0
                       ! Input for BC 7011 associated with bc -n-
                       ! DEFAULT=0.0
    pt_beta  = 0.0
                       ! Input for BC 7011 associated with bc -n-
                       ! DEFAULT=0.0
    static_pressure_ratio(n) = 1
                       ! Input for BC 7012, 5051 associated with bc -n-
                       ! DEFAULT=1
    mach_bc(n) = 0
                       ! Input for BC 5025 patch number associated with bc -n-
                       ! DEFAULT=0
    fixed_qp(n,5) = 0
                       ! Input for BC 7100, 7105 associated with bc -n-
                       ! DEFAULT=(0.,0.,0.,0.,0.)
    massflow(n) = 0
                       ! Input for BC 7031, 7036 associated with bc -n-
                       ! DEFAULT=0
    !
    !-------------------------------------------------------------
    !-------------------------------------------------------------
 /

Note that the above namelist file contains many input variables, but in general it is not necessary to list them all. One can instead rely on the fact that most of the defaults are often desired, and only those variables that are different from the defaults need to be given. The following might be an example of a typical namelist file for a calorically-perfect FUN3D run:

Sample Boundary Condition Namelists

Nozzle bc – BC 7011

This is an example of a mesh in inches, one total pressure-total temperature boundary condition associated with patch 3, with the inflow velocity set normal to the patch for a pressure ratio of 1.6 and a temperature ratio of 1.0.

&boundary_conditions
  grid_units='inches',
  bc_count=1,
  bc_patch(1)=3,
  total_pressure_ratio(1)=1.6,
  total_temperature_ratio(1)=1.0,
  subsonic_inflow_velocity='normal',
/

Inlet bc Example 1 – BC 7031

This is a sample for an inlet mesh in inches, one mass flow out of the control volume boundary associated with patch 1, with a mass flow rate of 0.25 in units of mesh units squared. The desired massflow in this example is ramped from 0 to the set condition of 0.25 over 500 iterations as set by flow_mflux_ramp.

&boundary_conditions
grid_units='inches',
bc_count=1,
bc_patch(1)=1,
massflow(1)=0.25,
massflow_dimensions='nondim',
inlet_solution_method='massflux',
/
&nozzle_parameters
flow_mflux_ramp=500,
/

Inlet bc Example 2 – BC 7012

This is a sample for an inlet mesh in inches, specified static pressure ratio of 0.9 associated with patch 1.

&boundary_conditions
grid_units='inches',
bc_count=1,
bc_patch(1)=1,
static_pressure_ratio(1)=0.9,
/

Fixed Inflow/Outflow – BC 7100/7105

Patch 1 is a fixed inflow or outflow boundary setting the normalized density to 1, the normalized velocities of u, v, and w to 0.5, 0.0, and 0.0 respectively and the presssure to 0.714.

&boundary_conditions
grid_units='inches',
bc_count=1,
bc_patch(1)=1,
fixed_qp(1,:)= 1.0, 0.5, 0.0, 0.0, 0.714,
/

Total Pressure Inflow/Static Pressure Outflow – BC 7011-7012

Patch 5 is a total pressure—total temperature boundary condition associated assuming alpha=0 and beta=0 with the total pressure ratio of 1.984 and a total temperature ratio of 1.201. The total pressure ratio is ramped from 1.0 to 1.984 over 100 iterations via the paramter inflow_pt_ramp. The second boundary condition patch is 6 and is a static pressure ratio and static temperature ratio boundary set to the conditions of 1.364 and 1.0 respectively.

&boundary_conditions
grid_units='inches',
bc_count=2,
bc_patch(1)=5,
total_pressure_ratio(1)=1.984,
total_temperature_ratio(1)=1.201,
bc_patch(2)=6,
static_pressure_ratio(2)=1.364,
/
&nozzle_parameters
inflow_pt_ramp=100,
/

Specified Mach Number – BC 5052

The Mach number of 0.5 is specified for patch 5 for a mesh dimensioned in meters.

&boundary_conditions
grid_units='meters',
bc_count=1,
bc_patch(1)=5,
mach_bc(1)=0.5,
/

Static Pressure for Flow Out of Control Volume – BC 5051

The static pressure ratio of 0.25 is specified for patch 2 for a mesh dimensioned in meters.

&boundary_conditions
grid_units='meters',
bc_count=1,
bc_patch(1)=2,
static_pressure_ratio(1)=0.25,
/

4.3. Value Input Format (Version 10.8)

Note that as of releases 10.5.0 through 10.8.0, the physical values for the new element based boundary conditions are input through the file namelist.input. For releases 10.9.0 and later, the input should be placed in the file fun3d.nml.

Code released at 10.8.0 or later, a slight change in the boundary condition input format has been made. The patch number associated with a boundary condition now used to directly index the physical conditions. bc_count and bc_patch(n) are no longer used.

Please report any problems, inconsistencies, issues, etc. with the new boundary_conditions input to FUN3D Support.

 ! This file contains namelists used for specifying inputs to
 ! FUN3D. For this version (10.8), the following namelists apply (if a
 ! namelist is not present, its variables take on their default
 ! values):
 !    boundary_conditions
 !

 &boundary_conditions
    grid_units = 'meters'
                       ! options: meters, inches, millimeters
                       ! DEFAULT=meters
                       | Used in dimensional unit conversion
    massflow_dimensions = 'metric'
                       ! options: metric (kg/s), nondim (mesh units squared)
                       ! DEFAULT=metric
                       | Used in dimensional unit conversion
    total_pressure_ratio(n) = 1
                       ! Input for BC 7011 associated with bc patch number -n-
                       ! DEFAULT=1
    total_temperature_ratio(n) = 1
                       ! Input for BC 7011 associated with bc patch number -n-
                       ! DEFAULT=1
    subsonic_inflow_velocity = 'normal'
                       ! Direction of inflow velocities for BC 7011 
                       ! associated with bc patch number -n-
                       ! options: 'normal', 'alpha,beta'
                       ! DEFAULT='alpha,beta'
    pt_alpha = 0.0
                       ! Input for BC 7011 associated with bc patch number -n-
                       ! DEFAULT=0.0
    pt_beta  = 0.0
                       ! Input for BC 7011 associated with bc patch number -n-
                       ! DEFAULT=0.0
    static_pressure_ratio(n) = 1
                       ! Input for BC 7012, 5051 associated with bc patch number -n-
                       ! DEFAULT=1
    mach_bc(n) = 0
                       ! Input for BC 5025 patch number associated with bc patch number -n-
                       ! DEFAULT=0
    fixed_qp(n,5) = 0
                       ! Input for BC 7100, 7105 associated with bc patch number -n-
                       ! DEFAULT=(0.,0.,0.,0.,0.)
    massflow(n) = 0
                       ! Input for BC 7031, 7036 associated with bc patch number -n-
                       ! DEFAULT=0
    !
    !-------------------------------------------------------------
    !-------------------------------------------------------------
 /

Note that the above namelist file contains many input variables, but in general it is not necessary to list them all. One can instead rely on the fact that most of the defaults are often desired, and only those variables that are different from the defaults need to be given. The following might be an example of a typical namelist file for a calorically-perfect FUN3D run:

Sample Boundary Condition Namelists

Nozzle bc – BC 7011

This is an example of a mesh in inches, one total pressure-total temperature boundary condition associated with patch 3, with the inflow velocity set normal to the patch for a pressure ratio of 1.6 and a temperature ratio of 1.0.

&boundary_conditions
  grid_units='inches',
  total_pressure_ratio(3)=1.6,
  total_temperature_ratio(3)=1.0,
  subsonic_inflow_velocity='normal',
/

Inlet bc Example 1 – BC 7031

This is a sample for an inlet mesh in inches, one mass flow out of the control volume boundary associated with patch 1, with a mass flow rate of 0.25 in units of mesh units squared. The desired massflow in this example is ramped from 0 to the set condition of 0.25 over 500 iterations as set by flow_mflux_ramp.

&boundary_conditions
grid_units='inches',
massflow(1)=0.25,
massflow_dimensions='nondim',
inlet_solution_method='massflux',
/
&nozzle_parameters
flow_mflux_ramp=500,
/

Inlet bc Example 2 – BC 7012

This is a sample for an inlet mesh in inches, specified static pressure ratio of 0.9 associated with patch 5.

&boundary_conditions
grid_units='inches',
static_pressure_ratio(5)=0.9,
/

Fixed Inflow/Outflow – BC 7100/7105

Patch 8 is a fixed inflow or outflow boundary setting the normalized density to 1, the normalized velocities of u, v, and w to 0.5, 0.0, and 0.0 respectively and the presssure to 0.714.

&boundary_conditions
grid_units='inches',
fixed_qp(8,:)= 1.0, 0.5, 0.0, 0.0, 0.714,
/

Total Pressure Inflow/Static Pressure Outflow – BC 7011-7012

Patch 5 is a total pressure—total temperature boundary condition associated assuming alpha=0 and beta=0 with the total pressure ratio of 1.984 and a total temperature ratio of 1.201. The total pressure ratio is ramped from 1.0 to 1.984 over 100 iterations via the paramter inflow_pt_ramp. The second boundary condition patch is 6 and is a static pressure ratio and static temperature ratio boundary set to the conditions of 1.364 and 1.0 respectively.

&boundary_conditions
grid_units='inches',
total_pressure_ratio(5)=1.984,
total_temperature_ratio(5)=1.201,
static_pressure_ratio(6)=1.364,
/
&nozzle_parameters
inflow_pt_ramp=100,
/

Specified Mach Number – BC 5052

The Mach number of 0.5 is specified for patch 5 for a mesh dimensioned in meters.

&boundary_conditions
grid_units='meters',
bc_count=1,
bc_patch(1)=5,
mach_bc(5)=0.5,
/

Static Pressure for Flow Out of Control Volume – BC 5051

The static pressure ratio of 0.25 is specified for patch 2 for a mesh dimensioned in meters.

&boundary_conditions
grid_units='meters',
static_pressure_ratio(2)=0.25,
/