Gradient question for fluid simulation

AI Thread Summary
To derive a gradient vector from the given kernel function for fluid simulation, it's essential to clarify the coordinate system used. The discussion indicates that the calculations are in Cartesian coordinates, where 'r' represents the distance from the origin to a point (x, y). The proposed approach involves substituting 'r' with the Euclidean distance formula, sqrt(x^2 + y^2), to compute the gradient components. This method aims to express the gradient in terms of changes in x and y relative to the function's output. The conversation emphasizes understanding the relationship between scalar and vector quantities in the context of fluid dynamics.
johnnyk427
Messages
2
Reaction score
0
Simple gradient question.. I have a kernel function that determines the influence of each water droplet given a radius r:

(10/pi*h^5)*(h-r)^3

The gradient of that is:
(-30/pi*h^5)*(h-r)^2

But 'r' is not a vector, its a scalar, its just the distance to the point in question. So how do I get a gradient vector out of that equation? Maybe I want to replace 'r' with the x distance and use that to determine the 'x' component of the gradient, and same for 'y'? But that doesn't seem right..

(yes, i know this is a newb question, thanks for any help! It's not homework just a project I'm working on for fun.)
-John
 
Physics news on Phys.org
johnnyk427 said:
Simple gradient question.. I have a kernel function that determines the influence of each water droplet given a radius r:

(10/pi*h^5)*(h-r)^3

The gradient of that is:
(-30/pi*h^5)*(h-r)^2

But 'r' is not a vector, its a scalar, its just the distance to the point in question. So how do I get a gradient vector out of that equation? Maybe I want to replace 'r' with the x distance and use that to determine the 'x' component of the gradient, and same for 'y'? But that doesn't seem right..

(yes, i know this is a newb question, thanks for any help! It's not homework just a project I'm working on for fun.)
-John

Welcome to Physics Forums!

It depends what you mean by "r" here. What coordinate system are you using? Are you in spherical coordinates? Then you simply have to look up the gradient in spherical coordinates
\vec{\nabla} V = \frac{\partial V}{\partial r} \hat{r} + \frac{1}{r} \frac{\partial V}{\partial \theta} \hat{\theta} + \frac{1}{r sin \theta} \frac{\partial V}{\partial \phi} \hat{\phi}
 
Welcome to Physics Forums!

Thanks :)

It depends what you mean by "r" here. What coordinate system are you using? Are you in spherical coordinates? Then you simply have to look up the gradient in spherical coordinates

It's actually in Cartesian coordinates, x and y (it's 2d, not 3d). When I calculate this function, I first compute the distance from 0,0 to x,y, and assign that to 'r'. 'h' is a constant (representing the size of the kernel I'm applying).

So maybe I want something like:

(gradient f) = { (change in x)/(change in f), (change in y)/(change in f) }

And then restructure my equation, substituting '(sqrt(x^2 + y^2))' for r... Does that sound right?
 
Back
Top