Solving second-order non-linear PDE

4 visualizaciones (últimos 30 días)
Felix
Felix el 5 de Mayo de 2021
Respondida: Aditya Patil el 13 de Mayo de 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 comentarios
Aditya Patil
Aditya Patil el 12 de Mayo de 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 el 13 de Mayo de 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.

Iniciar sesión para comentar.

Respuestas (1)

Aditya Patil
Aditya Patil el 13 de Mayo de 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");

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by