PDEs and Boundary Conditions - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : System : Information : Updates : Maple 2017 : PDEs and Boundary Conditions

General solution option for PDEs and new methods for solving PDEs with Boundary Conditions

New options in pdsolve for users to ask for a general solution to PDEs and to know whether a solution from pdsolve is general. Also, many more partial differential equations with boundary condition (PDE and BC) problems can now be solved.

 

 

New userinfo and generalsolution option in pdsolve

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

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

Another method for linear PDE&BC with spatial initial conditions

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

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

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

New userinfo and generalsolution option in pdsolve

For a PDE of order N in 1 unknown depending on M independent variables, a general solution involves N arbitrary functions of M-1 arguments. Using differential algebra techniques, we have extended pdsolve's capabilities to identify a general solution for DE systems, even when the system involves ODEs and PDEs, algebraic equations, inequations, and/or mathematical functions.

 

The examples below show the new generalsolution option, as well as a new userinfo that displays whether a solution that is returned is or is not a general solution. The examples are all of differential equation systems but the same userinfo and generalsolution option work as well in the case of a single PDE.

 

Example 1.

Solve the determining PDE system for the infinitesimals of the symmetry generator of example 11 from Kamke's book. Tell whether the solution computed is a general solution.

restart: infolevelpdsolve  3

infolevelpdsolve3

(1.1)

The PDE system satisfied by the symmetries of Kamke's ODE example number 11 is

sys__12y2ξx,y=0,2y2ηx,y22yxξx,y=0,3xrynyξx,ya+22yxηx,y2x2ξx,y=0,2xξx,yxrynaxrynyηx,ya+ηx,yaxrynny+ξx,yaxrrynx+2x2ηx,y=0:

This is a second order linear PDE system, with two unknowns ηx,y,ξx,y and four equations. Its general solution is given by the following, where we now can tell that the solution is a general one by reading the last line of the userinfo. Note that because the system is overdetermined, a general solution in this case does not involve any arbitrary function

sol__1pdsolvesys__1

