emrantohidi

15 Reputation

2 Badges

11 years, 92 days

MaplePrimes Activity


These are replies submitted by emrantohidi

@tomleslie 

Dear TomLeslie

Thanks for your attention.

My problem has been solved.

The problem is not sigular.

I just edit my formulae from the mentioned paper:

In definition of BB[n,i] instead of xx[jjj] we should replace xx[i] as follow:

Please run the code and enjoy from the solution.

 

Again thanks for your help and support.

 

With kind regards,

Emran Tohidi.

@Carl Love 

Dear Carl Love

 

My Maple code is attached.

 

Thanks for your help.

@Carl Love I want to compute its laplace inverse with respect to the variable y

It can be done?

@Preben Alsholm 

Dear Alshom

Why no output was not derived from analytical solution of this 3dim pde with the exact solution u=exp(x+y+z+3*t)

> restart;
> with(plots);
print(??); # input placeholder
> with(PDEtools);
print(??); # input placeholder
> declare(u(x, y, z, t));
> PDE1 := diff(u(x, y, z, t), t)-(diff(u(x, y, z, t), `$`(x, 2)))-(diff(u(x, y, z, t), `$`(y, 2)))-(diff(u(x, y, z, t), `$`(z, 2))) = 0;
print(??); # input placeholder
> IC := {u(x, y, z, 0) = exp(x+y+z)}; BC := {u(0, y, z, t) = exp(3*t+y+z), u(1, y, z, t) = exp(3*t+y+z+1), u(x, 0, z, t) = e*exp(3*t+x+z), u(x, 1, z, t) = exp(3*t+x+z+1), u(x, y, 0, t) = exp(3*t+x+y), u(x, y, 1, t) = exp(3*t+y+x+1)};
print(??); # input placeholder
> Sol := pdsolve(`union`(`union`({PDE1}, IC), BC));


@Preben Alsholm 

Dear Alshom

In real world applications, there are some nonlinear two dimensional heat equations with no analytical solutions.

In these cases, how can I solve such these PDEs?

Thanks.

@emrantohidi 

Dear Maple users

 

I have a question about applying pdsolve MAPLE for solving two dimensional heat equations:

My codes have been provided but it shows to me this error:

Error, (in pdsolve/numeric/process_PDEs) can only numerically solve PDE with two independent variables, got {t, x, y}

If kindly is possible, please help me in this case.

 

With kind regards,

Emran Tohidi.

 

> restart;
> with(plots);
print(??); # input placeholder
> with(PDEtools);
print(??); # input placeholder
> declare(u(x, y, t));
print(`output redirected...`); # input placeholder
                    u(x, y, t) will now be displayed as u
> S := 1/100; tR := 0 .. 1; xR := 0 .. 1; yR := 0 .. 1; NF := 30; NP := 100;
print(??); # input placeholder
> N := 3; L1 := [red, blue, green]; L2 := [0, 1/2, 1]; Ops := spacestep = S, timestep = S;
print(??); # input placeholder
> Op1 := frames = NF, numpoints = NP;
print(??); # input placeholder
> PDE1 := diff(u(x, y, t), t)-(diff(u(x, y, t), `$`(x, 2)))-(diff(u(x, y, t), `$`(y, 2))) = 0;
print(??); # input placeholder
> IC := {u(x, y, 0) = exp(x+y)}; BC := {u(0, y, t) = exp(2*t+y), u(1, y, t) = exp(2*t+y+1), u(x, 0, t) = exp(2*t+x), u(x, 1, t) = exp(2*t+x+1)};
print(??); # input placeholder
> Sol := pdsolve(PDE1, `union`(IC, BC), numeric, u(x, t), Ops);
Error, (in pdsolve/numeric/process_PDEs) can only numerically solve PDE with two independent variables, got {t, x, y}

@Preben Alsholm 

Dear Alshom

Thanks for your comments: Ok I will post a comment as soon as possible.

Please tell me the answer of this equation:

Can Maple solve NONLINEAr two or three dimentional HEAT equations?

If yes please give me some hints.

Again many thanks for your fast reply.

@Carl Love 

Dear Carl Love

 

