Hi, I am using MethodOfLines.jl for solving the beam vibration PDE.
I need to implement an initial condition that the initial velocity is zero, or Dt(u(t=0,x)) ~ 0.
I tried to put it into the bcs but failed.
The problem is in the expression Dt(u(t,x)), I could not set t to be 0.
Thank you!
using OrdinaryDiffEq, ModelingToolkit, MethodOfLines, DomainSets
@parameters t x
@variables u(..)
Dt = Differential(t)
Dt2 = Differential(t)
Dx2 = Differential(x)^2
Dx4 = Differential(x)^4
L = 1;
eq = Dt2(u(t, x)) ~ -Dx4(u(t, x)) + 1;
bcs = [#u(0, x) ~ 0.0,
Dt(u(0, x)) ~ 0.0,
#u(t, 0) ~ 0.0, Dx2(u(t, 0)) ~ 0.0,
#u(t, L) ~ 0.0, Dx2(u(t, L)) ~ 0.0,
];
domains = [t ∈ Interval(0.0, 1.0),
x ∈ Interval(0.0, L)];
@named pdesys = PDESystem(eq, bcs, domains,[t, x],[u(t, x)]);
dx = 0.05; order = 2;
discretization = MOLFiniteDifference([x => dx],t);
prob = discretize(pdesys, discretization);
ERROR: AssertionError: Boundary condition Differential(t)(u(0, x)) ~ 0.0 is not on a boundary of the domain, or is not a valid boundary condition