NUMBER1
the correct way to noise up a level set is:
LS += noise( CPT )
where CPT is the closest point transform:
CPT = P - LS * grad
Gradient Pass which is more or less a normal pass for volume
To render a gradient pass
-convert your colume to VDB volume
-Append a VDB Analysis sop
-Set it to analyse the gradient and give it a custom name "Cd"
-It will produce a VDB vector volume called Cd which is the gradient of the volume
-Convert it back to a houdini volume and merge it back with the original density volume
-now we can visualize the Gradient using volume vizualization sop (put density in density field and Cd.* in Diffuse field)
-we can render this using a constant smoke shader and use this a normal pass
-before rendering it we will need to invert the direction of the gradient vector in the shader.
Fix From Odforce (Thanks Old School Jeff!) - http://forums.odforce.net/topic/15548-billowy-smoke-fast-initial-velocity-dots/
The fix is to insert a Trail SOP immediately after the POP Network SOP and set both it's Trail Length and Cache Size to be the same as the Fluid Source "Frames To Blur" parameter. I used a channel reference and it works fine. I then cranked the Frames to Blur up to 4 and the number of samples in-between to 10 and it fills in the gaps nicely.
convert polygon to surface VDB using VDB from polygon , set its name to "collision"
Add velocity field in and name it "collisionvel"
Inside dops add source volume set it to collision preset and set its density to -1
Put a bound node to get the bounds and have these expressions in size and centriod of the smoke object
bbox("../../IN_BOUND",D_XSIZE)
centroid("../../IN_BOUND",D_X)