Well, this not an easy one, but I believe an estimated max. theoretical pressure inside the cylinder can be calculated, provided the following ideal conditions (and lots of assumptions):
- Assuming a complete reaction with no dissociation (no unburned porpane and no $C, H_2, CO, OH$, or free $O_2$.)
- Cylinder is adiabatic.
- Cylinder is rigid, no changes in dimensions due to pressure and temperature change.
- Combustion products are treated as an ideal gas.
- Kinetic and potential energies are negligible.
And since we're going to calculate changes in energy between initial and final state of out system:
$$ \Delta E_{sys} = \Delta E_{state} + \Delta E_{chemical}$$
we need to set a reference condition, the chosen reference state for this calculation is 25°C (298 K) and 1 atm.
The Reaction
$$C_3H_8 + 5O_2 \rightarrow 3CO_2 + 4H_2O + \text{Heat}$$
I chose to burn without nitrogen, since we're estimating the max. theoretical pressure, we would want to have an ideal oxidant.
First law analysis
$$\sum_{products} N_p (\bar{h_f^o} + \bar{h} - \bar{h^o} - R_uT)_p - \sum_{reactants} N_r (\bar{h_f^o} + \bar{h} - \bar{h^o} - R_uT)_r = 0$$
Since reactants are assumed to be at reference conditions, energy balance becomes:
$$\sum_{products} N_p (\bar{h_f^o} + \bar{h} - \bar{h^o} - R_uT)_p = \sum_{reactants} N_r (\bar{h_f^o})_r $$
where $\bar{h_f ^o}$ is enthaply of formation, $\bar{h}$ is the enthalpy, $R_u$ is the universal gas constant and $N$ is the number of moles. If you wonder why there is $R_uT$ in our equation, it's because we are solving for internal energy (our problem is at constant volume), so we are basically converting enthalpy to internal energy.
Now let's substitute with enthalpies and enthalpies of formation for both reactants and products (values are obtained from Wikipedia and python thermo
library).
RHS of the equation (reactants):
$$ \text{(1 mol of} \ C_3H_8 \text{)} [(−104600- 8.314*298) \ \text{J/mol} \ C_3H_8] + \text{(5 mol of} \ O_2 \text{)} [(0 - 8.314*298) \ \text{J/mol} \ O_2] = -119465.432
\ \text{Joules}$$
LHS of the equation (products):
$$ \text{(3 mol of} \ CO_2 \text{)} [(-393509 + \bar{h} - \bar{h^o} - 8.314*T) \ \text{J/mol} \ CO_2]+
\text{(4 mol of} \ H_2O \text{)} [(−241818 + \bar{h} - \bar{h^o} - 8.314*T) \ \text{J/mol} \ H_2O]$$
So, it seems that we now have two unknowns $\bar{h}$ and $T$, but they're basically one unknown, since enthalpy is a function of temperature.
Now, we need to solve for $T$ through trial and error.
You might've noticed by now that we're simply calculating the adiabatic flame temperature for propane but under constant volume.
Maximum Cylinder Pressure
We are going to solve the previous equation for $T$ that makes $\text{LHS} = \text{RHS}$ through a trial and error loop, with the pressure being corrected using ideal gas law:
$$ P = \frac{NR_uT}{V} $$
I wrote a python script to for the trial and error loop and to calculate the pressure at $T_{AFT}$ at constant volume. So, my estimation for the max. theoretical pressure of burning 1 mole of propane under our conditions and assumptions:
$$ P_{prod} = P_{react} (\frac{N_{prod}}{N_{react}})(\frac{T_{prod}}{T_{react}}) $$
$$ \boxed{P_{th} = 23.5 \ \text{bar}} $$
Please note that I may have messed up somewhere in my calculations, that's why I provided the full methodology for you to replicate it.
You also should keep in mind that we calculated a theoretical max. estimation of the internal pressure, but in real life situation you're going to have less efficient combustion, dissociated products, non-ideal oxidant. but it's always a good idea to know the theoretical limits of your problem.