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

3 views (last 30 days)
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 Comments
Lars Hubatsch
Lars Hubatsch on 11 Feb 2022
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.

Sign in to comment.

Answers (1)

hamza karim
hamza karim on 25 Apr 2022
Edited: hamza karim on 25 Apr 2022
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 Comments
Lars Hubatsch
Lars Hubatsch on 25 Apr 2022
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 on 26 Apr 2022
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

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!