Add the script to Simulation Flow (Ctrl/Cmd + F2) > FramesPost or StepsPost.
The script copies Dyverso particles from "DY_Doman01" to "DY_Domain02" when they are colliding with an object. In order to avoid instabilities, the original particles will be deleted. Both domains must have exactly the same "Resolution" and "Type" settings.
When both domains have different "Density" values it is possible to simulate foam-like effects. Use different colors for domains' particles to see the separation.
domainA = scene.get_DY_Domain("DY_Domain01") domainB = scene.get_DY_Domain("DY_Domain02") particles = domainA.getParticles() for particle in particles: if (particle.isColliding() == True): domainB.addParticle(particle.getPosition(), particle.getVelocity()) domainA.removeParticle(particle.getId())