How can I solve two PDEs connected by a jump boundary condition?

2 次查看(过去 30 天)
I'm trying to solve the following PDE problem:
with the transmission condition between the two domains:
Is this possible in Matlab, using pdepe? I saw this but I don't think the transmission conditions are satisfied automatically in my case, due to the jump in u.
  2 个评论
Lars Hubatsch
Lars Hubatsch 2022-2-11
They are diffusion equations of molecules that are connected by a phase boundary. The boundary is the interesting bit for me, since I'm interested in exchange between the compartments r<R and r>R.

请先登录,再进行评论。

回答(1 个)

hamza karim
hamza karim 2022-4-25
编辑:hamza karim 2022-4-25
as you said you can't use pdepe to solve this system due to the interface condition.
You need to mannually discitize your system. I have come accros the same problem before. My advice is to use implicite euler or Crank nicolson for the time derivative, and second order finite difference for your space derivative (for the interior nodes). I assume you also have no flux boundary condition at r=0 and r=D, these can be treated by a second order backward difference.
Now for your interface, in my problem is divided the interface into two nodal points (N/2 and N/2 +1)
the first condition can be written as:
the second one you need to do a second order backward difference for u1 and second order forwad difference for u2, you would have the following:
  2 个评论
Lars Hubatsch
Lars Hubatsch 2022-4-25
Thanks a lot, this is pretty much precisely the solution I went for in the end, following advice from here.
The inner boundary/jump conditions can simply be absorbed into the linear system of equations and then solved via backslash.
Thanks anyway, good to know we converged :)!
hamza karim
hamza karim 2022-4-26
exactly you put your discritized linear equations of the first and second phase in the same matrix and you connect your nodes with the boundary condition and then solve the system using the backslash as you said

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by