Solving second-order non-linear PDE

4 vues (au cours des 30 derniers jours)
Felix
Felix le 5 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 commentaires
Aditya Patil
Aditya Patil le 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 le 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.

Connectez-vous pour commenter.

Réponses (1)

Aditya Patil
Aditya Patil le 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