4.10.4. Wall Mass Inject

A wall mass-inject boundary is a special kind of wall that allows specified or modeled mass injection. It is like a normal wall in terms of boundary layer treatment, with the addition of a mass injection model that adds mass at specified properties into the control volumes adjacent to the wall nodes.

begin wall mass inject boundary condition on surface surface_4
    mass flux = 0.1 # kg/m2/s
    wall_temperature = 300.
    injected temperature = 450.0
    mass_fraction N2 = 0.8
    mass_fraction O2 = 0.2
end

The wall mass inject boundary can operate in two modes:

  • Specified Mass Injection - The user specifies a mass flux, and optional injected temperature, and this is applied uniformly on the boundary. The specified mass flux can be a string function.

  • Pool Mass Injection - The user sets up a pool model, which models an evaporating pool of fuel. The evaporation model for the pool defines the mass injection rate and temperature as a function of heat flux to the wall.

The complete list of available commands for the wall mass inject boundary condition and the syntax for the different options can be found in Wall Mass Inject Boundary Condition On Surface.

4.10.4.1. Specified Injection

In this mode the user specifies a mass flux (mass per area per time) and optional injected temperature. If the injected temperature is omitted, the injected mass uses the specified wall temperature.

begin wall mass inject boundary condition on surface surface_4
    mass flux = 0.1 # kg/m2/s
    injected temperature = 450.0
    # ...
end

4.10.4.2. Pool Model

Note

Units listed below are in MKS for illustration, but should be in whatever unit system your problem is in.

Details about the pool model can be found in Fuel Boundary Condition Submodel. Setting up the pool model requires defining a number of pool parameters. These cannot be mixed with the specified injection commands.

begin wall mass inject boundary condition on surface surface_4
    pool initial_height = 0.05
    pool initial_temperature = 300.0
    pool ignition_time = 0
    pool evaporation_temperature = 400.0
    pool absorption_coefficient  = 1.0
    pool heat_of_evaporation = 1.0e5
    pool specific_heat = 500
    pool boil_flash_temperature_difference = 5
    pool percent_sensible = 1.0 # all sensible heating until boiling
    # ...
end

Given a total heat flux to the pool surface as (using the fuel absorption coefficient alpha from the specified absorption_coefficient) we can sum the convective and radiative fluxes to get the total flux, q'' (\rm{W} / \rm{m}^2) as:

(4.31)q'' = q_{conv}'' + q_{rad}'' = q_{conv}'' + \alpha \left( q_{irrad}'' - \sigma T_f^4 \right),

Next we can define what percent of that goes to sensible heating (f_s, clipped to lie between 0 and 1) using the user-defined percent_sensible (p_s), boiling temperature (T_b, from evaporation_temperature), and boil flash temperature difference (\Delta T_{bf}, from boil_flash_temperature_difference) as:

(4.32)f_s = \min \left( p_s, \frac{T_b - T_f}{\Delta T_{bf}} \right)

With the heat of vaporization of the fuel (h_{evap}, from heat_of_evaporation, \rm{J} / \rm{kg}) we can then define the evaporation rate (\dot{m}'', \rm{kg}/(\rm{m}^2\rm{s})) as

(4.33)\dot{m}'' = \frac{q'' (1 - f_s)}{h_{evap}},

the time rate of change of the pool temperature (T_f) using the fuel density (\rho_f) fuel specific heat (C_{p,f}) and pool height (H) as

(4.34)\frac{d T_f}{d t} = \frac{q'' f_s}{H \rho_f C_{p,f}},

and the time rate of change of the pool height as

(4.35)\frac{d H}{d t} = -\frac{\dot{m}''}{\rho_f}.

The pool height is reduced from the specified initial height until it reaches zero, at which point there is no more evaporation.

The percent_sensible parameter lets the user control how much of the incident flux goes into heating the pool vs evaporation. If it is set to 1, the pool will not evaporate until it is near the boiling temperature, at which point f_s will drop and evaporation will begin. If it is set to 0, the pool temperature will not increase and it will begin evaporating immediately.

Prior to the specified ignition_time, the pool evaporation model is inactive and the specified min_injection_mdot or mass flux is applied instead so that there can be some fuel added to the domain to artificially kick-start ignition.

Warning

The min_injection_mdot is a mass flow rate (kg/s) per integration point. This will be mesh dependent (refining the mesh and using the same value will change the mass injected before ignition time). Using mass flux is preferred over min_injection_mdot, but if both are supplied then min_injection_mdot is still used.