I have a scene where I am using a fluid simulation to splash water into an invisible diamond shape. I'm using a boolean modifier to remove (subtract) the jagged edges from the outside of the water. However, the modifier only works on some frames. On others, it causes most of the water to be completely flattened into a diamond shape, effectively deleting the surface of the water where it should not be touched by the modifier.
Here is the .blend file, for reference:
I have made sure that the normals of the mesh I am subtracting are correct. I have also tried applying the fluidsim modifier on the frame I want, removing doubles and making normals consistent with ctrl+N, but the result is the same.
What is causing the boolean difference modifier to behave like this? Is there anything I can do in my project to fix it?