Solving second-order non-linear PDE

4 Ansichten (letzte 30 Tage)
Felix
Felix am 5 Mai 2021
Beantwortet: Aditya Patil am 13 Mai 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 Kommentare
Aditya Patil
Aditya Patil am 12 Mai 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 am 13 Mai 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Aditya Patil
Aditya Patil am 13 Mai 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!

Translated by