BATTERY_GAS_VENTING_MODEL

Specifies a gas venting model.

Type

AcuSolve Command

Syntax

BATTERY_GAS_VENTING_MODEL("name") {parameters...}

Parameters

type (enumerated) [gas_release_file]
Type of venting model.
gas_release_file
Read venting mass flow rate and temperature from a file.
gas_reaction_model
Solve ODE for cell gas pressure and dynamic release of gases.
vent_gas_trigger_temperature (real) [=440.15]
Temperature of the cell when the vent value opens.
vent_gas_mass_flowrate_type (enumerated) [=none]
Type mass flow rate data.
none
No mass flow rate experimental data.
piecewise_linear or linear
Piecewise linear curve fit of mass flow rate experimental data.
cubic_spline or spline
Cubic spline curve fit of mass flow rate experimental data.
vent_gas_mass_flowrate_curve_fit_values (array) [={0,0}]
A two-column array of mass flow rate experimental data values. The independent variable must be time. Used with piecewise_linear and cubic_spline types.
vent_gas_mass_flowrate_curve_fit_variable (enumerated) [=time]
Independent variable of the curve fit of mass flow rate venting experimental data. Used with piecewise_linear and cubic_spline types.
time
time
vent_gas_temperature_type (enumerated) [=none]
Type of temperature venting data.
none
No temperature experimental data.
piecewise_linear or linear
Piecewise linear curve fit of gas temperature experimental data.
cubic_spline or spline
Cubic spline curve fit of gas temperature experimental data.
vent_gas_temperature_curve_fit_values (array) [={0,0}]
A two-column array of gas temperature experimental data values. The independent variable must be time. Used with piecewise_linear and cubic_spline types.
vent_gas_temperature_curve_fit_variable (enumerated) [=time]
Independent variable of the curve fit of temperature venting experimental data. Used with piecewise_linear and cubic_spline types.
time
time
vent_gas_mass_flowrate_type_2 (enumerated) [=none]
Type mass flow rate data for the second venting event during thermal runaway.
none
No mass flow rate experimental data.
piecewise_linear or linear
Piecewise linear curve fit of mass flow rate experimental data.
cubic_spline or spline
Cubic spline curve fit of mass flow rate experimental data.
vent_gas_mass_flowrate_curve_fit_values_2 (array) [={0,0}]
A two-column array of mass flow rate experimental data values for the second venting during thermal runaway. The independent variable must be time. Used with piecewise_linear and cubic_spline types.
vent_gas_mass_flowrate_curve_fit_variable_2 (enumerated) [=time]
Independent variable of the curve fit of mass flow rate venting experimental data for second venting during thermal runaway. Used with piecewise_linear and cubic_spline types.
time
time
vent_gas_second_trigger_temperature (real) [=500]
Temperature at which the battery vents again.
vent_trigger_type (enumerated) [=temperature]
Vent/burst disc opening method.
temperature
The vent opens when the vent_gas_trigger_temperature is reached.
pressure
The vent opens when the vent_opening_pressure is reached.
vent_opening_pressure (real) [=2E6]
Pressure at which the vent/burst disc opens.
headspace_volume (real) [=1.158E-6]
Volume of the headspace of the battery.
heat_capcity_ratio (real) [=1.4]
Ratio of specific heat for air.
discharge_coefficient (real) [=0.8]
Actual flow rate of a fluid through a constriction to the theoretical flow rate.
electrolyte_molar_mass (real) [=0.09008]
Molar mass of the electrolyte in kg/mol.
gas_mixture_molar_mass (real) [=0.03]
Molar mass of the gas mixture in the cell.
initial_gas_moles (real) [=4.33E-5]
Number of moles of gas present initially in the head space.
vent_area (real) [=9.8E-6]
Venting area of the cell.
vent_gas_mass_fraction_generated (real) [=0.2]
Mass fraction of generated gases in the gas mixture during venting.
vent_gas_mass_fraction_electrolyte (real) [=0.1]
Mass fraction of electrolyte in the gas mixture during venting.
mols_of_generated_gas (array) [={}]
An N stages array of gas generated in moles during each stage.
dmc_coefficients (array) [={6.4338,1413,44.25}]
Fitting coefficients for Antoine’s equation for the partial pressure of a dmc electrolyte vapor.
vent_gas_number_substeps (integer) [=5]
Sub-steps the time step size by dividing by this number when a vent is open.
include_vent_gas_mass_loss (boolean) [=no]
Boolean to enable/disable mass loss due to vented material. Mass loss is enabled when set to yes.

Description

The BATTERY_GAS_VENTING_MODEL is developed to simulate gas venting from a battery cell during thermal runaway events. Battery cells are equipped with safety mechanisms, such as pressure relief valves or burst discs, to release accumulated gases when internal pressure rises during thermal runaway.

The example below illustrates the input format for a three-cell prismatic geometry, each equipped with a vent located at the top of the cell.

First, the BATTERY_GAS_VENTING_MODEL is defined:
BATTERY_GAS_VENTING_MODEL("Venting_R1") {
    type = gas_release_file
    vent_gas_trigger_temperature = 440
    vent_gas_mass_flowrate_type = linear
    vent_gas_mass_flowrate_curve_fit_values = Read("ventMF.txt")
    vent_gas_temperature_type = linear
    vent_gas_temperature_curve_fit_values = Read("ventT.txt")
}

In this model, the venting mass flow rate and temperature as a function of time are read from an external file. The vent valve is designed to open when the temperature reaches 440 K.

The BATTERY_GAS_VENTING_MODEL is then referenced within the BATTERY_THERMAL_RUNAWAY_MODEL, as highlighted in bold below:
BATTERY_THERMAL_RUNAWAY_MODEL( "ThermalRunaway_4" ) {
        formulation_type = lumped
        ecm_model = no
        type = arc_reaction_model
     
        ...
    
        gas_venting_model = "Venting_R1"
}
Additionally, the volume associated with each cell in the module must be linked to the venting model. In this example, there are three cells, and to enable venting for each cell, a FEEDBACK condition is added with type = volume and control_type = venting.
FEEDBACK_CONDITION("fbk1") {
    type = volume
    volume = "Cell1"
    control_type = venting
}

FEEDBACK_CONDITION("fbk2") {
    type = volume
    volume = "Cell2"
    control_type = venting
}

FEEDBACK_CONDITION("fbk3") {
    type = volume
    volume = "Cell3"
    control_type = venting
}
Each of these FEEDBACK_CONDITION sections is referenced by a SIMPLE_BOUNDARY_CONDITION with type = inflow and inflow_type = mass_flux. The FEEDBACK_CONDITION reference is shown in bold.
SIMPLE_BOUNDARY_CONDITION(  "Vent3" ) {
        surface_sets = {"Vent3_Interface_Air_tet_tria3" }
        type = inflow
        inflow_typem = mass_flux
        feedback_condition = "fbk3"
}