# Damage Levels
Damage levels define how FX-PML converts pressure and impulse into damage percentages. Assets can use the default damage level or be assigned a specific damage level.
## Add a Damage Level
1. Open the **Data** tab.
2. Right-click **Damages**.
3. Choose **Add Damage Level**.
4. Rename the damage level.
5. Edit its notes if needed.
## Damage Values
The **Damage Values** property opens a table of damage records. Each record contains:
![[Images/DamageCurves-PI.png]]
- **Pbar (psi)**: pressure intercept.
- **Ibar (psi-ms)**: impulse intercept.
- **a**: curve coefficient.
- **b**: curve coefficient.
- **Damage (%)**: damage percentage represented by the curve.
For pressure/impulse curves, FX-PML calculates the plotted pressure value from the impulse value with:
$
P = \frac{a \left(\frac{P_{bar}}{2} + \frac{I_{bar}}{2}\right)^b}{I - I_{bar} + 0.01} + P_{bar}
$
Where `I` is the impulse value on the x-axis and `P` is the pressure value on the y-axis.
Use **Add** and **Delete** to manage records. Use **Plot** to review the damage curves before solving.
![[Images/DamageCurves-PI-Plot.png]]
Some damage levels may use constant damage curves instead of pressure/impulse curve coefficients.
![[Images/DamageCurves-Constant.png]]
![[Images/DamageCurves-Constant-Plot.png]]
## Validation Expectations
Damage records are validated before FX-PML uses them for TNT range calculations. If a damage level fails validation, the TNT model skips range calculations for that damage level and writes a warning to the message log.
Each record must meet these numeric requirements:
- **Pbar**, **a**, and **b** must be zero or greater.
- **Ibar** must be greater than zero.
- **Damage (%)** must be between 0 and 100.
- Each damage percentage must be unique within the damage level.
- All values must be finite numbers. Blank, infinite, or not-a-number values are invalid.
- The generated curve must also contain only finite pressure and impulse values.
Records are sorted by **Damage (%)** before validation. After sorting, each higher-damage record must fit completely inside the previous lower-damage record. In practical terms, a higher damage percentage must require at least as severe a pressure/impulse condition as the lower damage percentage. Curves should not cross in a way that makes a higher-damage region extend outside a lower-damage region.
For example, a 60 percent damage curve must fit inside the 10 percent damage curve, and a 100 percent damage curve must fit inside the 60 percent damage curve. If FX-PML reports that one record "must fit inside" another, revise the higher-damage record so its threshold region is more restrictive, usually by increasing the relevant pressure, impulse, or curve shape values.
When using constant curves, the same nesting rule applies. A higher constant damage level should not start at a lower pressure or lower impulse threshold than the lower constant damage level.
## Assigning Damage Levels to Assets
Each asset has a **Damage Level** field. Leaving it as **Default** uses the default damage behavior. Selecting a named damage level uses that level for the asset.
If a damage level is deleted while assets still reference it, FX-PML warns that those assets will be reset to **Default**.