merlin74

10-18-2006, 07:33 AM

It seems several people are interested in fluid simulation using level set methods, as described in a series of papers by Fedkiw et al. Well, I am one of them.

Basically, I am following "Practical Animation of Liquids" by Foster and Fedkiw. I have only achived the first stage, setting up the grids, placing particles in some grid cells, obtaining the implicit function phi(x) based on the expression from the paper (phi(x)=phi_p(x)=distance(x,p)-r, where p is the closest particle to x) , a fast marching procedure to make phi(x) signed distance, and a reinitialization procedure to smooth phi(x).

Before proceeding to the next stage, I want to make sure what I have done is right.

There several things I am not quite sure.

1. If we follow the paper strictly, the initial implicit function phi(x) defined on all particles are going to be all positive except near the interface where phi(x) is small but with both positive and negative signs. The paper didn't mention what r (radius of particels) should be, but I assume it is within a grid cell size. So the phi_p(x) is going to be always positive

if x is farther way from p beyond r.

my question is: Shouldn't phi(x) be negative when x is in the liquid volume and positive when it is outside the volume? But I don't see the paper mentioning distinguishing the point inside and outside the liquid when defining the implicit function.

So I did it myself, by multiplying -1 to phi(x) when x is inside the liquid. Am I doing it right here? Or fast marching methods could make phi(x) have correct sign according to the position of x? However, both Fedkiw and Sethian's books talk about doing fast marching on positive and negative grid points seperately, which means phi(x) already has its sign correct based on where x is.

2. The paper said doing a few relaxation steps using Equation(5.1) will smooth phi(x).

However, I couldn't find what the time step going to be when solving Equation(5.1) using Runge-Kutta methods. Anyone has an idea about this?

Thanks,

Merlin

Basically, I am following "Practical Animation of Liquids" by Foster and Fedkiw. I have only achived the first stage, setting up the grids, placing particles in some grid cells, obtaining the implicit function phi(x) based on the expression from the paper (phi(x)=phi_p(x)=distance(x,p)-r, where p is the closest particle to x) , a fast marching procedure to make phi(x) signed distance, and a reinitialization procedure to smooth phi(x).

Before proceeding to the next stage, I want to make sure what I have done is right.

There several things I am not quite sure.

1. If we follow the paper strictly, the initial implicit function phi(x) defined on all particles are going to be all positive except near the interface where phi(x) is small but with both positive and negative signs. The paper didn't mention what r (radius of particels) should be, but I assume it is within a grid cell size. So the phi_p(x) is going to be always positive

if x is farther way from p beyond r.

my question is: Shouldn't phi(x) be negative when x is in the liquid volume and positive when it is outside the volume? But I don't see the paper mentioning distinguishing the point inside and outside the liquid when defining the implicit function.

So I did it myself, by multiplying -1 to phi(x) when x is inside the liquid. Am I doing it right here? Or fast marching methods could make phi(x) have correct sign according to the position of x? However, both Fedkiw and Sethian's books talk about doing fast marching on positive and negative grid points seperately, which means phi(x) already has its sign correct based on where x is.

2. The paper said doing a few relaxation steps using Equation(5.1) will smooth phi(x).

However, I couldn't find what the time step going to be when solving Equation(5.1) using Runge-Kutta methods. Anyone has an idea about this?

Thanks,

Merlin