# 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 from the specified `absorption_coefficient`) we can sum the convective and radiative fluxes to get the total flux, () as:

(4.31)

Next we can define what percent of that goes to sensible heating (, clipped to lie between 0 and 1) using the user-defined `percent_sensible` (), boiling temperature (, from `evaporation_temperature`), and boil flash temperature difference (, from `boil_flash_temperature_difference`) as:

(4.32)

With the heat of vaporization of the fuel (, from `heat_of_evaporation`, ) we can then define the evaporation rate (, ) as

(4.33)

the time rate of change of the pool temperature () using the fuel density () fuel specific heat () and pool height () as

(4.34)

and the time rate of change of the pool height as

(4.35)

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 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.