Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

simple pde question..

1 view
Skip to first unread message

shevek

unread,
Sep 6, 2004, 11:27:41 PM9/6/04
to
For some reason I can't solve one of the simplest equations..
Is there a solution?

The equation:

B = curl(A)

Or in coordinate form:

B_i = e_ijk* d/dx_j ( A_k )
(3 dimensions OK for now, e_ijk is anti-symmetric unit tensor or
Levi-Civita tensor)

The problem is to solve for the vector field A given a vector field B.

I know that if A is a solution, so is A' = A + grad(f) where f is any
function of the coordinates. I also know that there is no solution if
div(B) != 0.

But how can I write some (any) solution A in terms of divergenceless
B?

Thanks in advance!

Robert Israel

unread,
Sep 7, 2004, 12:12:31 AM9/7/04
to
In article <c2ee115b.04090...@posting.google.com>,
shevek <she...@yahoo.com> wrote:

>B = curl(A)

>The problem is to solve for the vector field A given a vector field B.

>I know that if A is a solution, so is A' = A + grad(f) where f is any
>function of the coordinates. I also know that there is no solution if
>div(B) != 0.

>But how can I write some (any) solution A in terms of divergenceless
>B?

In other words, you want to construct a vector potential for the
solenoidal vector field B. In general, you can do this on a domain
D such that every closed surface in D is the boundary of a domain
contained in D (i.e. D has no "holes"). I suppose your domain is all
of R^3.

The trick is to choose gauge conditions to reduce the amount of
arbitrariness in the solution. One possible gauge condition is A_3 = 0.
Then you want

dA_2/dx_3 = -B_1
dA_1/dx_3 = B_2
dA_2/dx_1 - dA_1/dx_2 = B_3

The first and second conditions determine A_1 and A_2 up to functions
of x_1 and x_2, i.e.
A_1 = int B_2 dx_3 + a_1(x_1,x_2)
A_2 = -int B_1 dx_3 + a_2(x_1,x_2)

and then the third equation says

da_1/dx_1 - da_2/dx_2 = g(x_1,x_2)

for a certain function g (exercise: show that if div(B) = 0, this is a
function of x_1 and x_2 only). Now you could e.g. take a_2 = 0
and a_1 = int g(x_1,x_2) dx_1.

Robert Israel isr...@math.ubc.ca
Department of Mathematics http://www.math.ubc.ca/~israel
University of British Columbia
Vancouver, BC, Canada V6T 1Z2

David McAnally

unread,
Sep 7, 2004, 2:05:08 AM9/7/04
to
she...@yahoo.com (shevek) writes:

>The equation:

>B = curl(A)

>Or in coordinate form:

If B is defined on all of R^3, then one answer is:

A(r) = - \int_0^1 du u r x B(u r),

i.e.

A_x = \int_0^1 du [u z B_y(u x,u y,u z) - u y B_z(u x,u y,u z)],

A_y = \int_0^1 du [u x B_z(u x,u y,u z) - u z B_x(u x,u y,u z)],

A_z = \int_0^1 du [u y B_x(u x,u y,u z) - u x B_y(u x,u y,u z)].

David

-----

Bilge

unread,
Sep 7, 2004, 5:19:03 AM9/7/04
to
shevek:

It depends upon what you are given _explicitly_. One way, is to
take the curl of B = curl A to get J,

curl V = curl curl A = grad (div A) - \grad^2 A = (4pi/c) J

Use the gauge freedom to set div A = 0, then solve the three poisson
equations for the components of A,

-grad^2 A = (4pi/c) J

Another way is to exploit some symmetry and solve for the line
integral of A,

B = curl A => \integral B.dS = \integral (curl A).dS

Using the identity, \integral (curl A).dS = \integral A.dl, I get,

\integral A.dl = \integral B.dS

If you can write down A in a coordinate system that allows you to take
A outside the integral sign in order to evaluate the line integral
easily, then this will work.

Bruce Scott TOK

unread,
Sep 7, 2004, 7:21:42 AM9/7/04
to
shevek asked:

|> For some reason I can't solve one of the simplest equations..
|> Is there a solution?
|>
|> The equation:
|>
|> B = curl(A)

|> The problem is to solve for the vector field A given a vector field B.

|> I know that if A is a solution, so is A' = A + grad(f) where f is any
|> function of the coordinates. I also know that there is no solution if
|> div(B) != 0.
|>
|> But how can I write some (any) solution A in terms of divergenceless
|> B?

If you're willing to buy a divergenceless A, then you can do one further
curl operation, leaving

- Laplacian A = J = curl B

Then you solve this elliptic equation given the appropriate boundary
conditions.

--
cu,
Bruce

