For a course on medical visualization, we were required to implement something related to this subject. Me and two other people decided to work on fluid simulation inside a vein in the human body.
The simulation is executed in several steps. First the vein main structure is generated. This is equivalent to where the vein splits and how thick it is. Then this structure is converted to a voxel grid, with for each voxel whether it is inside or outside the vein.
Next, the fluid similation is initiated. The simulation is calculated as a velocity field, with for each position in a 3D grid the velocity and direction of the fluid at that position. Simulation is based on a technique proposed by Jos Stam in his paper called "Stable Fluids". Users can go into edit mode and add or remove to- and from the vein. The simulation is then adjusted to this change.