Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Transform differential equation by tranformation rule

  • To: mathgroup at smc.vnet.net
  • Subject: [mg111101] Re: Transform differential equation by tranformation rule
  • From: Maxim <m.r at inbox.ru>
  • Date: Tue, 20 Jul 2010 03:44:14 -0400 (EDT)
  • References: <i1s6t2$a0a$1@smc.vnet.net>

On Jul 17, 7:15 am, TrinhDao <hackerdarkr... at yahoo.com> wrote:
> Dear Mathematica users,
>
> I want to transform one different equation (variable r,z) to another
> different equation (variable x,y).
>
> The origin equation is :
> equation = Derivative[0, 2][u][r, z] +  Derivative[1, 0][u][r, z]/r +
> Derivative[2, 0][u][r, z] == 0
>
> The transform rule is :
>
> r = Cos[x]Sinh[y]
> z = Sin[x] Cosh[y]
>
> ============
>
> Now, my task is simple, apply this transform to differential equation.
> I do like this :
>
> transformRule = {r[x][y]-> Cos[x]Sinh[y], z[x][y]-> Sin[x] Cosh[y]}
> dtrules=Join @@ ({#,D[#,t],D[#,{t,2}]} & /@ transformRule)
>
> But it seems that something is wrong...
>
> =========
>
> And the analytical result is :
>
> anaSolution = 1 / (Sin^2[x] + Sinh^2[y] ) * ( Derivative[2, 0][u][x,y]
> +  -Tan[x]*Derivative[1, 0][u][x, y]  +  Derivative[0, 2][u][x, y] =
+
> Tanh[y]*Derivative[0, 1][u][x, y] )
>
> ==========
>
> Can someone do this ? It seems simple but infact, when i touch it, it
> made the complex result. So what i want is how to obtain the
> anaSolution.
>
> Waiting for ur help...

Here's a kind of a brute force way to do the change of variables:

cov = Solve[
  D[U[x, y], ##] == D[u[r, z], ##, NonConstants -> {r, z}]& @@@
   {{}, {x}, {y}, {x, x}, {x, y}, {y, y}},
  D[u[r, z], ##] & @@@ {{}, {r}, {z}, {r, r}, {r, z}, {z, z}}];

Derivative[0, 2][u][r, z] + Derivative[1, 0][u][r, z]/r +
     Derivative[2, 0][u][r, z] /.
    cov[[1]] /. {r -> Cos[x] Sinh[y], z -> Sin[x] Cosh[y]} /.
  (NonConstants -> _) -> Sequence[] // Simplify

Out[2]= 2 (Coth[y] Derivative[0, 1][U][x, y] + Derivative[0, 2][U][x,
y] - Tan[x] Derivative[1, 0][U][x, y] + Derivative[2, 0][U][x, y])/
(Cos[2 x] + Cosh[2 y])

It differs from your transformed equation in the coefficient before Uy
(Coth instead of Tanh). You might have mixed up Sinh and Cosh in your
replacement rules for r and z.

Maxim Rytin
m.r at inbox.ru


  • Prev by Date: Re: Kolmogorov-Smirnov 2-sample test
  • Next by Date: Re: Kolmogorov-Smirnov 2-sample test
  • Previous by thread: Re: Transform differential equation by tranformation rule
  • Next by thread: How to parametrize a block of commands?