Items tagged with pdes

Feed

Dear all;

I have a function  C(S,t)  and I would like to show that this function is the solution of Partial differential equation ( denotes by PDES). I introduce all my function but when I try to simplify my PDES, I can not get zero as result. 

Many thanks for your help to simplify the PDES to get PDES=0. So, that C(S,t) is the solution of my PDEs.

simplification.mw

 

Hi

I have a nonlinear PDEs, solved using finite difference in the square

I get the following nonlinear system of equation. Is there any idea how correct the code and display the solution.

I will appreciate any help in this question.

 

restart;
n:=100;
h:=1/(n+1);

# Boundary condition

for j from 0 by 1  to n+1 do
u[0, j] = 0;
u[n+1, j] = 0;
u[j, 0] = 0;
u[j, n+1] = 0 ;
end do;
## Loop for interior point in the square
for i from 1 by 1 to  n do
for j from 1 by 1 to  n do
(u[i+1, j]-u[i, j])*(u[i+1, j]-2*u[i, j]+u[i-1, j])+h*(u[i, j+1]-2*u[i, j]+u[i, j-1]) = 0;
end do;
end do;
 

How can I solve this system of equations with unknown u[i,j], where i,j=1,..,n

 

Many thanks for any help

Hello everyone,

 

     I am having trouble trying to solve a system of differential equations. The modeling was made from the equilibrium equations of a pressure vessel. The set of equations is shown below:

     As you see it is a set of two second-order partial differential equations. So, we need four boundary conditions. This one is the first. It means that the left end of the pressure vessel is fixed.

This one is the second boundary condition. It means that the right end of the pressure vessel is free.

This one is the third boundary condition. It means that the inner surface of the pressure vessel is subject to an external load:

At last, we have the fourth boundary condition. It means that the outer surface of the pressure vessel is free.

     The first test I have been trying to do is the static case. In this case, the time terms (the right side of the two equations shown) is zero.

    The maple commands that I am using are the following:

 

restart; E := 200*10^9; nu := .33; G := E/(2*(1+nu)); RI := 0.254e-1; RO := 2*RI; p := proc (x) options operator, arrow; 50000000 end proc; sys := [E*(nu*(diff(v(x, r), x))/r+nu*(diff(diff(v(x, r), x), r))+(1-nu)*(diff(diff(u(x, r), x), x)))/(-2*nu^2-nu+1)+G*(diff(diff(u(x, r), r), r)+diff(diff(v(x, r), x), r)+(diff(u(x, r), r))/r+(diff(v(x, r), x))/r) = 0, E*((1-nu)*(diff(diff(v(x, r), r), r))+nu*(diff(diff(u(x, r), x), r))+(1-nu)*(diff(v(x, r), r))/r-(1-nu)*v(x, r)/r^2)/(-2*nu^2-nu+1)+G*(diff(diff(u(x, r), r), x)+diff(diff(v(x, r), x), x)) = 0]; BCs := {E*(nu*v(L, r)/r+nu*(D[2](v))(L, r)+(1-nu)*(D[1](u))(L, r))/(-2*nu^2-nu+1) = 0, E*(nu*v(x, RI)/RI+(1-nu)*(D[2](v))(x, RI)+nu*(D[1](u))(x, RI))/(-2*nu^2-nu+1) = -p(x), E*(nu*v(x, RO)/RO+(1-nu)*(D[2](v))(x, RO)+nu*(D[1](u))(x, RO))/(-2*nu^2-nu+1) = 0, u(0, r) = 0}

sol := pdsolve(sys, BCs, numeric)

 

I am getting the following error:

 

Error, (in pdsolve/numeric/process_IBCs) initial/boundary conditions must depend upon exactly one of the independent variables: 0.1459531181e12*v(L, r)/r+0.1459531181e12*(D[2](v))(L, r)+0.2963290579e12*(D[1](u))(L, r) = 0

In this case, my boundary conditions do depend on more than one independent variable. How do I proceed?

 