My attempts go back to three month ago.

But I do not reached to any positive result.

I have used fsolve command in the following codes: But fsolve does not work!

Please use fsolve instead of DirectSearch, and if you have any suggestion in using fsolve please tell me.

 

Moreover, I have used Directsearch, but after solving the system of nonlinear equations, the error does not tends to zero!

 

please introdue a fast algebraic solver in maple.

I have used maple 13, if any reqirement package is neede to be downloaded please help me.

I think the DirectSearch is very slow and can not be applicale in solving (nonlinear algebraic systems that arise from) nonlinear PDEs.

With kind regards,

Emran Tohidi.

> restart;
> with(orthopoly);
print(`output redirected...`); # input placeholder
                             [G, H, L, P, T, U]
> N := 6; f := proc (x, t) options operator, arrow; x*exp(t)-exp(2*t) end proc;
print(`output redirected...`); # input placeholder
(x, t) -> x exp(t) - exp(2 t)
> Digits := 20;
print(`output redirected...`); # input placeholder
> for i from 0 to N do xx[i] := cos(i*Pi/N); tt[i] := cos(i*Pi/N); c[i] := 1 end do;
print(`output redirected...`); # input placeholder
> c[0] := 2; c[N] := 2;
> d[0, 0] := (2*N^2+1)*(1/6); d[N, N] := -(2*N^2+1)*(1/6);
> for k to N-1 do for j to N-1 do if k = j then d[k, j] := -tt[k]/(2*(1-tt[k]^2)) else d[k, j] := c[k]*(-1)^(j+k)/(c[j]*(tt[k]-tt[j])) end if end do end do;
%;
> for j to N do d[0, j] := c[0]*(-1)^j/(c[j]*(tt[0]-tt[j])); d[N, j-1] := c[N]*(-1)^(j-1+N)/(c[j-1]*(tt[N]-tt[j-1])) end do;
print(`output redirected...`); # input placeholder
> for k to N-1 do d[k, 0] := c[k]*(-1)^k/(c[0]*(tt[k]-tt[0])); d[k, N] := c[k]*(-1)^(N+k)/(c[N]*(tt[k]-tt[N])) end do;
print(`output redirected...`); # input placeholder
> ff := proc (i, j) options operator, arrow; d[i-1, j-1] end proc;
print(`output redirected...`); # input placeholder
> A := matrix(4, 4, ff);
print(`output redirected...`); # input placeholder
> for m from 0 to N do phi[m] := (-1)^(m+1)*(1-x^2)*(diff(T(N, x), `$`(x, 1)))/(N^2*c[m]*(x-xx[m])); phi[m] := unapply(phi[m], x) end do;
print(`output redirected...`); # input placeholder
> for j from 0 to N-1 do a[0, j] := exp(tt[j]); a[N, j] := -exp(tt[j]) end do;
print(`output redirected...`); # input placeholder
> for i from 0 to N do a[i, N] := xx[i]*exp(-1) end do;
print(`output redirected...`); # input placeholder
> S2 := {seq(seq(simplify(evalf(sum(a[ii, nn]*d[jj, nn], nn = 0 .. N)-(1+a[ii, jj])*(sum(a[mm, jj]*d[ii, mm]^2, mm = 0 .. N))-(sum(a[mm, jj]*d[ii, mm], mm = 0 .. N))^2-f(xx[ii], tt[jj]))) = 0, ii = 1 .. N-1), jj = 0 .. N-1)};
print(`output redirected...`); # input placeholder
> sol := DirectSearch:-SolveEquations([op(S2)], evaluationlimit = 3*10^4);
print(??); # input placeholder
> assign(sol[3]);
> u := evalf(sum(sum(a[pp, qq]*phi[pp](x)*phi[qq](t), pp = 0 .. N), qq = 0 .. N)); u := unapply(u, x, t);
print(??); # input placeholder
> plot3d(u(x, t)-x*exp(t), x = -1 .. 1, t = -1 .. 1, axes = boxed);

@Preben Alsholm 

Dear Alsholm

I have a concern for solving nonlinear parabolic PDEs from two month ago.

