# Restricting Streamlines to a Surface

How can streamlines be restricted to a surface?

You can seed the target surface, and integrate streamlines for a new (modified) velocity field you have created using the Function Formula Specification Panel. For instance, if you have a plane (flat surface), let N=(N1,N2,N3) be the (constant) normal to the surface:

N = nrmlz (N1*UnitX + N2*UnitY + N3*UnitZ) where “nrmlz” makes sure this is a unit normal (length 1).

Let V be the velocity.

The velocity magnitude normal (perpendicular) to the surface is: V dot N

To get the velocity restricted to the surface, subtract the normal velocity from the velocity:
V – (V dot N) * N

If the surface is not flat, but you know the surface normal N, such as: nrmlz(grad(“pressure”)) for an iso-surface of pressure nrmlz(grad(“J”)) for a J computational surface then the above equation for velocity restricted to the surface is  approximately true, and may give a reasonable approximation to surface-restricted flow.

NOTE: For an X plane (for instance) we can use a simpler function to restrict streamlines  seeded on that plane with:

UnitY*VecY(“Velocity”) + UnitZ*VecZ(“Velocity”)

NOTE: If you have boundary surfaces, ..you can use the Vortex Cores and Surface Flow  Visualization panel to produce Surface Restricted flow on those surfaces.