Diffuse-interface method