MethodOfLines.jl: time derivative as initial conditions

There are two points here.

First, MethodOfLines kind of applies a smart set of heuristics to support as many initial/boundary conditions are possible, see MethodOfLines.jl: Automated Finite Difference for Physics-Informed Learning · MethodOfLines.jl
In particular, one of the currently known limitation is this:

  • That initial conditions are of the form u(...) ~ ..., and don’t reference the initial time derivative.

To solve the PDE anyway, you could translate into the common form:
Firstly, your PDE equation is \partial_t u = \partial_x^4 u +1 and the initial condition \partial_t u = 0 at t=0 which implies \partial_x^4 u = -1 at t = 0.
Then, if we denote u_0(x) = u(0,x) we get \partial_x^4 u_0 = -1 which is satisfied exactly if u_0 = c_3 x^3 + c_2 x^2 + c_1 x^1 + c_0.

With the four boundary conditions (which are commented in your code) you could determine the four unknowns c_3, ..., c_0 and obtain the initial data u = u_0 at t=0.


As a side note: If the initial velocity is zero and the boundary conditions are satisfied, then the solution of the PDE will be constant…

1 Like