Solving second-order non-linear PDE

4 views (last 30 days)
Felix
Felix on 5 May 2021
Answered: Aditya Patil on 13 May 2021
I am trying to solve this second order differential equation
Where
θ is a function of space (x) and time (t),
κ is a function of space. This is a known ramp function that starts at 0 and increases to a fixed value.
v is constant and is
A is a constant.
With initial conditions at of ,
I have tried using pdepe but I am struggling to get it into a form that is acceptable. I have also attempted reformating it as an ODE but wasn't able to get any resonable solutions.
Is this a feasible equation that can be solved with Matlabs solvers?
Thanks
  2 Comments
Aditya Patil
Aditya Patil on 12 May 2021
Can you verify the following? If v is constant and v = x/t, then theta is function of only t(or x), as x = vt. Similarly k is also function of t.
Felix
Felix on 13 May 2021
Yes, with the chain rule we can make it into solely a function of x with , here v is constant so (and the dash is derivative wrt x). This gives .
But i can't solve this one either.

Sign in to comment.

Answers (1)

Aditya Patil
Aditya Patil on 13 May 2021
As per my understanding, the core issue here is with the variable k which needs to be saturated. In other words,
k = min(0, max(C, x))
For some constant C.
This is currently not supported by the ODE solvers. More about this in this answer.
As a workaround, you can set the above condition in the odefun parameter of the solver, say ode45.
On a side note, you can also use Simulink. See the attached file for example.
t = [1:0.1:20];
x = sin(t);
input = [t;x]';
sim("differentialExample");

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!