## New developments on exact solutions for PDEs with...

by: Maple

Hi

New developments (after the release of Maple 2016) happened in the project on exact solutions for "Partial Differential Equations & Boundary Conditions". This is work in collaboration with Katherina von Bulow and the improvements are of wide range, representing a noticeable step forward in the capabilities of the Maple system for this kind of problem. As usual, these improvements can be installed in current Maple 2016 by downloading the updated library from the Maplesoft R&D webpage for Differential Equations and Mathematical functions (the update is distributed merged with the updates of the Physics package)

The improvements cover:

 • PDE&BC in semi-infinite domains for which a bounded solution is sought
 • PDE & BC problems in bounded spatial domains via eigenfunction (Fourier) expansions
 • Implementation of another algebraic method for tackling linear PDE & BC
 • Improvements in solving PDE & BC solutions by first finding the PDE's general solution.
 • Improvements in solving PDE & BC problems by using a Fourier transform.
 • PDE & BC problems that used to require the option HINT = `+` are now solved automatically

What follows is a set of examples solved now with these new developments, organized in sections according to the kind of problem. Where relevant, the sections include a subsection on "How it works step by step".

PDE&BC in semi-infinite domains for which a bounded solution is sought can now also be solved via Laplace transforms

Maple is now able to solve more PDE&BC problems via Laplace transforms.

How it works: Laplace transforms act to change derivatives with respect to one of the independent variables of the domain into multiplication operations in the transformed domain. After applying a Laplace transform to the original problem, we can simplify the problem using the transformed BC, then solve the problem in the transformed domain, and finally apply the inverse Laplace transform to arrive at the final solution. It is important to remember to give pdsolve any necessary restrictions on the variables and constants of the problem, by means of the "assuming" command.

A new feature is that we can now tell pdsolve that the dependent variable is bounded, by means of the optional argument HINT = boundedseries.

 >