-> Solving ordering for the dependent variables of the PDE system: [xi(x,y), eta(x,y)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [x, y]
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
<- Returning a *general* solution

sol__1ηx&comma;y=_C1yr+2n1&comma;ξx&comma;y=_C1x

(1.2)

Next we indicate to pdsolve that n and r are parameters of the problem, and that we want a solution for n1, making more difficult to identify by eye whether the solution returned is a general one. Again the last line of the userinfo indicates that pdsolve's solution is indeed a general one

sys__1.1  opsys__1&comma;n1

sys__1.12y2ξx&comma;y=0&comma;2y2ηx&comma;y22xyξx&comma;y=0&comma;3xrynyξx&comma;ya+22xyηx&comma;y2x2ξx&comma;y=0&comma;2xξx&comma;yxrynaxrynyηx&comma;ya+ηx&comma;yaxrynny+ξx&comma;yaxrrynx+2x2ηx&comma;y=0&comma;n1

(1.3)

sol__1.1pdsolvesys__1.1&comma;parameters=n&comma;r

-> Solving ordering for the dependent variables of the PDE system: [r, n, xi(x,y), eta(x,y)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [x, y]
tackling triangularized subsystem with respect to r
tackling triangularized subsystem with respect to n
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
tackling triangularized subsystem with respect to r
tackling triangularized subsystem with respect to n
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
tackling triangularized subsystem with respect to r
tackling triangularized subsystem with respect to n
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
tackling triangularized subsystem with respect to n
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
tackling triangularized subsystem with respect to n
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
tackling triangularized subsystem with respect to xi(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to eta(x,y)
<- Returning a *general* solution

sol__1.1n=2&comma;r=−5&comma;ηx&comma;y=y_C1x+3_C2&comma;ξx&comma;y=x_C1x+_C2,n=2&comma;r=207&comma;ηx&comma;y=26x2_C298x87_C2ay147_C1axy343xa&comma;ξx&comma;y=_C1x+_C2x87,n=2&comma;r=157&comma;ηx&comma;y=49_C1axy147x67_C2ay+12_C2x343xa&comma;ξx&comma;y=_C1x+_C2x67,n=2&comma;r=r&comma;ηx&comma;y=_C1yr+2&comma;ξx&comma;y=_C1x,n=r3&comma;r=r&comma;ηx&comma;y=y4_C1x+2_C2+_C1x+_C2rr+4&comma;ξx&comma;y=x_C1x+_C2,n=n&comma;r=r&comma;ηx&comma;y=_C1yr+2n1&comma;ξx&comma;y=_C1x

(1.4)

mappdetest&comma;sol__1.1&comma;sys__1.1

0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0

(1.5)

 

Example 2.

Compute the solution of the following (linear) overdetermined system involving two PDEs, three unknown functions, one of which depends on 2 variables and the other two depend on only 1 variable.

sys__22r2Fr&comma;s+2s2Fr&comma;s+&DifferentialD;&DifferentialD;rHr+&DifferentialD;&DifferentialD;sGs+s=0&comma;2r2Fr&comma;s+22rsFr&comma;s+2s2Fr&comma;s&DifferentialD;&DifferentialD;rHr+&DifferentialD;&DifferentialD;sGsr=0&colon;

The solution for the unknowns G, H, is given by the following expression, where again determining whether this solution, that depends on 3 arbitrary functions, _F1s, _F2r, _F3sr, is or is not a general solution, is non-obvious.

sol__2pdsolvesys__2

-> Solving ordering for the dependent variables of the PDE system: [F(r,s), H(r), G(s)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [r, s]
tackling triangularized subsystem with respect to F(r,s)
First set of solution methods (general or quasi general solution)
Trying differential factorization for linear PDEs ...
differential factorization successful.
First set of solution methods successful
tackling triangularized subsystem with respect to H(r)
tackling triangularized subsystem with respect to G(s)
<- Returning a *general* solution

sol__2Fr&comma;s=_F1s+_F2r+_F3srr2r3s12&comma;Gs=s24&DifferentialD;&DifferentialD;s_F1s+_C2&comma;Hr=r24+&DifferentialD;&DifferentialD;r_F2r+_C1

(1.6)

pdetestsol__2&comma; sys__2

0&comma;0

(1.7)

Example 3.

Compute the solution of the following nonlinear system, consisting of Burgers' equation and a possible potential.

sys__3tux&comma;t+2ux&comma;txux&comma;t2x2ux&comma;t=0&comma;tvx&comma;t=vx&comma;txux&comma;t+vx&comma;tux&comma;t2&comma;xvx&comma;t=ux&comma;tvx&comma;t&colon;

We see that in this case the solution returned is not a general solution but two particular ones; again the information is in the last line of the userinfo displayed

sol__3pdsolvesys__3&comma;u&comma;v

-> Solving ordering for the dependent variables of the PDE system: [v(x,t), u(x,t)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [x, t]
tackling triangularized subsystem with respect to v(x,t)
tackling triangularized subsystem with respect to u(x,t)
First set of solution methods (general or quasi general solution)
Second set of solution methods (complete solutions)
Trying methods for second order PDEs
Third set of solution methods (simple HINTs for separating variables)
PDE linear in highest derivatives - trying a separation of variables by *
HINT = *
Fourth set of solution methods
Trying methods for second order linear PDEs
Preparing a solution HINT ...
Trying HINT = _F1(x)*_F2(t)
Fourth set of solution methods
Preparing a solution HINT ...
Trying HINT = _F1(x)+_F2(t)
Trying travelling wave solutions as power series in tanh ...
* Using tau = tanh(t*C[2]+x*C[1]+C[0])
* Equivalent ODE system: {C[1]^2*(tau^2-1)^2*diff(diff(u(tau),tau),tau)+(2*C[1]^2*(tau^2-1)*tau+C[2]*(tau^2-1)+2*u(tau)*C[1]*(tau^2-1))*diff(u(tau),tau)}
* Ordering for functions: [u(tau)]
* Cases for the upper bounds: [[n[1] = 1]]
* Power series solution [1]: {u(tau) = tau*A[1,1]+A[1,0]}
* Solution [1] for {A[i, j], C[k]}: [[A[1,1] = 0], [A[1,0] = -1/2*C[2]/C[1], A[1,1] = -C[1]]]
travelling wave solutions successful.
tackling triangularized subsystem with respect to v(x,t)
First set of solution methods (general or quasi general solution)
Trying differential factorization for linear PDEs ...
Trying methods for PDEs "missing the dependent variable" ...
Second set of solution methods (complete solutions)
Trying methods for second order PDEs
Third set of solution methods (simple HINTs for separating variables)
PDE linear in highest derivatives - trying a separation of variables by *
HINT = *
Fourth set of solution methods
Trying methods for second order linear PDEs
Preparing a solution HINT ...
Trying HINT = _F1(x)*_F2(t)
Third set of solution methods successful
tackling triangularized subsystem with respect to u(x,t)
<- Returning a solution that *is not the most general one*

sol__3ux&comma;t=_C2tanh_C2x+_C3t+_C1_C32_C2&comma;vx&comma;t=0,ux&comma;t=_c1&ExponentialE;_c1x2_C1_C2&ExponentialE;_c1x2_C1+_C2&comma;vx&comma;t=_C3&ExponentialE;_c1t_C1&ExponentialE;_c1x+_C3&ExponentialE;_c1t_C2&ExponentialE;_c1x

(1.8)

mappdetest&comma; sol__3&comma;sys__3

0&comma;0&comma;0&comma;0&comma;0&comma;0

(1.9)

This example is also good for illustrating the other related new feature: one can now request to pdsolve to only compute a general solution (it will return NULL if it cannot achieve that). Turn OFF userinfos and try with this example

infolevelpdsolve  1&colon;

This returns NULL:

pdsolvesys__3&comma;u&comma;v&comma;generalsolution

Example 4.

Another where the solution returned is particular, this time for a linear system, conformed by 38 PDEs, also from differential equation symmetry analysis

sys__4uξ1x&comma;y&comma;z&comma;t&comma;u=0&comma;xξ1x&comma;y&comma;z&comma;t&comma;uyξ2x&comma;y&comma;z&comma;t&comma;u=0&comma;uξ2x&comma;y&comma;z&comma;t&comma;u=0&comma;yξ1x&comma;y&comma;z&comma;t&comma;uxξ2x&comma;y&comma;z&comma;t&comma;u=0&comma;uξ3x&comma;y&comma;z&comma;t&comma;u=0&comma;xξ1x&comma;y&comma;z&comma;t&comma;uzξ3x&comma;y&comma;z&comma;t&comma;u=0&comma;yξ3x&comma;y&comma;z&comma;t&comma;uzξ2x&comma;y&comma;z&comma;t&comma;u=0&comma;zξ1x&comma;y&comma;z&comma;t&comma;uxξ3x&comma;y&comma;z&comma;t&comma;u=0&comma;uξ4x&comma;y&comma;z&comma;t&comma;u=0&comma;tξ3x&comma;y&comma;z&comma;t&comma;uzξ4x&comma;y&comma;z&comma;t&comma;u=0&comma;tξ2x&comma;y&comma;z&comma;t&comma;uyξ4x&comma;y&comma;z&comma;t&comma;u=0&comma;tξ1x&comma;y&comma;z&comma;t&comma;uxξ4x&comma;y&comma;z&comma;t&comma;u=0&comma;xξ1x&comma;y&comma;z&comma;t&comma;u+tξ4x&comma;y&comma;z&comma;t&comma;u=0&comma;2y2η1x&comma;y&comma;z&comma;t&comma;u+2z2η1x&comma;y&comma;z&comma;t&comma;u2t2η1x&comma;y&comma;z&comma;t&comma;u+2x2η1x&comma;y&comma;z&comma;t&comma;u=0&comma;2u2η1x&comma;y&comma;z&comma;t&comma;u=0&comma;2uxη1x&comma;y&comma;z&comma;t&comma;u+2x2ξ1x&comma;y&comma;z&comma;t&comma;u=0&comma;2xyξ1x&comma;y&comma;z&comma;t&comma;u+2uyη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2y2ξ1x&comma;y&comma;z&comma;t&comma;u+2uxη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2xzξ1x&comma;y&comma;z&comma;t&comma;u+2uzη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2yzξ1x&comma;y&comma;z&comma;t&comma;u=0&comma;2z2ξ1x&comma;y&comma;z&comma;t&comma;u+2uxη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2tuη1x&comma;y&comma;z&comma;t&comma;u2txξ1x&comma;y&comma;z&comma;t&comma;u=0&comma;2tyξ1x&comma;y&comma;z&comma;t&comma;u=0&comma;2tzξ1x&comma;y&comma;z&comma;t&comma;u=0&comma;2t2ξ1x&comma;y&comma;z&comma;t&comma;u+2uxη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2z2ξ2x&comma;y&comma;z&comma;t&comma;u+2uyη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2tzξ2x&comma;y&comma;z&comma;t&comma;u=0&comma;2t2ξ2x&comma;y&comma;z&comma;t&comma;u+2uyη1x&comma;y&comma;z&comma;t&comma;u=0&comma;2t2ξ3x&comma;y&comma;z&comma;t&comma;u+2uzη1x&comma;y&comma;z&comma;t&comma;u=0&comma;3ux2η1x&comma;y&comma;z&comma;t&comma;u=0&comma;3uxyη1x&comma;y&comma;z&comma;t&comma;u=0&comma;3uy2η1x&comma;y&comma;z&comma;t&comma;u=0&comma;3uxzη1x&comma;y&comma;z&comma;t&comma;u=0&comma;3uyzη1x&comma;y&comma;z&comma;t&comma;u=0&comma;3uz2η1x&comma;y&comma;z&comma;t&comma;u=0&comma;3tuxη1x&comma;y&comma;z&comma;t&comma;u=0&comma;3tuyη1x&comma;y&comma;z&comma;t&comma;u=0&comma;3tuzη1x&comma;y&comma;z&comma;t&comma;u=0&colon;

There are 38 coupled equations

nopssys__4

38

(1.10)

When requesting a general solution pdsolve returns NULL:

pdsolvesys__4&comma;generalsolution

A solution that is not a general one, is however computed by default if calling pdsolve without the generalsolution option. In this case again the last line of the userinfo indicates that the solution returned is not a general solution

infolevelpdsolve  3

infolevelpdsolve3

(1.11)

sol__4pdsolvesys__4

-> Solving ordering for the dependent variables of the PDE system: [eta[1](x,y,z,t,u), xi[1](x,y,z,t,u), xi[2](x,y,z,t,u), xi[3](x,y,z,t,u), xi[4](x,y,z,t,u)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [t, x, y, z, u]
tackling triangularized subsystem with respect to eta[1](x,y,z,t,u)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F1(x,y,z,t), _F2(x,y,z,t)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [t, x, y, z, u]
tackling triangularized subsystem with respect to _F1(x,y,z,t)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F3(x,y,z), _F4(x,y,z)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [x, y, z, t]
tackling triangularized subsystem with respect to _F3(x,y,z)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to _F4(x,y,z)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F5(y,z), _F6(y,z)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [y, z, x]
tackling triangularized subsystem with respect to _F5(y,z)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to _F6(y,z)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F7(z), _F8(z)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [z, y]
tackling triangularized subsystem with respect to _F7(z)
tackling triangularized subsystem with respect to _F8(z)
tackling triangularized subsystem with respect to _F2(x,y,z,t)
First set of solution methods (general or quasi general solution)
Trying differential factorization for linear PDEs ...
Trying methods for PDEs "missing the dependent variable" ...
Second set of solution methods (complete solutions)
Third set of solution methods (simple HINTs for separating variables)
PDE linear in highest derivatives - trying a separation of variables by *
HINT = *
Fourth set of solution methods
Preparing a solution HINT ...
Trying HINT = _F3(x)*_F4(y)*_F5(z)*_F6(t)
Third set of solution methods successful

tackling triangularized subsystem with respect to xi[1](x,y,z,t,u)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F1(x,z,t), _F2(x,z,t)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [t, x, z, y]
tackling triangularized subsystem with respect to _F1(x,z,t)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to _F2(x,z,t)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F3(x,t), _F4(x,t)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [t, x, z]
tackling triangularized subsystem with respect to _F3(x,t)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to _F4(x,t)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F5(x), _F6(x)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [x, t]
tackling triangularized subsystem with respect to _F5(x)
tackling triangularized subsystem with respect to _F6(x)
tackling triangularized subsystem with respect to xi[2](x,y,z,t,u)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.

First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
-> Solving ordering for the dependent variables of the PDE system: [_F1(t), _F2(t)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [t, z]
tackling triangularized subsystem with respect to _F1(t)
tackling triangularized subsystem with respect to _F2(t)
tackling triangularized subsystem with respect to xi[3](x,y,z,t,u)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
tackling triangularized subsystem with respect to xi[4](x,y,z,t,u)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
First set of solution methods successful
<- Returning a solution that *is not the most general one*

sol__4η1x&comma;y&comma;z&comma;t&comma;u=_C13_C10&ExponentialE;_c3z2+_C11_C8&ExponentialE;_c2y2+_C9_C6&ExponentialE;_c1x2+_C7cos_c1_c2_c3t+_C12_C10&ExponentialE;_c3z2+_C11_C8&ExponentialE;_c2y2+_C9_C6&ExponentialE;_c1x2+_C7sin_c1_c2_c3t+u&ExponentialE;_c1x&ExponentialE;_c2y&ExponentialE;_c3z_C1t+_C2x+_C3y+_C4z+_C5&ExponentialE;_c1x&ExponentialE;_c2y&ExponentialE;_c3z&comma;ξ1x&comma;y&comma;z&comma;t&comma;u=x2_C22+2_C1t2_C3y2_C4z+2_C17x2+t2+y2+z2_C22+_C16t+_C15z+_C14y+_C18&comma;ξ2x&comma;y&comma;z&comma;t&comma;u=_C3y22+2_C1t2_C2x2_C4z+2_C17y2+t2+x2+z2_C32+_C20t+_C19z_C14x+_C21&comma;ξ3x&comma;y&comma;z&comma;t&comma;u=_C4z22+2_C1t2_C2x2_C3y+2_C17z2+t2+x2+y2_C42+_C22t_C19y_C15x+_C23&comma;ξ4x&comma;y&comma;z&comma;t&comma;u=_C1t22+2_C2x2_C3y2_C4z+2_C17t2+x2y2z2_C12+_C20y+_C22z+_C16x+_C24

(1.12)

pdetestsol__4&comma;sys__4

0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0&comma;0

(1.13)

Example 5.

Finally, the new userinfos also indicates whether a solution is a general solution when working with PDEs that involve anticommutative variables set using the Physics package

withPhysics&comma;Setup

Setup

(1.14)

Set first &theta; and Q as suffixes for variables of type/anticommutative (see Setup)

Setupanticommutativepre=Q&comma;θ

* Partial match of 'anticommutativepre' against keyword 'anticommutativeprefix'

anticommutativeprefix=Q&comma;_&lambda;&comma;θ

(1.15)

A PDE system example with two unknown anticommutative functions of four variables, two commutative and two anticommutative; to avoid redundant typing in the input that follows and redundant display of information on the screen let's use PDEtools:-diff_table and PDEtools:-declare

PDEtools:-declareQx&comma;y&comma;θ1&comma;θ2

Qx&comma;y&comma;θ1&comma;θ2will now be displayed asQ

(1.16)

qPDEtools:-diff_tableQx&comma;y&comma;θ1&comma;θ2

mcp

(1.17)

Consider the system formed by these two PDEs (because of the q diff_table just defined, we can enter derivatives directly using the function's name indexed by the differentiation variables)

pde1qx,y,θ1+qx,y,θ2qy,θ1,θ2=0

diffdiffdiffQx&comma;y&comma;&theta;1&comma;&theta;2&comma;x&comma;y&comma;&theta;1&plus;diffdiffdiffQx&comma;y&comma;&theta;1&comma;&theta;2&comma;x&comma;y&comma;&theta;2diffdiffdiffQx&comma;y&comma;&theta;1&comma;&theta;2&comma;y&comma;&theta;1&comma;&theta;2&equals;0

(1.18)

pde2qθ1=0

diffQx&comma;y&comma;&theta;1&comma;&theta;2&comma;&theta;1&equals;0

(1.19)

The solution returned for this system is indeed a general solution

pdsolvepde1&comma;pde2

-> Solving ordering for the dependent variables of the PDE system: [_F4(x,y), _F2(x,y), _F3(x,y)]
-> Solving ordering for the independent variables (can be changed using the ivars option): [x, y]
tackling triangularized subsystem with respect to _F4(x,y)
tackling triangularized subsystem with respect to _F2(x,y)
tackling triangularized subsystem with respect to _F3(x,y)
First set of solution methods (general or quasi general solution)
Trying simple case of a single derivative.
HINT = _F6(x)+_F5(y)
Trying HINT = _F6(x)+_F5(y)
HINT is successful
First set of solution methods successful
<- Returning a *general* solution

Qx&comma;y&comma;&theta;1&comma;&theta;2&equals;_F1x&comma;y_&lambda;1&plus;_F6x&plus;_F5y&theta;2

(1.20)

This solution involves an anticommutative constant _&lambda;2, analogous to the commutative constants _Cn where n is an integer.

 

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.

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.

 

restart&colon;

 

To display special functions using textbook notation, use extended typesetting and enable the typesetting of mathematical functions

 

interfacetypesetting &equals; extended&colon; Typesetting:-EnableTypesetRuleTypesetting:-SpecialFunctionRules&colon;

 

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).

pde12t2ux&comma;t=c22x2ux&comma;tg&colon; iv1ux&comma;0=0,u0&comma;t=0,D2ux&comma;0=0&colon;

 

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

pdsolvepde1&comma;iv1assuming0<t,0<x,0<c

ux&comma;t=gctx2θctxcc2gt22invlaplace&ExponentialE;sxc_F1s&comma;s&comma;t+2invlaplace&ExponentialE;sxc_F1s&comma;s&comma;t2c2

(2.1)

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

ans1pdsolvepde1&comma;iv1&comma;HINT=boundedseriesassuming0<t,0<x,0<c

ans1ux&comma;t=gθtxcctx2c2t22c2

(2.2)

 

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

pdetestans1&comma;pde1&comma;iv1assuming0<t,0<x,0<c

0&comma;0&comma;0&comma;0

(2.3)

How it works, step by step

Let us see the process this problem is solved by pdsolve, step by step.

 

First, the Laplace transform is applied to the PDE:

withinttrans&colon;

transformed_PDElaplacelhsrhspde1&comma;t&comma;s

s2laplaceux&comma;t&comma;t&comma;sD2ux&comma;0sux&comma;0c2diffdifflaplaceux&comma;t&comma;t&comma;s&comma;x&comma;x&plus;gs

(2.1.1)

and the result is simplified using the initial conditions:

simplified_transformed_PDEevaltransformed_PDE&comma;iv1

s2laplaceux&comma;t&comma;t&comma;sc2diffdifflaplaceux&comma;t&comma;t&comma;s&comma;x&comma;x&plus;gs

(2.1.2)

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

eq_Usubslaplaceux&comma;t&comma;t&comma;s=Ux&comma;s&comma;simplified_transformed_PDE

eq_Us2Ux&comma;sc22x2Ux&comma;s+gs

(2.1.3)

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

solution_Udsolveeq_U&comma;Ux&comma;s

solution_UUx&comma;s=&ExponentialE;sxc_F2s+&ExponentialE;sxc_F1sgs3

(2.1.4)

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

bounded_solution_Usubscoeffrhssolution_U&comma;&ExponentialE;sxc=0&comma;solution_U

bounded_solution_UUx&comma;s=&ExponentialE;sxc_F2sgs3

(2.1.5)

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

Laplace_BClaplaceu0&comma;t&comma;t&comma;s=0

Laplace_BClaplaceu0&comma;t&comma;t&comma;s=0

(2.1.6)

Or, in the new variable U,

Laplace_BC_UU0&comma;s=0

Laplace_BC_UU0&comma;s=0

(2.1.7)

And by applying it to bounded_solution_U, we find the relationship

simplifysubsx=0&comma;rhsbounded_solution_U=0

_F2ss3gs3=0

(2.1.8)

isolate&comma;indets&comma;unknown1

_F2s=gs3

(2.1.9)

so that our solution now becomes

bounded_solution_Usubs&comma;bounded_solution_U

bounded_solution_UUx&comma;s=&ExponentialE;sxcgs3gs3

(2.1.10)

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

ux&comma;t=invlaplacerhsbounded_solution_U&comma;s&comma;tassuming0<x,0<t,0<c

ux&comma;t=gt2+θtxcctx2c22

(2.1.11)

Four other related examples

A few other examples:

pde22t2ux&comma;t=c22x2ux&comma;t&colon;iv2ux&comma;0=0,u0&comma;t=gt,D2ux&comma;0=0&colon;

ans2pdsolvepde2&comma;iv2&comma;HINT=boundedseriesassuming0<t,0<x,0<c

ans2ux&comma;t=θtxcgctxc

(2.2.1)

pdetestans2&comma;pde2&comma;iv2assuming0<t,0<x,0<c

0&comma;0&comma;0&comma;0

(2.2.2)

pde3tux&comma;t=k2x2ux&comma;t&colon;iv3ux&comma;0=0,u0&comma;t=1&colon;

ans3pdsolvepde3&comma;iv3&comma;HINT=boundedseriesassuming 0<t,0<x,0<k&semi;

ans3ux&comma;t=1erfx2tk

(2.2.3)

pdetestans3&comma;pde3&comma;iv32

0&comma;0

(2.2.4)

pde4tux&comma;t=k2x2ux&comma;t&colon;iv4ux&comma;0=μ,u0&comma;t=&lambda;&colon;

ans4pdsolvepde4&comma;iv4&comma;HINT=boundedseriesassuming0<t,0<x,0<k

ans4ux&comma;t=λ+μerfx2tk+λ

(2.2.5)

pdetestans4&comma;pde4&comma;iv42

0&comma;0

(2.2.6)

 

The following is an example from David J. Logan's Applied Partial Differential Equations p.76:

pde5tux&comma;t=2x2ux&comma;t&colon;iv5ux&comma;0=0,u0&comma;t=ft&colon;

ans5pdsolvepde5&comma;iv5&comma;HINT=boundedseriesassuming0<t,0<x

ans5ux&comma;t=x0tf_U1&ExponentialE;x24t4_U1t_U132&DifferentialD;_U12π

(2.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), and for one of the variables it is a Sturm-Liouville problem (a type of eigenvalue problem) which has infinitely many solutions - hence the infinite series representation of the solutions.

restart&colon;

 

Here is a simple example for the heat equation:

pde__6  tux&comma;t=k2x2ux&comma;t&colon;iv__6  u0&comma;t=0,ul&comma;t=0&colon;

ans__6pdsolvepde__6&comma;iv__6assuming 0<l&semi;

ans__6ux&comma;t=n=1_C1nsinnπxl&ExponentialE;kπ2n2tl2

(3.1)

pdetest ans__6&comma; pde__6&comma; iv__6&semi;

0&comma;0&comma;0

(3.2)

 

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

pde__72t2ux&comma;t=c22x2ux&comma;t&colon;iv__7u0&comma;t=0,ul&comma;t=0&colon;

ans__7pdsolvepde__7&comma;iv__7assuming 0<l&semi;

ans__7ux&comma;t=n=1sinnπxl_C1nsincnπtl+_C5ncoscnπtl

(3.3)

pdetestans__7&comma; pde__7&comma; iv__7&semi;

0&comma;0&comma;0

(3.4)

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

pde__82t2ux&comma;tc22x2ux&comma;t=0&colon;iv__8u0&comma;t=0,D2ux&comma;0=0,D1ul&comma;t=0,ux&comma;0=fx&colon;

ans__8pdsolvepde__8&comma;iv__8&comma;ux&comma;tassuming 0x,xl&semi;

ans__8ux&comma;t=n=120lfxsinπ1+2nx2l&DifferentialD;xsinπ1+2nx2lcoscπ1+2nt2ll

(3.5)

pdetestans__8&comma; pde__8&comma; iv__81..3&semi;

0&comma;0&comma;0&comma;0

(3.6)

 

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

pde__9tux&comma;t=M2x2ux&comma;t&colon;iv__9u0&comma;t=u2l&comma;t,D1u0&comma;t=D1u2l&comma;t,ux&comma;0=fx&colon;

ans__9pdsolvepde__9&comma;iv__9&comma;ux&comma;tassuming 0x,x2l&semi;

ans__9ux&comma;t=2n=102lfxcosnπxl&DifferentialD;xcosnπxl+02lfxsinnπxl&DifferentialD;xsinnπxl&ExponentialE;Mπ2n2tl2ll+02lfx&DifferentialD;x2l

(3.7)

pdetestans__9&comma; pde__9&semi;

0

(3.8)

 

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

pde__10tux&comma;t=k2x2ux&comma;t&colon;iv__10D1u0&comma;t=0,D1ul&comma;t=0,ux&comma;0=fx&colon;

ans__10pdsolvepde__10&comma;iv__10&comma;ux&comma;tassuming0x,xl&semi;

ans__10ux&comma;t=n=120lfxcosnπxl&DifferentialD;xcosnπxl&ExponentialE;kπ2n2tl2ll+0lfx&DifferentialD;xl

(3.9)

pdetestans__10&comma;pde__10&comma; iv__101..2&semi;

0&comma;0&comma;0

(3.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):

pde__112t2ux&comma;tc22x2ux&comma;t=px&comma;t&colon;iv__11u0&comma;t=0,uπ&comma;t=0,ux&comma;0=0,D2ux&comma;0=0&colon;

ans__11   pdsolvepde__11&comma; iv__11&comma; ux&comma;t&semi;

ans__11ux&comma;t=0tn=120πpx&comma;&tau;1sinnx&DifferentialD;xsinnxsincnt&tau;1πnc&DifferentialD;&tau;1

(3.11)

Current pdetest is unable to verify that this solution cancels the pde__11 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

pdetest_BC  `pdetest/BC`&colon;

pdetest_BCans__11&comma; iv__11&comma; ux&comma; t&semi;

0&comma;0&comma;0&comma;0

(3.12)

 

 

Consider a heat absorption-radiation problem in the bounded domain 0x2, t0:

pde__12tux&comma;t=2x2ux&comma;t&colon;iv__12ux&comma;0=fx,D1u0&comma;t+u0&comma;t=0,D1u2&comma;t+u2&comma;t=0&colon;

ans__12pdsolvepde__12&comma;iv__12&comma;ux&comma;tassuming0xand x2,0t&semi;

ans__12ux&comma;t=n=102fxsinnπx2&DifferentialD;xsinnπx2+02fxcosnπx2&DifferentialD;xcosnπx2&ExponentialE;π2n2t4

(3.13)

pdetestans__12&comma;pde__12&semi;

0

(3.14)

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

pde__132t2ux&comma;t=Ax+2x2ux&comma;t&colon;iv__13u0&comma;t=0,u1&comma;t=0,ux&comma;0=0,D2ux&comma;0=0&colon;

ans__13   pdsolvepde__13&comma; iv__13&semi;

ans__13ux&comma;t=0tn=12A01xsinnπx&DifferentialD;xsinnπxsinnπt&tau;1nπ&DifferentialD;&tau;1

(3.15)

pdetest_BCans__13&comma; iv__13&comma;ux&comma;t&semi;

0&comma;0&comma;0&comma;0

(3.16)

 

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

pde__14Ihtfx&comma;t=h22x2fx&comma;t2m&colon;iv__14f0&comma;t=0,fd&comma;t=0&colon;

ans__14pdsolvepde__14&comma;iv__14assuming 0<d&semi;

ans__14fx&comma;t=n=1_C1nsinnπxd&ExponentialE;I2hπ2n2td2m

(3.17)

pdetestans__14&comma;pde__14&comma; iv__14&semi;

0&comma;0&comma;0

(3.18)

Another method for linear PDE&BC with spatial initial conditions

This method is for problems of the form

tw=Mw,     wx__i&comma;0=fx__i

or

2t2w=Mw,     wx__i&comma;0=fx__i,     twt=0|twt=0=gx__i

 

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

 

Here are some examples:

pde__15twx1&comma;x2&comma;x3&comma;t2x2x1wx1&comma;x2&comma;x3&comma;t2x3x1wx1&comma;x2&comma;x3&comma;t2x32wx1&comma;x2&comma;x3&comma;t&plus;2x3x2wx1&comma;x2&comma;x3&comma;t&equals;0&colon;iv__15wx1&comma;x2&comma;x3&comma;0=x15x2x3&colon;

pdsolvepde__15&comma;iv__15&semi;

wx1&comma;x2&comma;x3&comma;t=20x2x320t20x12+tx2+x3x14+t2x13

(4.1)

pdetest%&comma;pde__15&comma;iv__15&semi;

0&comma;0

(4.2)

 

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

pde__162t2wx1&comma;x2&comma;x3&comma;t&equals;2x2x1wx1&comma;x2&comma;x3&comma;t&plus;2x3x1wx1&comma;x2&comma;x3&comma;t&plus;2x32wx1&comma;x2&comma;x3&comma;t2x3x2wx1&comma;x2&comma;x3&comma;t&colon;iv__16wx1&comma;x2&comma;x3&comma;0=x13x22+x3,D4wx1&comma;x2&comma;x3&comma;0=x2x3+x1&colon;

pdsolvepde__16&comma;iv__16&semi;

wx1&comma;x2&comma;x3&comma;t=x13x22+x3tx2x3+tx1+3t2x2x12+16t3+12t4x1

(4.3)

pdetest%&comma;pde__16&comma;iv__16&semi;

0&comma;0&comma;0

(4.4)

pde__172t2wx1&comma;x2&comma;x3&comma;t&equals;2x2x1wx1&comma;x2&comma;x3&comma;t&plus;2x3x1wx1&comma;x2&comma;x3&comma;t&plus;2x32wx1&comma;x2&comma;x3&comma;t2x3x2wx1&comma;x2&comma;x3&comma;t&colon;iv__17wx1&comma;x2&comma;x3&comma;0=x13x32+sinx1,D4wx1&comma;x2&comma;x3&comma;0=cosx1x2 x3&colon;

pdsolvepde__17&comma;iv__17&semi;

wx1&comma;x2&comma;x3&comma;t=t4x12+t2x13+3t2x12x3+x13x32+t36tx2x3+cosx1t+sinx1

(4.5)

pdetest%&comma;pde__17&comma;iv__17&semi;

0&comma;0&comma;0

(4.6)

More PDE&BC problems 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.

pde__182x2ux&comma;y+2y2ux&comma;y=0&colon;iv__18u0&comma;y=sinyy&colon;

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

ans__18  pdsolvepde__18&comma;iv__18&semi;

ans__18ux&comma;y=siny+Ix+_F2yIxyIx+y+Ix_F2y+Ixy+Ix

(5.1)

and we can check this answer by using pdetest:

pdetestans__18&comma;pde__18&comma;iv__18&semi;

0&comma;0

(5.2)

How it works, step by step:

The general solution for just the PDE is:

gensol  pdsolvepde__18&semi;

gensolux&comma;y=_F1yIx+_F2y+Ix

(5.1.1)

Substituting in the condition iv__18, we get:

u0&comma;y=sinyy

(5.1.2)

gensol_with_condition  evalrhsgensol&comma;x&equals;0&equals;rhsiv__18&semi;

gensol_with_condition_F1y+_F2y=sinyy

(5.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

_F1 &equals; unapplysolve&comma;_F1y&comma;y

_F1=y_F2yysinyy

(5.1.4)

evalgensol&comma;

ux&comma;y=_F2yIxyIx+siny+IxyIx+_F2y+Ix

(5.1.5)

Three other related examples

pde__192x2ux&comma;y+122y2ux&comma;y=0&colon;iv__19u0&comma;y=sinyy&colon;

pdsolvepde__19&comma;iv__19&semi;

ux&comma;y=2siny+I2x2+I2x+2y_F2yI2x2+I2x2y_F2y+I2x2I2x2y

(5.2.1)

pdetest%&comma;pde__19&comma;iv__19&semi;

0&comma;0

(5.2.2)

pde__202x2ux&comma;y+122y2ux&comma;y=0&colon;iv__20ux&comma;0=sinxx&colon;

pdsolvepde__20&comma;iv__20&semi;

ux&comma;y=2sinh2I2x2y2_F2y+I2x2_F2y+I2x2I2x2yI2x2y

(5.2.3)

pdetest%&comma;pde__20&comma;iv__20&semi;

0&comma;0

(5.2.4)

pde__212r2ur&comma;t+rur&comma;tr+2t2ur&comma;tr2=0&colon;iv__21u3&comma;t=sin6t&colon;

ans__21  pdsolvepde__21&comma; iv__21&semi;

ans__21ur&comma;t=_F22Iln3+Ilnr+t+sin6Iln3+6