Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Samith

Gradient Operator and Laplacian operators

This topic is 5305 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Ok, so far I understand that the gradient operator is basically just the derivative of a vector, like: del f(x, y, z) = delta(f)/delta(x)*i + delta(f)/delta(y)*j + delta(f)/delta(z)*k (sorry I don't know how to do the Greek symbols over the Internet) where i j and k are the unit vectors along the x y and z axises, respectively. Ok, so I think I've got that down, but now what are Laplacian operators? As I understand it, it's a gradient operator...dot producted with.... itself? That's what this place tells me, but I don't really understand it. How does it go from being a vector back to a scalar? Arh this is confusing! I could read the next 700 pages in my calculus book but I'd rather have someone explain it to me right now (if that's possible.) If anyone wonders what I want this for, it's because I want to know what the Navier-Stokes equations mean, but the most advanced calculus I really know is how to do a definite integral [edited by - Samith on May 7, 2004 12:05:17 AM]

Share this post


Link to post
Share on other sites
Advertisement
The gradient is not the derivative of a vector. Instead think of the gradient as an operator. The operator being defined as the vector d/dx i + d/dy j + d/dz k. (I''m showing complete derivatives only because I can''t enter the partial derivative symbol). Now take the dot product of that vector operator with itself to get the Laplacian operator, which by its very nature will result in a scalar operator since a vector dot product results in a scalar. So the Laplacian is simply d^2/dx^2 + d^2/dy^2 + d^2/dz^2. Applying that operator to say a function f(x,y,z) results in d^2f/dx^2+d^2f/dy^2+d^2f/dz^2. Again only showing complete derivative because I can''t enter the partial derivative symbol via the keyboard (well, I could, if I could select the Symbol font )

Share this post


Link to post
Share on other sites
(simplification)

Imagine a vector, whose coordinates aren't numbers but operations (a bit like function pointers). Something like:
    | f()
V = | g()
| h()

So that when you apply the usual vector operations, you actually combine those operations with another scalar or vector, replacing the usual vector component multiplication with a function (or operator) application. That is, where you would have f*x, you instead have f(x).

      | f(s)
V.s = | g(s)
      | h(s)

    | Ux
U = | Uy
    | Uz

      | g(Uz) - h(Uy)
V×U = | h(Ux) - f(Uz)
      | f(Uy) - g(Ux)

V.U = f(Ux)+g(Uy)+h(Uz)


Now, for the nabla (∇) vector operator, those 'functions' you apply are partial derivatives ∂
- assuming s and U are respectively scalar and vector functions of x, y, z:

    | /x
= | /y
    |
/z

Which yields:

                 | s/x
Gradient =
.s = | s/y
                 |
s/z

Divergence =
.U = Ux/x + Uy/y + Uz/z

             |
Uz/y - Uy/z
Curl =
×U = | Ux/z - Uz/x
             |
Uy/ - Ux/z

(though I may have gotten my cross products wrong).


“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”
— Brian W. Kernighan


[edited by - Fruny on May 8, 2004 3:28:48 AM]

Share this post


Link to post
Share on other sites
Note the symbol ∇ in your equation. Pretend instead of operating over f, you're multiplying. If that is true, what you you be multiplying by? A scalar (f is a scalar field) times a vector is a vector (like the RHS of your equation), so ∇ must be a vector, with:
∇ = ∂/∂x*i + ∂/∂y*j + ∂/∂z*k

Then, what happens if you take this definition of ∇ and dot product it with itself?
2 = ∂*∂/∂x2 + ∂*∂/∂y2 + ∂*∂/∂(z)2
= ∂2/∂2x + ∂2/∂2y + ∂2/∂2z

The first term is the 'product' of the two i components, the second the 'product' of the two j components, etc. as per the definition of the dot product. (the dot product of two vectors is a scalar, remember?)

What Mastaba says about the gradient is true. There are many derivatives of multivariate functions. In fact, there's one corresponding to each direction, called a directional derivative. It's kinda like if you take a cross section of the two variable function (which can be represented in three dimensions, two of which are the input values and the third of which is the output value). You can take a cross section of the function from any direction you want, use that as a function of one variable, and take its derivative, which gives you the directional derivative in the direction of the cross section.

You're going to have to read those 700 pages eventually, so you might as well do it now (not that that will be enough).

[edit]Thanks, Fruny

[edited by - Flarelocke on May 8, 2004 2:59:17 PM]

Share this post


Link to post
Share on other sites
You lazy bums

∇ → ∇
× → ×
⋅ → ⋅
∂ → ∂
(and → → →)

It's really not that difficult.
And to make nice indices and exponents:
U<sub><small>x</small><sub> → Ux
U<sup><small>x</small><sup> → Ux

Edit - Ok, I've found out that Internet Explorer is broken and doesn't support the standard entity codes... Ah, well.
Edit 2 - It's a font problem - should be fixed now. Fugly HTML though.


“Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”
— Brian W. Kernighan


[edited by - Fruny on May 8, 2004 3:09:06 AM]

[edited by - Fruny on May 8, 2004 3:30:06 AM]

Share this post


Link to post
Share on other sites
There's also a "meaning" behind most differential operators : a way for you to understand what they actually mean.

- Divergence : this one is the easiest of all. Imagine a small cubic volume of size dx*dy*dz, and imagine that A is a vectorial field that represents a flow. Then the divergence div A is the "amount of A" that gets out of the gube, minus the "amount of A" that enters the cube.

A real-life application of this is, for instance, for temperatures : jth is a vectorial field which represents the "flow of temperature". It means "this amount of temperature flows from here to there". Then, you can write the amount of temperature leaving a volume by "div jth". And the equation of conservation of energy becomes :

μ ∂T/∂t = W - div jth

(Variation of temperature = work received by the system, minus losses by thermal flow)

- Gradient : given a scalar field (a field made of numbers, not vectors), then at any given point, the gradient points towards the direction in which the field increases the most. If you plot your field (which is an f(x,y,z)), then on that plot, the gradient vector will always be pointing uphill.

A force is the opposite of the gradient of its potential energy (F = -grad EP), which means it tends to pull objects into areas where potential energy is smaller. The law of Fourier, which is again about heat flow, states that :

jth = - λ grad T

(The heat flows from areas of high temperature towards areas of low temperature).

- Laplacian

The laplacian of a scalar E is div grad F. How you imagine it is up to you now, because it depends on the situation, and on yourself. The way I like to do it is consider the plot of F I used for the gradient explanation, and pour something sticky (like honey or oil) on it. That liquid will follow the gradient in such a way that its flow will BE the gradient. Then, depending on the place, the amount of liquid will vary because of the divergence (its amount increases in some places, decreases in others ). The variation of the amount of liquid at a given position is the laplacian of the field the liquid is poured on.

I can only give you one more example, in the case of heat exchange :

μ ∂T/∂t = W - div jth
jth = - &lambda grad T

So by substituting jth :

μ ∂T/∂t = W + λ (div grad) T

In our case, the "liquid" being poured has an actual physical sense : it's heat. So basically, you get the sense of that equation :

(Total variation of temperature = Work + Variation due to the temperature differences).

I hope this helps.


EDIT : we lazy bums don't find that writing symbols is as easy as Fruny makes it sound.

Victor Nicollet, INT13 game programmer



[edited by - ToohrVyk on May 8, 2004 3:30:13 AM]

[edited by - ToohrVyk on May 8, 2004 3:31:10 AM]

Share this post


Link to post
Share on other sites
Non, il me reste l''X et les ENS (et le DEUG) avant les oraux. (A propos, les copies de physique PC des mines ont été volées : ils repasseront l''épreuve dimanche).

Share this post


Link to post
Share on other sites
Héhé. Je me souviens, je ne me suis pas réveillé le jours des écrits de math d'ENS. J'ai débarqué deux heures après le début de l'épreuve... Inutile de dire que j'ai pas eu la barre.

Des détails pour les mines?

[edited by - Fruny on May 8, 2004 3:41:25 AM]

Share this post


Link to post
Share on other sites
Perhaps the new forums (when they come out...) will support LaTeX... (wishful thinking!)

[edited by - NickB on May 8, 2004 5:50:01 AM]

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!