I've been asked a lot how do we make foam to pop and stand on top of the other liquid. Also how to make it dissolve as real beer or cola foam does after a while?
Here's your answer:
Density & Filter.
Make one domain with bigger density the other with lower one and filter them by collision.
This way once your puring of emitter hits any surface it will transfer to domain with less density. To make the foam dissolve add another filter and filter particles back to more dense domain by age. Use Particle Tooltip to define exact age you need and surface tention or viscosity to make foam more solid if needed. Also you can change viscosities of domains, so more dense one has more viscosity and less dense- less, this way you will enhance the overall effect. Lastly, you can add more noise and surface tention to make things go insane and have fun, or use it slightly for more stable and interesting results, not forgetting Drag force and it's sensitive, burt important value.
If you're in LearnWateryDesign Masterclass, go to RF10 section, there I have scene template prepared for you and all the explanation how to use it so you can simply change stuff in there and have great results. You can even use the script then from Cola case study and export even more random particles to make bubbles.
To make bubbles in render simply use spheres instead of points or add particle instancer spheres (even animated).
No matter what, share what you've got, share your tests in FB groups and have fun!