Cross Product in Vorticity Confinement
When Vorticity confinement force is described, it's always written as follows:
http://http.developer.nvidia.com/GPU...s/663equ01.jpg with: http://http.developer.nvidia.com/GPU...s/662equ02.jpg http://http.developer.nvidia.com/GPU...s/662equ01.jpg ( Source: http://http.developer.nvidia.com/GPUGems/gpugems_ch38.html#ch38equ20 ) In the 2D case: how can i compute the cross product (ψ x w) ? Isn't ψ a vector (the gradient of a scalar field) and w a scalar (the vorticity in the 2D case is a scalar)? And isn't the cross product of a vector and a scalar undefined? When searchin in google for "Cross product of a scalar" the only site, that doesn't say ".. and a vector is not defined" is the following: http://eprints.nottingham.ac.uk/912/1/papersubmitted.pdf which says "(...) the cross product of a scalar and a vector is a × b = (−a*b_2, a*b_1)." I think that's also the way that nvidea implemented vorticity confinement in its example code. Can anybody explain this to me? is it really a cross product of a scalar and a vector? And why do 99% of the sites say this is impossible? 
Vorticity in 2D is not a scalar, it is a vector with one nonzero component directed out of the plane. So all vector operations are applicable.

OK, thank you, that would solve the syntactical problem :).
but isn't vorticity defined as http://http.developer.nvidia.com/GPU...inks/U2207.GIF x wor as wikipedia says: http://upload.wikimedia.org/math/1/3...1618011b36.png? Or is the definition altered for 2D? How does the vector exactly look like, that should i use then in the cross product? 
Thats correct. There is only one component of vorticity as you have written. It points in the z direction.

I got it :)
Ah, so you do a 3DCrossProduct, even though your simulation is in 2D.
Thank you very much for your help :) 
Quote:

Minus sign confusion
Hi,
I'm implementing Jos Stam's Stable Fluids method and I would like to add vorticity confinement to create a more detailed flow. http://http.developer.nvidia.com/GPU...s/663equ01.jpg My implementation is in 2D and I have a simple problem with the very last step: psi = [ psi_x, psi_y, 0] w = [ 0, 0, vort_z ] With the cross product: f_vc_x = dx * e * psi_y * vort_z f_vc_y = dx * e * psi_x * vort_z My headache is that I've found in other source codes that my minus sign could be wrong (minus goes to the f_vc_x component instead of the y part). It's a simple cross product, but really can't figure out what is wrong. Am I missing something fundamental? Thanks! PS: hopefully, it's ok to post my question here since my problem is quite related. 
All times are GMT 4. The time now is 05:31. 