drift wave turbulence: http://www.rzg.mpg.de/~bds/

David Ziskind

unread,
Sep 7, 2004, 7:10:17 PM9/7/04
to
shevek <she...@yahoo.com> in article
<c2ee115b.04090...@posting.google.com> posed the question:
Given div(B)=0, how can one solve the equation curl(A)=B?

In addition to the answers prior posted, here is another direct
approach.

Let antigrad be an R^3 into R^3 mapping defined by:

(antigrad_1(G))x = Int{y3=0 to x_3: G_2(x_1,x_2,y3)}
- Int{y2=0 to x_2: G_3(x_1, y2, 0)}

(antigrad_2(G))x = - Int{y3=0 to x_3: G_1(x_1,x_2,y3)}

(antigrad_3(G))x = 0

Hint: These formulae will look better if manually rewritten, with y3
changed to x_3 bar, etc.

------------------------------------

We now have the following result:

If div(B)=0 then
[A=anticurl(B) is a solution of: curl(A)=B]

Alternatively;
If div(B)=0 then
curl(anticurl(B))=B

Notes:
1) The term “anticurl” is meant to be suggestive rather than literal --
it indicates that under a special condition (but not universally), the
anticurl is the right inverse of the curl.
2) The proof of the above given result follows from direct computation
of curl(anticurl(B)).

David Ziskind
zis...@ntplx.net

David Ziskind

unread,
Sep 7, 2004, 7:40:04 PM9/7/04
to
shevek <she...@yahoo.com> in article
<c2ee115b.04090...@posting.google.com> posed the question:
Given div(B)=0, how can one solve the equation curl(A)=B?

Sorry, there is a mis-writing in my first reply: the four instances of
“antigrad” SHOULD BE “anticurl”. Please disregard my first reply,
thanks. Here is the reply text rewritten in full:

In addition to the answers prior posted, here is another direct
approach.

Let anticurl be an R^3 into R^3 mapping defined by:

(anticurl_1(G))x = Int{y3=0 to x_3: G_2(x_1,x_2,y3)}

- Int{y2=0 to x_2: G_3(x_1, y2, 0)}

(anticurl_2(G))x = - Int{y3=0 to x_3: G_1(x_1,x_2,y3)}

(anticurl_3(G))x = 0

shevek

unread,
Sep 8, 2004, 11:07:20 AM9/8/04
to
"David Ziskind" <zis...@ntplx.net> wrote in message news:<01c49533$953ba000$4c214b41@default>...

> shevek <she...@yahoo.com> in article
> <c2ee115b.04090...@posting.google.com> posed the question:
> Given div(B)=0, how can one solve the equation curl(A)=B?
>
> Sorry, there is a mis-writing in my first reply: the four instances of
> ?antigrad? SHOULD BE ?anticurl?. Please disregard my first reply,

> thanks. Here is the reply text rewritten in full:
>
> In addition to the answers prior posted, here is another direct
> approach.
>
> Let anticurl be an R^3 into R^3 mapping defined by:
>
> (anticurl_1(G))x = Int{y3=0 to x_3: G_2(x_1,x_2,y3)}
> - Int{y2=0 to x_2: G_3(x_1, y2, 0)}
>
> (anticurl_2(G))x = - Int{y3=0 to x_3: G_1(x_1,x_2,y3)}
>
> (anticurl_3(G))x = 0
>
> Hint: These formulae will look better if manually rewritten, with y3
> changed to x_3 bar, etc.
>
> ------------------------------------
>
> We now have the following result:
>
> If div(B)=0 then
> [A=anticurl(B) is a solution of: curl(A)=B]
>
> Alternatively;
> If div(B)=0 then
> curl(anticurl(B))=B
>
> Notes:
> 1) The term ?anticurl? is meant to be suggestive rather than literal --

> it indicates that under a special condition (but not universally), the
> anticurl is the right inverse of the curl.
> 2) The proof of the above given result follows from direct computation
> of curl(anticurl(B)).
>

Thanks all for your useful responses!

I was indeed after an "anticurl" operator, and a few of you gave me
specific solutions, as well as good general considerations to make
life easier including defining a "current" (doesn't have to be
electric) and using symmetry.

I should tell you my application. It is fluid mechanics.. I have
been looking at the vorticity equation. If I come up with a solution
for the vorticity of a fluid.. i.e. I know curl(v) (v = bulk fluid
velocity).. then I was having trouble finding what the velocity is,
and still more particularly what the divergence of the velocity is.

Clearly (now) I need to include some boundary conditions on the flow
to uniquely determine the velocity from the vorticity.. and the
velocity may not have a closed form.

Thanks again -

0 new messages