If kindly is possible, please give me a guidance in maple or matlab for solving nonlinear heat equations in the form

http://www.sciencedirect.com/science/article/pii/S1018364713000025

I apply Chebyshev PS method for both space and time variables, but high CPU time is needed.

Or maybe it comes from being amatur in my MAPLE.

Please help me in this special case.

 

Thanks.

@Preben Alsholm 

Dear Alsholm

I have a concern for solving nonlinear parabolic PDEs from two month ago.

If kindly is possible, please give me a guidance in maple or matlab for solving nonlinear heat equations in the form

http://www.sciencedirect.com/science/article/pii/S1018364713000025

I apply Chebyshev PS method for both space and time variables, but high CPU time is needed.

Or maybe it comes from being amatur in my MAPLE.

Please help me in this special case.

 

Thanks.

@Markiyan Hirnyk 

Thank you very much

But the direct search does not work in MAPLE 13!

Can it work in MAPLE 16?

By the way I have the following problem:

To solving the last system

the system tell me the kernel of maple lose memory!

what is the solution?

> restart;
> with(orthopoly);
print(??); # input placeholder
> N := 7; Digits := 30;
> u := sum(sum(sum(a[m, n, k]*P(m, 2*x/Pi-1)*P(n, 2*y/Pi-1)*P(k, 2*t/Pi-1), m = 0 .. N), n = 0 .. N), k = 0 .. N); u := unapply(u, x, y, t); ut := diff(u(x, y, t), `$`(t, 1)); ut := unapply(ut, x, y, t); uxx := diff(u(x, y, t), `$`(x, 2)); uxx := unapply(uxx, x, y, t); uyy := diff(u(x, y, t), `$`(y, 2)); uyy := unapply(uyy, x, y, t);
print(??); # input placeholder
> f := proc (x, y) options operator, arrow; sin(x)*sin(y) end proc; A := fsolve(P(N+1, 2*x/Pi-1) = 0);
print(??); # input placeholder
> S6 := {seq(seq(seq(ut(A[i], A[j], A[k])-uxx(A[i], A[j], A[k])-uyy(A[i], A[j], A[k]) = 0, i = 2 .. N), j = 2 .. N), k = 2 .. N+1)};
print(??); # input placeholder
> S1 := {seq(seq(u(A[i], A[j], 0)-f(A[i], A[j]) = 0, i = 1 .. N+1), j = 1 .. N+1)};
%;
> S3 := {seq(seq(u(A[i], 0, A[k])-(int(int(u(x, y, A[k]), x = 0 .. Pi), y = 0 .. Pi))/(4*Pi) = 0, i = 2 .. N+1), k = 2 .. N+1)};
print(??); # input placeholder
> S5 := {seq(seq(u(A[i], Pi, A[k])-(int(int(u(x, y, A[k]), x = 0 .. Pi), y = 0 .. Pi))/(4*Pi) = 0, i = 2 .. N), k = 2 .. N+1)};
> S2 := {seq(seq(u(0, A[j], A[k])-(int(int(u(x, y, A[k]), x = 0 .. Pi), y = 0 .. Pi))/(4*Pi) = 0, j = 1 .. N+1), k = 2 .. N+1)};
print(??); # input placeholder
> S4 := {seq(seq(u(Pi, A[j], A[k])-(int(int(u(x, y, A[k]), x = 0 .. Pi), y = 0 .. Pi))/(4*Pi) = 0, j = 2 .. N+1), k = 2 .. N+1)};
> S := `union`(`union`(`union`(`union`(`union`(S1, S2), S3), S4), S5), S6);
> sol := fsolve(S);
print(??); # input placeholder
> assign(sol);

@Markiyan Hirnyk 

Dear Markiyan Hirnyk

Thank you very much for your your respond.

I run your codes in MAPLE 13, but it does not work.

I think I should use new version of MAPLE such as 16 or 17.

Is it true?

@Carl Love 

Dear Carl Love

It is around 20 minutes!

I will use another simulation.

It is not reasonable to use such this method.

Thank you for your attention.

Dear Carl Love

Thank you for your comments.

My problem has been solved.

With kind regards,
Emran Tohidi.

Page 1 of 1