Nitrite (NO2-) from a curing brine diffuses into the meat and undergoes acid-catalyzed disproportionation, generating nitric oxide, which drives both the cured colour and the antimicrobial effect:
Fick diffusion + first-order decay (per voxel):
dC/dt = D grad^2 C - k_r C
Acid-catalyzed nitrous-acid disproportionation:
3 HNO2 -> HNO3 + 2 NO + H2O (k_r rises as pH falls)
Pigment formation (NO binds deoxymyoglobin):
Mb + NO -> MbNO (nitrosylmyoglobin, the pink cured colour)
pink(x) = 1 - exp( -dose(x) / D_pink ), dose = integral of k_r C dt
Antimicrobial inhibition (NO attacks Fe-S clusters /
thiol enzymes bacteria need for spore germination):
viability(x) = exp( -dose(x) / D_kill ), D_kill > D_pink
- Surface nitrite dose — the fixed NO2- concentration held at the top face of the slab, like meat sitting in a curing brine (Dirichlet boundary condition).
- pH — lower pH means more nitrite sits as protonated HNO2, which disproportionates faster into NO; curing brines are typically pH 5-6.
- Temperature — raises both the diffusion coefficient D and the reaction rate k_r (Q10 ≈ 2 for each), so warmer curing is faster but less controlled.
- D_kill > D_pink in the model on purpose: real cured meat reliably turns pink well before it has accumulated enough NO exposure to reliably suppress Clostridium botulinum spores — colour is not proof of safety, which is exactly why regulated minimum nitrite doses and cure times exist.
The grid uses an explicit finite-difference stencil with a stability-limited timestep (dt ≤ dx²/6D in 3D) sub-stepped every frame, so raising temperature or simulation speed automatically increases the number of physics substeps per rendered frame.