I have completed a 2D finite difference code in MATLAB that has a domain of (0,1)x(0,1) and has Dirichlet Boundary Conditions of value zero along the boundary. I get convergence rates of 2 for second order and 4 for fourth order. My issue now is that I'm now wanting to change the domain to a more complex domain and see the resulting convergence rates. I have cut 4 square holes throughout the plate within the domain (0,1)x(0,1) with Dirichlet Boundary Conditions of value zero. When I run the code for the new domain I do not get convergence rates of 2 and 4. They usually end up being in the 1.3 - 2 range. I'm imposing the inner boundary conditions using the penalty method.(adsbygoogle = window.adsbygoogle || []).push({});

It is my belief that the holes within the new domain are causing the convergence rates to change. Is there a reason for this or is something just incorrect in my calculations? I have made sure the code was correct using the method of manufactured solutions.

Attached is example domain and solution output.

I can attach the code if needed but I'm more so asking a theory question I suppose

**Physics Forums | Science Articles, Homework Help, Discussion**

Dismiss Notice

Join Physics Forums Today!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# A 2D Finite Difference Convergence Rate Issues

Have something to add?

Draft saved
Draft deleted

**Physics Forums | Science Articles, Homework Help, Discussion**