Consider the problem of a falling cable lying on a table that is suddenly removed (cf. David J. Logan's Applied Partial Differential Equations p.115).

 >

If we ask pdsolve to solve this problem without the condition of boundedness of the solution, we obtain:

 >
 (1.1)

New: If we now ask for a bounded solution, by means of the option HINT = boundedseries, pdsolve simplifies the problem accordingly.

 >
 (1.2)

And we can check this answer against the original problem, if desired:

 >
 (1.3)

How it works, step by step

Let us see the process this problem undergoes to be solved by pdsolve, step by step.

First, the Laplace transform is applied to the PDE:

 >
 >
 (1.1.1)

and the result is simplified using the initial conditions:

 >
 (1.1.2)

Next, we call the function "laplace(u(x,t),t,s)" by the new name U:

 >
 (1.1.3)

And this equation, which is really an ODE, is solved:

 >
 (1.1.4)

Now, since we want a BOUNDED solution, the term with the positive exponential must be zero, and we are left with:

 >
 (1.1.5)

Now, the initial solution must also be satisfied. Here it is, in the transformed domain:

 >
 (1.1.6)

Or, in the new variable U,

 >
 (1.1.7)

And by applying it to bounded_solution_U, we find the relationship

 >
 (1.1.8)
 >
 (1.1.9)

so that our solution now becomes

 >
 (1.1.10)

to which we now apply the inverse Laplace transform to obtain the solution to the problem:

 >
 (1.1.11)

Four other related examples

A few other examples:

 >
 >
 (1.2.1)
 >
 (1.2.2)
 >
 >
 (1.2.3)
 >
 (1.2.4)
 >
 >
 (1.2.5)
 >
 (1.2.6)

The following is an example from page 76 in Logan's book:

 >
 >
 (1.2.7)

More PDE&BC problems in bounded spatial domains can now be solved via eigenfunction (Fourier) expansions

The code for solving PDE&BC problems in bounded spatial domains has been expanded. The method works by separating the variables by product, so that the problem is transformed into an ODE system (with initial and/or boundary conditions) problem, one of which is a Sturm-Liouville problem (a type of eigenvalue problem) which has infinitely many solutions - hence the infinite series representation of the solutions.

 >

Here is a simple example for the heat equation:

 >
 >
 (2.1)
 >
 (2.2)

Now, consider the displacements of a string governed by the wave equation, where c is a constant (cf. Logan p.28).

 >
 >
 (2.3)
 >
 (2.4)

Another wave equation problem (cf. Logan p.130):

 >
 >
 (2.5)
 >
 (2.6)

Here is a problem with periodic boundary conditions (cf. Logan p.131). The function  stands for the concentration of a chemical dissolved in water within a tubular ring of circumference . The initial concentration is given by , and the variable  is the arc-length parameter that varies from 0 to .

 >
 >
 (2.7)
 >
 (2.8)

The following problem is for heat flow with both boundaries insulated (cf. Logan p.166, 3rd edition)

 >
 >
 (2.9)
 >
 (2.10)

This is a problem in a bounded domain with the presence of a source. A source term represents an outside influence in the system and leads to an inhomogeneous PDE (cf. Logan p.149):

 >
 >
 (2.11)

Current pdetest is unable to verify that this solution cancells the  mainly because it currently fails in identifying that there is a fourier expansion in it, but its subroutines for testing the boundary conditions work well with this problem

 >
 >
 (2.12)

Consider a heat absorption-radiation problem in the bounded domain :

 >
 >
 (2.13)
 >
 (2.14)

Consider the nonhomogeneous wave equation problem (cf. Logan p.213, 3rd edition):

 >
 >
 (2.15)
 >
 (2.16)

Consider the following Schrödinger equation with zero potential energy (cf. Logan p.30):

 >
 >
 (2.17)
 >
 (2.18)

Another method has been implemented for linear PDE&BC

This method is for problems of the form

or

where M is an arbitrary linear differential operator of any order which only depends on the spatial variables .

Here are some examples:

 >
 >
 (3.1)
 >
 (3.2)

Here are two examples for which the derivative with respect to t is of the second order, and two initial conditions are given:

 >
 >
 (3.3)
 >
 (3.4)
 >
 >
 (3.5)
 >
 (3.6)

More PDE&BC problems are now solved via first finding the PDE's general solution.

The following are examples of PDE&BC problems for which pdsolve is successful in first calculating the PDE's general solution, and then fitting the initial or boundary condition to it.

 >

If we ask pdsolve to solve the problem, we get:

 >
 (4.1)

and we can check this answer by using pdetest:

 >
 (4.2)

How it works, step by step:

The general solution for just the PDE is:

 >
 (4.1.1)

Substituting in the condition , we get:

 (4.1.2)
 >
 (4.1.3)

We then isolate one of the functions above (we can choose either one, in this case), convert it into a function operator, and then apply it to gensol

 >
 (4.1.4)
 >
 (4.1.5)

Three other related examples

 >
 >
 (4.2.1)
 >
 (4.2.2)
 >
 >
 (4.2.3)
 >
 (4.2.4)
 >
 >
 (4.2.5)
 >
 (4.2.6)

More PDE&BC problems are now solved by using a Fourier transform.

 >

Consider the following problem with an initial condition:

 >

pdsolve can solve this problem directly:

 >
 (5.1)

And we can check this answer against the original problem, if desired:

 >
 (5.2)

How it works, step by step

Similarly to the Laplace transform method, we start the solution process by first applying the Fourier transform to the PDE:

 >
 >
 (5.1.1)

Next, we call the function "fourier(u(x,t),x,s1)" by the new name U:

 >
 (5.1.2)

And this equation, which is really an ODE, is solved:

 >
 (5.1.3)

Now, we apply the Fourier transform to the initial condition :

 (5.1.4)
 >
 (5.1.5)

Or, in the new variable U,

 >
 (5.1.6)

Now, we evaluate solution_U at t = 0:

 >
 (5.1.7)

and substitute the transformed initial condition into it:

 >
 (5.1.8)

Putting this into our solution_U, we get

 >
 (5.1.9)

Finally, we apply the inverse Fourier transformation to this,

 >
 (5.1.10)

PDE&BC problems that used to require the option HINT = `+` to be solved are now solved automatically

The following two PDE&BC problems used to require the option HINT = `+` in order to be solved. This is now done automatically within pdsolve.

 >
 >
 (6.1)
 >
 (6.2)
 >
 >
 (6.3)
 >
 (6.4)
 >

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Verifying positiveness...

Hi,

how can I check in maple if my variable P is positive (always or only for some certain conditions)

with assumptions

a>0,b>0,c>0,d>0,e>0,f>0,g>0 and a>c,e,g

I need to prove that P is always positive with that assumptions, how?

## Error when using pdsolve...

I'm trying to solve a 2nd order system of pde's with couplded BC but it gives me the following error

Error, (in pdsolve/numeric) initial/boundary conditions must be defined at one or two points for each independent variable

Here is the code

> T01 := 273; T02 := 26; L1 := .1; L2 := .2; h1 := 100; h2 := 200; k1 := 1; k2 := 2; rho1 := 1000; rho2 := 2000; c1 := 0.1e6; c2 := 0.2e6; alpha1 := 1; alpha2 := 2

> PDE := {diff(T1(x, t), t) = (diff(T1(x, t), x, x))/alpha1, diff(T2(x, t), t) = (diff(T2(x, t), x, x))/alpha2}

> IBC:={k1*(D[1](T1))(L1, t) = k2*(D[1](T2))(L1, t), T1(L1, t) = T2(L1, t), T1(x, 0) = T02, T2(x, 0) = T02, (D[1](T1))(0, t) = -h1*(T1(0, t)-T01)/k1, (D[1](T2))(L1+L2, t) = h2*(T2(L1+L2, t)-T02)/k2}

> pds := pdsolve(PDE, IBC, numeric)

Its basically a 1D heat equation in a 2 layers plate with conduction BC on both sides

## Boundary Conditions...

Hi. I want to solve a system of equations. But I got this type of error.

>restart;

>Digits := 15;
>with(plots):n:=0.7:Pr=1: mu(eta):=(diff(U(eta),eta)^(2)+diff(V(eta),eta)^(2))^((n-1)/(2)):
>Eqn1 := 2*U(eta)+(1-n)*eta*(diff(U(eta), eta))/(n+1)+diff(W(eta), eta) = 0:
>Eqn2 := U(eta)^2-(V(eta)+1)^2+(W(eta)+(1-n)*eta*U(eta)/(n+1))*(diff(U(eta), eta))-mu(eta)*(diff(U(eta), eta, eta))-(diff(U(eta), eta))*(diff(mu(eta), eta)) = 0:
>Eqn3 := 2*U(eta)*(V(eta)+1)+(W(eta)+(1-n)*eta*U(eta)/(n+1))*(diff(V(eta), eta))-mu(eta)*(diff(V(eta), eta, eta))-(diff(V(eta), eta))*(diff(mu(eta), eta)) = 0:
>Eqn4 := (W(eta)+(1-n)*eta*U(eta)/(n+1))*(diff(theta(eta), eta))-(mu(eta)*(diff(theta(eta), eta, eta))+(diff(mu(eta), eta))*(diff(theta(eta), eta)))/Pr = 0:
>bcs1 := U(0) = 0, V(0) = 0, W(0) = 0, theta(0) = 1:
>bcs2 := U(20) = 0, V(20) = -1, theta(20) = 0:
>R1 := dsolve({Eqn1, Eqn2, Eqn3, Eqn4, bcs1, bcs2}, {U(eta), V(eta), W(eta), theta(eta)}, initmesh = 20000, output = listprocedure, numeric);

Error, (in dsolve/numeric/bvp/convertsys) too few boundary conditions: expected 8, got 7

>for l from 0 by 2 to 20 do R1(l) end do;
>plot1 := odeplot(R1, [eta, theta(eta)], 0 .. 20, numpoints = 2000, color = red);

What is the problem actually because based on the paper that I refer to, there is only 7 bc.

Can anyone help me?

## How to solve PDEs system? ...

I am trying to solve system of partial differential equation, but i got some trouble. This is system of heat equations

Here are the equations:

restart;with(PDEtools):
U1 := diff_table(u1(x,t)):
pde[1] := (1/kappa1)*U1[t]=U1[x,x];

bc[1]:=u1(-L, t)=V;

U2 := diff_table(u2(x,t)):
pde[2] := (1/kappa2)*U2[t]=U2[x,x];

bc[2]:=u2(a, t)=0;

sys:=[pde[1],bc[1],pde[2],bc[2], u1(x=0,t)=u2(x=0,t),

D[2](u1)(x,0)=D[2](u2)(x,0)

]

pdsolve(sys);

a and L is arbitrary constanta

anyone can help? The last boundary conditions I mean du1/dx=du2/dx at x=0

How can i solve this problem?

## How to deduce that f<>0 w.r.t. B?...

Let B is a list of polynomial conditions such that  are none zero. Consider one polynomial f. How can I detect that f is none zero w.r.t. B? For example if B=[a-1,b+2,b-c,ac-1] and f=a^2c-ac-a+1. From B we can conclude that a<>1 and b<>2 and b<>c and ac<>1. How can I deduce that f<>0 w.r.t. B automatically?

## IBS incorrect. How to write?...

There is a desire to explore the process of filtration combustion. To do this, you must solve a system of differential equations in partial derivatives.
I write down all the equations.
Boundary conditions in Maple 2015.0 interpreted incorrectly.
I need to write like that:

given that:

It turns out so:

ie somewhere lost derivatives

,....

As in Maple record boundary conditions correct?

## How to use function in boundary condition? ...

Hi !

I am trying to solve a pde with initial/boundary conditions, in the numeric mode. It works very well when I provide 3 numerical conditions : 1 initial condition (uniform distribution at first), and two boundary conditions.

Now I want to switch the initial condition to a function of r. It's a polynome I obtained after interpolation of another result. I tested it and the function interp20(r) works. But the pdsolve doesn't seem to evaluate the function, when it comes to start the procedure and pdsolve doesn't return a module as it should, although it doesn't send any message error.

You can see the code following, with the error messages I get.

Is it strictly impossible to use a function as an initial condition ?
Is it just a problem I could solve by converting the function or its result to something else ?
Is float the right type of input ? For example, if I write a:=283.15, is it a float ?
Have you already had similar problems ? How did you solve them ? Where could I find working code examples on this ?
Could I solve this problem with non-uniform initial condition with another Maple function ?

Then you very much for your help !

## Nonzero solution of a system of ODEs...

Hello!
Try to consider the following system of differential equations:

sys := diff(U(ksi), ksi) = (y(ksi)-(1.5*(1+0.01*ksi))*U(ksi)/ksi)/(1.5+0.015*ksi+0.002*ksi^2),
diff(y(ksi), ksi) = U(ksi)*(0.002+(1.5*(1+0.01*ksi))*(0.002*ksi^2)/(ksi^2*(1.5+0.015*ksi+0.002*ksi^2))-19.3^2)-y(ksi)*(0.002*ksi^2)/(ksi*(1.5+0.015*ksi+0.002*ksi^2))

with the boundary conditions: cond:= y(0.8) = 0, y(1) = 0

And Maple gives me zero solution for this system , i mean U(from 0.8  to 1) = 0 and y(from 0.8 to 1) = 0

How can i get some other solutions?

P.S. i need numerical solution => dsolve( [sys,cond],type= numeric)

## Solve Transport / Advection Equation...

Dear all,

I am trying to solve the following partial differential equation (transport or advection equation) with given initial and boundary conditions:

restart: with(PDEtools):
sys := [v*diff(u(x,t), x) + diff(u(x,t), t) = 0, u(x,0) = exp(-x), u(0,t) = sin(t)];
pdsolve(sys);

But it does not work. The solution is (or should be):

u(x, t) = exp(t*v-x)+Heaviside(t-x/v)*(sin(t-x/v)-exp(t*v-x))

I think the reason is that the interval for t (in [0, inf)) and x (in [0, 1]) is not specified. On the other hand, this works:

restart: with(PDEtools):
sys := [diff(u(x, t), t) = diff(u(x, t), x, x), u(0, t) = 0, u(1, t) = 0, u(x,0) = f(x)];
sol := pdsolve(sys);

How can I solve a PDE like the transport equation with given initial AND boundary conditions?

Thanks a lot

## IVP Dsolve Error...

Hello,

I am a student doing some self study over the summer trying to work through some of the John Taylor computer problems from his classcial mechanics book. Currently I hit a snag that most likely comes from the fact I am not well acquinted with Maple for solving IVP and DE's (we used Matlab in my DE class). I just need to know how I remove the following error:

Error, (in dsolve/numeric/SC/IVPsetup) initial conditions must be numeric

Here is a copy of my code:

R := 5;
5
g := 9.8;
9.8
deq1 := {diff(x(t), [`\$`(t, 2)]) = -g*sin(x(t))/R, x(0) = 20};
/ d / d \ \
{ --- |--- x(t)| = -1.960000000 sin(x(t)), x(0) = 20 }
\ dt \ dt / /
dsol1 := dsolve(deq1, numeric);
Error, (in dsolve/numeric/SC/IVPsetup) initial conditions must be numeric

My hunch is that I need to set x'(0)=0 or something like I do not have enough intial values to solve the problem, but I could be wrong. Anyway anyone who can point out my mistake feel free to do so! Thank you!

## How to determine unknown value in boundary conditi...

Hello everyone,

How can unknown values in boundary conditions of system ODEs be determine by using shooting technique. See the work sheet here Sht.mw

Thanks.

## Introducing high order derivatives values in fixed...

Hi everybody!

It's nice to join in this forum.

I'm trying to get the analytic solution of the Bernouilli-Euler beam equation, with the next boundary conditions:

w(x,t) = displacements.

w(0,t) = 0   -> It's a cantilever beam. At the x=0 it's clamped.

diff(w(x,t),x) = 0.   -> the gyro in the clamp is zero.

E*I*diff(w(L,t),x,x) = 0  -> the moment at the end of the beam (x=L) is zero.

E*I*diff(w(L,t),x,x,x) = 0  -> the shear at the end of the beam (x=L) is zero too.

I'm not able to introduce the second and the third derivatives as boundary conditions in the pdsolve equation. I post the hole code:

restart;
ode := I*E*(diff(w(x, t), x, x, x, x))+m*(diff(w(x, t), t, t)) = 0;

s := pdsolve(ode, w(x, t));

ode1 := op([2, 1, 1], s);

ode2 := op([2, 1, 2], s);

f1 := op(4, rhs(ode1));

f2 := op(2, rhs(ode2));

sol1 := dsolve(ode1, f1);

sol2 := dsolve(ode2, f2);

sol := rhs(sol1)*rhs(sol2);

conds := [w(0, t) = 0, (D[1](w))(0, t) = 0, eval(I*E*(D[1, 1](w))(x, t), x = L) = 0, eval(I*E*(D[1, 1, 1](w))(x, t), x = L) = 0];

pde := [ode, conds];

pdsolve(pde, w(u, t));

And I get this error:

"Error, (in PDEtools/pdsolve) invalid input: `pdsolve/sys` expects its 1st argument, SYS, to be of type {list({`<>`, `=`, algebraic}), set({`<>`, `=`, algebraic})}, but received [I*E*(diff(diff(diff(diff(w(x, t), x), x), x), x))+m*(diff(diff(w(x, t), t), t)) = 0, [w(0, t) = 0, (D[1](w))(0, t) = 0, I*E*(D[1, 1](w))(L, t) = 0, I*E*(D[1, 1, 1](w))(L, t) = 0]]"

It's seems I'm introducing the Boundary conditions of the second and third derivatives in a wrong way, but I can't discover how to do it.

Thanks very much in advance to everybody!!

Ger89

P.D. - I have use this "tutorial" to write the code ( http://homepages.math.uic.edu/~jan/mcs494f02/Lec34/pde.html ). Thanks very much again.

## Second order ODE with infinity condition...

I got a problem with solving a second order ODE.

The ODE is :

-V(xi)+(1/2)*xi*(diff(V(xi), xi))+(1/4)*(diff(V(xi), xi, xi))=-(1/2)*k2*(diff(H(xi), xi))-k1*n*X/E+1+k2

where k1,k2,n,X,E  all are constant.

the condition is :

V(xi) tends to 2*xi^2 as xi tends to infinity.

I used 'dsolve' to solve the equation firstly, and got a solution with two constant C1 and C2, I want to use the condition to elimilate C2, so I used limit(sol,xi=infinity)=2*xi^2. But when I used the command 'limit', I can't get the answer.

Could any one help me?

Many thanks!!!

 1 2 3 4 Page 1 of 4
﻿