Hi Frank,
The model you describe can easily be modified to work with additional physical effects. For instance, we can easily add a linear capillary pressure between the oil-water phases before the call to TwoPhaseOilWaterModel:
fluid.pcOW = @(Sw) -Sw*10*barsa;
The initialization etc will then account for capillary equilibrium:
The same goes for b-factors (proportional to density) - you can easily specify a function and the AD solvers will figure it out. I think there's more on this in the free MRST book. You can also have a look at the example
blockAssemblyBigModelExample.m from ad-core, which sets up a generic three-phase model with compressibility. The setup is mostly based on this example and the upscalingExample3 from the book module, and the focus of the comments etc is not on setting up the
simulation case, but the setup is complete.
Best regards,
Olav