Hello,
There is no specific subroutines for porosity, the trick is that a mask is defined for every element and the integral of all terms computed at element level are multiplied by the mask, and the mask is the porosity. So the treatment of porosity will be triggered only by the fact that the logical MASK will be set to true and that the value of MASKEL will contain the porosity or a function of porosity.
With best regards,
Jean-Michel Hervouet