1
$\begingroup$

I wish to solve the following fourth order partial differential equation including Laplacian enter image description here

with the boundary conditions enter image description here

with the initial conditions

enter image description here

\[Nu] = 0.34;
\[Beta] = 0.4;
solution = NDSolve[{
\!\(\*SuperscriptBox[\(w\), 
TagBox[
RowBox[{"(", 
RowBox[{"0", ",", "0", ",", "2"}], ")"}],
Derivative],
MultilineFunction->None]\)[r, \[Theta], t] + 
 Laplacian[
  Laplacian[w[r, \[Theta], t], {r, \[Theta]}, 
   "Polar"], {r, \[Theta]}, "Polar"] == 16, 
w[\[Beta], \[Theta], t] == 0,

\!\(\*SuperscriptBox[\(w\), 
TagBox[
RowBox[{"(", 
RowBox[{"1", ",", "0", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[\[Beta], \[Theta], t] == 0,

\!\(\*SuperscriptBox[\(w\), 
TagBox[
RowBox[{"(", 
RowBox[{"2", ",", "0", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[1, \[Theta], t] + \[Nu]/1*
\!\(\*SuperscriptBox[\(w\), 
TagBox[
RowBox[{"(", 
RowBox[{"1", ",", "0", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[1, \[Theta], t] + \[Nu]/1^2*
\!\(\*SuperscriptBox[\(w\), 
TagBox[
RowBox[{"(", 
RowBox[{"0", ",", "2", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[1, \[Theta], t] == 0,
 ((D[Laplacian[w[r, \[Theta], t], {r, \[Theta]}, "Polar"], r] + (
     1 - \[Nu])/r^2*D[
\!\(\*SuperscriptBox[\(w\), 
TagBox[
RowBox[{"(", 
RowBox[{"1", ",", "0", ",", "0"}], ")"}],
Derivative],
MultilineFunction->None]\)[r, \[Theta], t] - w[r, \[Theta], t]/
       r, {\[Theta], 2}]) /. r -> 1) == 0,
w[r, \[Theta], 0] == 0}, 
w[r, \[Theta], t], {r, 0.4, 1}, {\[Theta], 0, 2*Pi}, {t, 0, 5}]

I tried to solve it with NDSolve, but failed

$\endgroup$
11
  • $\begingroup$ Define "failed." What exactly happened? $\endgroup$
    – rcollyer
    Commented Jun 30, 2015 at 12:38
  • $\begingroup$ @rcollyer NDSolve::ivone: Boundary values may only be specified for one independent variable. Initial values may only be specified at one value of the other independent variable. >> $\endgroup$
    – 1112131424
    Commented Jun 30, 2015 at 13:03
  • $\begingroup$ @bbgodfrey I guess NDSolve cannot Solve the partial differential equations with the implicit boundaty condition $\endgroup$
    – 1112131424
    Commented Jun 30, 2015 at 13:18
  • $\begingroup$ Because the PDE is second-order in time, a second boundary condition in time probably is needed. $\endgroup$
    – bbgodfrey
    Commented Jun 30, 2015 at 13:40
  • $\begingroup$ You might need a periodicity boundary condition in $\theta$ as well — Mathematica doesn't know by default that $w(r,0,t) = w (r, 2\pi, t)$. $\endgroup$ Commented Jun 30, 2015 at 13:46

1 Answer 1

3
$\begingroup$

Solving this problem is probably going to get you in to the deep weeds of Method specifications in NDSolve. When Mathematica encounters the code as originally stated, it defaults to a finite element method. The problem is that Mathematica's finite element methods can't handle equations with higher than second-order derivatives in the spatial variables, hence the error message:

NDSolve::femcmsd: The spatial derivative order of the PDE may not exceed two. >>

We can force Mathematica to use finite-difference methods instead of finite-element methods by specifying

Method -> {"PDEDiscretization" -> {"MethodOfLines", "SpatialDiscretization" -> "TensorProductGrid"}}

but if you do this, you get the other error message

NDSolve::ivone: Boundary values may only be specified for one independent variable. Initial values may only be specified at one value of the other independent variable. >>

As has been pointed out in the comments, your problem as stated doesn't have the correct number of boundary conditions; NDSolve will throw the above error either when it's using finite-difference methods and you have either too many boundary conditions or too few. (See the page ref/message/NDSolve/ivone in the documentation.) I believe this is why the solver is defaulting to finite-element methods; you can leave some boundary conditions unspecified in these methods, and Mathematica will effectively fill them for you. (I'm not 100% clear on how it does this; I believe they're effectively Neumann boundary conditions for which the normal derivatives vanish, but I welcome correction.)

For your case, you would probably need conditions on the zeroth through third derivatives with respect to $r$ and $\theta$ at the boundaries $r = \beta$ and 1 and $\theta = 0$ and $2 \pi$. (The "zeroth" derivative is, of course, the function itself.) You would also need conditions on the zeroth and first derivatives with respect to $t$ at $t = 0$. If boundary conditions are specified on a rectangular region, then I believe that the above Method specification is no longer necessary; but there may be other wrinkles that you might yet run into once these problems are fixed....

$\endgroup$
1
  • $\begingroup$ I know what your mean,thank you for your help.I will change my program tomorrow. $\endgroup$
    – 1112131424
    Commented Jun 30, 2015 at 14:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.