Cell interpolation (Finite Volume Method)
2025-08-06
I wanted to share a mistake I discovered in my adsorption simulator while writing some new tests. In the Finite Volume Method, variables are stored at the centre of each cell. To calculate the values at the cell face, I use a simple linear interpolation as shown in the image below:
Sounds simple enough. However, this is not the correct interpolation for all variables. My solver updates the values for pressure and temperature. However, the molar concentration, , is calculated explicitly via the ideal gas law:
My mistake was calculating the face molar concentration using the interpolation of molar concentration:
We can prove this is not correct by first defining the cell face values for pressure and temperature:
Therefore:
Now, if we define:
And substitute into the following:
Comparing the two equations I've just derived, I realised my mistake:
So instead, I needed to calculate my cell face molar concentration by explicitly updating them at each cell face:
This is the case for any non-linear equation that is updated explicitly.