Thank you in advance,

Pedro Guaraldi

 

 

Dear all ;

I have a Partial differential equation

restart; with(PDEtools);

pde[2] := (diff(u(x, y), x))*(diff(u(x, y), x, x))+diff(u(x, y), y, y);
    where x and y in the square [0,1]

with boundary condition 

bc[2] := u(0, y) = 0, u(1, y) = 0, u(x, 0) = 0, u(x, 1) = 0;

Is there a simple code to compute the solution

Many thanks for any help

 

 

 

HI everyone,

As can be seen from the attached file, the first three equations of Eq. (5) will render some of the other equations (and other terms) redundant. How can I obtain a simplified system automatically?

Thanks.

Pdesample.mw

Hello

Hope everything going fine with you. I am facing problem to fine the exact (numerical) solution of the attached system of linear PDEs associated with BSc and ICs. I tried to solve it without BCs and ICs, with BCs and with ICs also all the times I failed. Please solve it either general, with ICs or BCs. You can try to solve it numrically. In attached file H(t) represent the unit step function. I am waiting your positive response.

PDEs_solve.mw 

With my best regards and sincerely.

Muhammad Usman

School of Mathematical Sciences 
Peking University, Beijing, China


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.

 

restart

 

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

pde[1] := diff(u(x, t), t, t) = c^2*(diff(u(x, t), x, x))-g
iv[1] := u(x, 0) = 0, u(0, t) = 0, (D[2](u))(x, 0) = 0

 

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

`assuming`([pdsolve([pde[1], iv[1]])], [0 < t, 0 < x, 0 < c])

u(x, t) = -invlaplace(exp(s*x/c)*_F1(s), s, t)+invlaplace(exp(-s*x/c)*_F1(s), s, t)-(1/2)*g*t^2+invlaplace(exp(s*x/c)/s^3, s, t)*g

(1.1)

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

ans[1] := `assuming`([pdsolve([pde[1], iv[1]], HINT = boundedseries)], [0 < t, 0 < x, 0 < c])

u(x, t) = (1/2)*g*(Heaviside(t-x/c)*(c*t-x)^2-c^2*t^2)/c^2

(1.2)

 

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

`assuming`([pdetest(ans[1], [pde[1], iv[1]])], [0 < t, 0 < x, 0 < c])

[0, 0, 0, 0]

(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:

with(inttrans)

transformed_PDE := laplace((lhs-rhs)(pde[1]), t, s)

s^2*laplace(u(x, t), t, s)-(D[2](u))(x, 0)-s*u(x, 0)-c^2*(diff(diff(laplace(u(x, t), t, s), x), x))+g/s

(1.1.1)

and the result is simplified using the initial conditions:

simplified_transformed_PDE := eval(transformed_PDE, {iv[1]})

s^2*laplace(u(x, t), t, s)-c^2*(diff(diff(laplace(u(x, t), t, s), x), x))+g/s

(1.1.2)

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

eq_U := subs(laplace(u(x, t), t, s) = U(x, s), simplified_transformed_PDE)

s^2*U(x, s)-c^2*(diff(diff(U(x, s), x), x))+g/s

(1.1.3)

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

solution_U := dsolve(eq_U, U(x, s))

U(x, s) = exp(-s*x/c)*_F2(s)+exp(s*x/c)*_F1(s)-g/s^3

(1.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_U := subs(coeff(rhs(solution_U), exp(s*x/c)) = 0, solution_U)

U(x, s) = exp(-s*x/c)*_F2(s)-g/s^3

(1.1.5)

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

Laplace_BC := laplace(u(0, t), t, s) = 0

laplace(u(0, t), t, s) = 0

(1.1.6)

Or, in the new variable U,

Laplace_BC_U := U(0, s) = 0

U(0, s) = 0

(1.1.7)

And by applying it to bounded_solution_U, we find the relationship

simplify(subs(x = 0, rhs(bounded_solution_U))) = 0

(_F2(s)*s^3-g)/s^3 = 0

(1.1.8)

isolate((_F2(s)*s^3-g)/s^3 = 0, indets((_F2(s)*s^3-g)/s^3 = 0, unknown)[1])

_F2(s) = g/s^3

(1.1.9)

so that our solution now becomes

bounded_solution_U := subs(_F2(s) = g/s^3, bounded_solution_U)

U(x, s) = exp(-s*x/c)*g/s^3-g/s^3

(1.1.10)

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

`assuming`([u(x, t) = invlaplace(rhs(bounded_solution_U), s, t)], [0 < x, 0 < t, 0 < c])

u(x, t) = (1/2)*g*(-t^2+Heaviside(t-x/c)*(c*t-x)^2/c^2)

(1.1.11)

Four other related examples

 

A few other examples:

pde[2] := diff(u(x, t), t, t) = c^2*(diff(u(x, t), x, x))
iv[2] := u(x, 0) = 0, u(0, t) = g(t), (D[2](u))(x, 0) = 0

ans[2] := `assuming`([pdsolve([pde[2], iv[2]], HINT = boundedseries)], [0 < t, 0 < x, 0 < c])

u(x, t) = Heaviside(t-x/c)*g((c*t-x)/c)

(1.2.1)

`assuming`([pdetest(ans[2], [pde[2], iv[2]])], [0 < t, 0 < x, 0 < c])

[0, 0, 0, 0]

(1.2.2)

pde[3] := diff(u(x, t), t) = k*(diff(u(x, t), x, x)); iv[3] := u(x, 0) = 0, u(0, t) = 1

ans[3] := `assuming`([pdsolve([pde[3], iv[3]], HINT = boundedseries)], [0 < t, 0 < x, 0 < k])

u(x, t) = 1-erf((1/2)*x/(t^(1/2)*k^(1/2)))

(1.2.3)

pdetest(ans[3], [pde[3], iv[3][2]])

[0, 0]

(1.2.4)

pde[4] := diff(u(x, t), t) = k*(diff(u(x, t), x, x)); iv[4] := u(x, 0) = mu, u(0, t) = lambda

ans[4] := `assuming`([pdsolve([pde[4], iv[4]], HINT = boundedseries)], [0 < t, 0 < x, 0 < k])

u(x, t) = (-lambda+mu)*erf((1/2)*x/(t^(1/2)*k^(1/2)))+lambda

(1.2.5)

pdetest(ans[4], [pde[4], iv[4][2]])

[0, 0]

(1.2.6)

 

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

pde[5] := diff(u(x, t), t) = diff(u(x, t), x, x)
iv[5] := u(x, 0) = 0, u(0, t) = f(t)

ans[5] := `assuming`([pdsolve([pde[5], iv[5]], HINT = boundedseries)], [0 < t, 0 < x])

u(x, t) = (1/2)*x*(int(f(_U1)*exp(-x^2/(4*t-4*_U1))/(t-_U1)^(3/2), _U1 = 0 .. t))/Pi^(1/2)

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

restart

 

Here is a simple example for the heat equation:

pde__6 := diff(u(x, t), t) = k*(diff(u(x, t), x, x)); iv__6 := u(0, t) = 0, u(l, t) = 0

ans__6 := `assuming`([pdsolve([pde__6, iv__6])], [0 < l])

u(x, t) = Sum(_C1*sin(_Z1*Pi*x/l)*exp(-k*Pi^2*_Z1^2*t/l^2), _Z1 = 1 .. infinity)

(2.1)

pdetest(ans__6, [pde__6, iv__6])

[0, 0, 0]

(2.2)

 

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

pde__7 := diff(u(x, t), t, t) = c^2*(diff(u(x, t), x, x))
iv__7 := u(0, t) = 0, u(l, t) = 0

ans__7 := `assuming`([pdsolve([pde__7, iv__7])], [0 < l])

u(x, t) = Sum(sin(_Z2*Pi*x/l)*(sin(c*_Z2*Pi*t/l)*_C1+cos(c*_Z2*Pi*t/l)*_C5), _Z2 = 1 .. infinity)

(2.3)

pdetest(ans__7, [pde__7, iv__7])

[0, 0, 0]

(2.4)

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

pde__8 := diff(u(x, t), t, t)-c^2*(diff(u(x, t), x, x)) = 0; iv__8 := u(0, t) = 0, (D[2](u))(x, 0) = 0, (D[1](u))(l, t) = 0, u(x, 0) = f(x)

ans__8 := `assuming`([pdsolve([pde__8, iv__8], u(x, t))], [0 <= x, x <= l])

u(x, t) = Sum(2*(Int(f(x)*sin((1/2)*Pi*(2*_Z3+1)*x/l), x = 0 .. l))*sin((1/2)*Pi*(2*_Z3+1)*x/l)*cos((1/2)*c*Pi*(2*_Z3+1)*t/l)/l, _Z3 = 1 .. infinity)

(2.5)

pdetest(ans__8, [pde__8, iv__8[1 .. 3]])

[0, 0, 0, 0]

(2.6)

 

Here is a problem with periodic boundary conditions (cf. Logan p.131). The function u(x, 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 f(x), and the variable x is the arc-length parameter that varies from 0 to 2*l.

pde__9 := diff(u(x, t), t) = M*(diff(u(x, t), x, x))
iv__9 := u(0, t) = u(2*l, t), (D[1](u))(0, t) = (D[1](u))(2*l, t), u(x, 0) = f(x)

ans__9 := `assuming`([pdsolve([pde__9, iv__9], u(x, t))], [0 <= x, x <= 2*l])

u(x, t) = (1/2)*_C8+Sum(((Int(f(x)*sin(_Z4*Pi*x/l), x = 0 .. 2*l))*sin(_Z4*Pi*x/l)+(Int(f(x)*cos(_Z4*Pi*x/l), x = 0 .. 2*l))*cos(_Z4*Pi*x/l))*exp(-M*Pi^2*_Z4^2*t/l^2)/l, _Z4 = 1 .. infinity)

(2.7)

pdetest(ans__9, [pde__9, iv__9[1 .. 2]])

[0, 0, 0]

(2.8)

 

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

pde__10 := diff(u(x, t), t) = k*(diff(u(x, t), x, x))
iv__10 := (D[1](u))(0, t) = 0, (D[1](u))(l, t) = 0, u(x, 0) = f(x)

ans__10 := `assuming`([pdsolve([pde__10, iv__10], u(x, t))], [0 <= x, x <= l])

u(x, t) = Sum(2*(Int(f(x)*cos(_Z6*Pi*x/l), x = 0 .. l))*cos(_Z6*Pi*x/l)*exp(-k*Pi^2*_Z6^2*t/l^2)/l, _Z6 = 1 .. infinity)

(2.9)

pdetest(ans__10, [pde__10, iv__10[1 .. 2]])

[0, 0, 0]

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

pde__11 := diff(u(x, t), t, t)-c^2*(diff(u(x, t), x, x)) = p(x, t)
iv__11 := u(0, t) = 0, u(Pi, t) = 0, u(x, 0) = 0, (D[2](u))(x, 0) = 0

ans__11 := pdsolve([pde__11, iv__11], u(x, t))

u(x, t) = Int(Sum(2*(Int(p(x, tau1)*sin(_Z7*x), x = 0 .. Pi))*sin(_Z7*x)*sin(c*_Z7*(t-tau1))/(Pi*_Z7*c), _Z7 = 1 .. infinity), tau1 = 0 .. t)

(2.11)

Current pdetest is unable to verify that this solution cancells 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`

pdetest_BC({ans__11}, [iv__11], [u(x, t)])

[0, 0, 0, 0]

(2.12)

 

 

Consider a heat absorption-radiation problem in the bounded domain 0 <= x and x <= 2, t >= 0:

pde__12 := diff(u(x, t), t) = diff(u(x, t), x, x)
iv__12 := u(x, 0) = f(x), (D[1](u))(0, t)+u(0, t) = 0, (D[1](u))(2, t)+u(2, t) = 0

ans__12 := `assuming`([pdsolve([pde__12, iv__12], u(x, t))], [0 <= x and x <= 2, 0 <= t])

u(x, t) = (1/2)*_C8+Sum(((Int(f(x)*cos((1/2)*_Z8*Pi*x), x = 0 .. 2))*cos((1/2)*_Z8*Pi*x)+(Int(f(x)*sin((1/2)*_Z8*Pi*x), x = 0 .. 2))*sin((1/2)*_Z8*Pi*x))*exp(-(1/4)*Pi^2*_Z8^2*t), _Z8 = 1 .. infinity)

(2.13)

pdetest(ans__12, pde__12)

0

(2.14)

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

pde__13 := diff(u(x, t), t, t) = A*x+diff(u(x, t), x, x)
iv__13 := u(0, t) = 0, u(1, t) = 0, u(x, 0) = 0, (D[2](u))(x, 0) = 0

ans__13 := pdsolve([pde__13, iv__13])

u(x, t) = Int(Sum(2*A*(Int(x*sin(Pi*_Z9*x), x = 0 .. 1))*sin(Pi*_Z9*x)*sin(Pi*_Z9*(t-tau1))/(Pi*_Z9), _Z9 = 1 .. infinity), tau1 = 0 .. t)

(2.15)

pdetest_BC({ans__13}, [iv__13], [u(x, t)])

[0, 0, 0, 0]

(2.16)

 

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

pde__14 := I*h*(diff(f(x, t), t)) = -h^2*(diff(f(x, t), x, x))/(2*m)
iv__14 := f(0, t) = 0, f(d, t) = 0

ans__14 := `assuming`([pdsolve([pde__14, iv__14])], [0 < d])

f(x, t) = Sum(_C1*sin(_Z10*Pi*x/d)*exp(-((1/2)*I)*h*Pi^2*_Z10^2*t/(d^2*m)), _Z10 = 1 .. infinity)

(2.17)

pdetest(ans__14, [pde__14, iv__14])

[0, 0, 0]

(2.18)

Another method has been implemented for linear PDE&BC

 

This method is for problems of the form

 

 "(&PartialD;w)/(&PartialD;t)=M[w]"", w(`x__i`,0) = f(`x__i`)" or

 

"((&PartialD;)^2w)/((&PartialD;)^( )t^2)="M[w]", w(`x__i`,0) = f(`x__i`), (&PartialD;w)/(&PartialD;t)() ? ()|() ? (t=0) =g(`x__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__15 := diff(w(x1, x2, x3, t), t)-(diff(w(x1, x2, x3, t), x2, x1))-(diff(w(x1, x2, x3, t), x3, x1))-(diff(w(x1, x2, x3, t), x3, x3))+diff(w(x1, x2, x3, t), x3, x2) = 0
iv__15 := w(x1, x2, x3, 0) = x1^5*x2*x3NULL

pdsolve([pde__15, iv__15])

w(x1, x2, x3, t) = 20*(((1/20)*x2*x3-(1/20)*t)*x1^2+(1/4)*t*(x2+x3)*x1+t^2)*x1^3

(3.1)

pdetest(%, [pde__15, iv__15])

[0, 0]

(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:

pde__16 := diff(w(x1, x2, x3, t), t, t) = diff(w(x1, x2, x3, t), x2, x1)+diff(w(x1, x2, x3, t), x3, x1)+diff(w(x1, x2, x3, t), x3, x3)-(diff(w(x1, x2, x3, t), x3, x2))
iv__16 := w(x1, x2, x3, 0) = x1^3*x2^2+x3, (D[4](w))(x1, x2, x3, 0) = -x2*x3+x1

pdsolve([pde__16, iv__16])

w(x1, x2, x3, t) = x1^3*x2^2+x3-t*x2*x3+t*x1+3*t^2*x2*x1^2+(1/6)*t^3+(1/2)*t^4*x1

(3.3)

pdetest(%, [pde__16, iv__16])

[0, 0, 0]

(3.4)

pde__17 := diff(w(x1, x2, x3, t), t, t) = diff(w(x1, x2, x3, t), x2, x1)+diff(w(x1, x2, x3, t), x3, x1)+diff(w(x1, x2, x3, t), x3, x3)-(diff(w(x1, x2, x3, t), x3, x2))
iv__17 := w(x1, x2, x3, 0) = x1^3*x3^2+sin(x1), (D[4](w))(x1, x2, x3, 0) = cos(x1)-x2*x3

pdsolve([pde__17, iv__17])

w(x1, x2, x3, t) = (1/2)*t^4*x1+t^2*x1^3+3*t^2*x1^2*x3+x1^3*x3^2+(1/6)*t^3-t*x2*x3+cos(x1)*t+sin(x1)

(3.5)

pdetest(%, [pde__17, iv__17])

[0, 0, 0]

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

pde__18 := diff(u(x, y), x, x)+diff(u(x, y), y, y) = 0
iv__18 := u(0, y) = sin(y)/y

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

ans__18 := pdsolve([pde__18, iv__18])

u(x, y) = (sin(-y+I*x)+_F2(y-I*x)*(y-I*x)+(-y+I*x)*_F2(y+I*x))/(-y+I*x)

(4.1)

and we can check this answer by using pdetest:

pdetest(ans__18, [pde__18, iv__18])

[0, 0]

(4.2)

How it works, step by step:

 

The general solution for just the PDE is:

gensol := pdsolve(pde__18)

u(x, y) = _F1(y-I*x)+_F2(y+I*x)

(4.1.1)

Substituting in the condition iv__18, we get:

u(0, y) = sin(y)/y

(4.1.2)

gensol_with_condition := eval(rhs(gensol), x = 0) = rhs(iv__18)

_F1(y)+_F2(y) = sin(y)/y

(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

_F1 = unapply(solve(_F1(y)+_F2(y) = sin(y)/y, _F1(y)), y)

_F1 = (proc (y) options operator, arrow; (-_F2(y)*y+sin(y))/y end proc)

(4.1.4)

eval(gensol, _F1 = (proc (y) options operator, arrow; (-_F2(y)*y+sin(y))/y end proc))

u(x, y) = (-_F2(y-I*x)*(y-I*x)-sin(-y+I*x))/(y-I*x)+_F2(y+I*x)

(4.1.5)

 

 

Three other related examples

 

pde__19 := diff(u(x, y), x, x)+(1/2)*(diff(u(x, y), y, y)) = 0
iv__19 := u(0, y) = sin(y)/y

pdsolve([pde__19, iv__19])

u(x, y) = (2*sin(-y+((1/2)*I)*2^(1/2)*x)+(-I*2^(1/2)*x+2*y)*_F2(y-((1/2)*I)*2^(1/2)*x)+(I*2^(1/2)*x-2*y)*_F2(y+((1/2)*I)*2^(1/2)*x))/(I*2^(1/2)*x-2*y)

(4.2.1)

pdetest(%, [pde__19, iv__19])

[0, 0]

(4.2.2)

pde__20 := diff(u(x, y), x, x)+(1/2)*(diff(u(x, y), y, y)) = 0
iv__20 := u(x, 0) = sin(x)/x

pdsolve([pde__20, iv__20])

u(x, y) = (sinh((1/2)*(I*2^(1/2)*x-2*y)*2^(1/2))*2^(1/2)-(I*2^(1/2)*x-2*y)*(_F2(-y+((1/2)*I)*2^(1/2)*x)-_F2(y+((1/2)*I)*2^(1/2)*x)))/(I*2^(1/2)*x-2*y)

(4.2.3)

pdetest(%, [pde__20, iv__20])

[0, 0]

(4.2.4)

pde__21 := diff(u(r, t), r, r)+(diff(u(r, t), r))/r+(diff(u(r, t), t, t))/r^2 = 0
iv__21 := u(3, t) = sin(6*t)

ans__21 := pdsolve([pde__21, iv__21])

u(r, t) = -_F2(-(2*I)*ln(3)+I*ln(r)+t)+sin(-(6*I)*ln(3)+(6*I)*ln(r)+6*t)+_F2(-I*ln(r)+t)

(4.2.5)

pdetest(ans__21, [pde__21, iv__21])

[0, 0]

(4.2.6)

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

 

restart

Consider the following problem with an initial condition:

pde__22 := diff(u(x, t), t) = diff(u(x, t), x, x)+m
iv__22 := u(x, 0) = sin(x)

 

pdsolve can solve this problem directly:

ans__22 := pdsolve([pde__22, iv__22])

u(x, t) = sin(x)*exp(-t)+m*t

(5.1)

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

pdetest(ans__22, [pde__22, iv__22])

[0, 0]

(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:

with(inttrans)

transformed_PDE := fourier((lhs-rhs)(pde__22) = 0, x, s)

-2*m*Pi*Dirac(s)+s^2*fourier(u(x, t), x, s)+diff(fourier(u(x, t), x, s), t) = 0

(5.1.1)

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

transformed_PDE_U := subs(fourier(u(x, t), x, s) = U(t, s), transformed_PDE)

-2*m*Pi*Dirac(s)+s^2*U(t, s)+diff(U(t, s), t) = 0

(5.1.2)

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

solution_U := dsolve(transformed_PDE_U, U(t, s))

U(t, s) = (2*m*Pi*Dirac(s)*t+_F1(s))*exp(-s^2*t)

(5.1.3)

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

u(x, 0) = sin(x)

(5.1.4)

transformed_IC := fourier(iv__22, x, s)

fourier(u(x, 0), x, s) = I*Pi*(Dirac(s+1)-Dirac(s-1))

(5.1.5)

Or, in the new variable U,

trasnformed_IC_U := U(0, s) = rhs(transformed_IC)

U(0, s) = I*Pi*(Dirac(s+1)-Dirac(s-1))

(5.1.6)

Now, we evaluate solution_U at t = 0:

solution_U_at_IC := eval(solution_U, t = 0)

U(0, s) = _F1(s)

(5.1.7)

and substitute the transformed initial condition into it:

eval(solution_U_at_IC, {trasnformed_IC_U})

I*Pi*(Dirac(s+1)-Dirac(s-1)) = _F1(s)

(5.1.8)

Putting this into our solution_U, we get

eval(solution_U, {(rhs = lhs)(I*Pi*(Dirac(s+1)-Dirac(s-1)) = _F1(s))})

U(t, s) = (2*m*Pi*Dirac(s)*t+I*Pi*(Dirac(s+1)-Dirac(s-1)))*exp(-s^2*t)

(5.1.9)

Finally, we apply the inverse Fourier transformation to this,

solution := u(x, t) = invfourier(rhs(U(t, s) = (2*m*Pi*Dirac(s)*t+I*Pi*(Dirac(s+1)-Dirac(s-1)))*exp(-s^2*t)), s, x)

u(x, t) = sin(x)*exp(-t)+m*t

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

pde__23 := diff(u(r, t), r, r)+(diff(u(r, t), r))/r+(diff(u(r, t), t, t))/r^2 = 0
iv__23 := u(1, t) = 0, u(2, t) = 5

ans__23 := pdsolve([pde__23, iv__23])

u(r, t) = 5*ln(r)/ln(2)

(6.1)

pdetest(ans__23, [pde__23, iv__23])

[0, 0, 0]

(6.2)

pde__24 := diff(u(x, y), y, y)+diff(u(x, y), x, x) = 6*x-6*y

iv__24 := u(x, 0) = x^3+11*x+1, u(x, 2) = x^3+11*x-7, u(0, y) = -y^3+1, u(4, y) = -y^3+109

ans__24 := pdsolve([pde__24, iv__24])

u(x, y) = x^3-y^3+11*x+1

(6.3)

pdetest(ans__24, [pde__24, iv__24])

[0, 0, 0, 0, 0]

(6.4)

``



Download PDE_and_BC_update.mw

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

I have the following PDE system steaming from Flash Photolysis:

pdesys := [diff(J(x, t), x) = varepsilon*J(x, t)*C(x, t), diff(C(x, t), t) = phi*varepsilon*J(x, t)*C(x, t)]

when I use pdsolve(pdesys,[J,C]) I get:

{C(x, t) = 0, J(x, t) = _F1(t)}, {C(x, t) = _F1(x)*_C1, J(x, t) = 0}

The solution appears to be either C(x,t) = 0 or J(x,t) = 0. This are the obvious solutions (0 = 0). I have the analytical solution to this PDE system where neither C(x,t) nor J(x,t) are 0.

How to solve this system in maple? Thanks.

 

I have a system of PDEs with 3 dependent variables (U, V, W) and 3 independent variables (x, y, t).

I need an explicit numerical solution, i.e., a table with the values of U, V and W, corresponding to several values of x, y and t.

Can anybody help me?

 

HI, I am trying to solve two PDEs but in boundry conditions there is arising an error plz help.
Nazi.mw

Hello All,

I looked through the Maple help on PDE systems and pdsolve and the physics problems that appear there. THere are a number of single-PDE cases with initial / boundary conditions; but I couldn't find PDE systems with ics/bcs.

 

Would you have a (simple) example of a PDE system with its initial / boundary conditions? I am attempting to build understanding of the syntax and different options of "pdsolve". Examples seem to be a great way to learn how to solve PDE systems. One can then pdsolve the PDE system without ics; then add them, try different options etc.

 

Thank you!

 

I'm trying to build a Maple procedure that will generate vector fields on a metric with certain properties. Working with metric g over the coordinates {u,v,w}, call the field X = (a(u,v,w), b(u,v,w), c(u,v,w)). The field should satisfy <X, X> = 0 and have the directional covariant derivative of X in the direction of each coordinate vector field = 0 (with resepct to the Levi-Civita conenction).

Basically, these conditions yield a system of 3 PDEs and an algebraic expressionin terms of a,b,c. I've been trying to solve them using pdsolve, but I'm getting the error message:

>Error, (in pdsolve/sys) the input system cannot contain equations in the arbitrary parameters alone; found equation depending only on _F1(u,v,w): _F1(u,v,w)

I've attached my worksheet. Can anyone help me out?

 

Thanks! ppwaves.mw

Good day everyone,

please how can one solve this pde in terms of Bessel function or any other analytic solution with the plot.

See the file ID.mw

Thanks.

Hello!

So as the title says i have a problem with solution of second order differential equation system.

The problem is that after i set some initial conditions and check the solution when the time equals zero, the solution graph is completely different from my initial conditions which is obviously incorrect. I know that i can change "spacestep" parameter, but i am not sure if it is the only way to fix the problem. Are there any other ways to fix this?

Here is a part of my code if it helps

r0=1.570796327
theta0=6.000000000


Hello everyone!

I'm trying to understand how to work with PDEs in Maple by solving a basic PDE such as the wave equation, along with conditions at t = 0 in terms of arbitrary functions. I stumbled upon the very same example, included in the Maple Online help at this page under the part "Three Textbook Examples":

I tried to copy and paste the code and execute it, but to no avail: it seems like pdsolve doesn't give me any other result than a blank space, unlike in the example reported in the Online help. Can anyone tell me if (and where) I am doing wrong? Is it possible that my version of Maple (Maple 13) may not be compatible with the procedures required by this example?

 A warm thank you to whoever will help me!

1 2 Page 1 of 2