Perfectly Matched Layer for a Standard Wave Equation

버전 1.0.1 (380 KB) 작성자: oreoman
Absorbing boundary conditions, not for solving Maxwell's Equations, but for a standard wave equation, e.g. for use with potentials.
다운로드 수: 119
업데이트 날짜: 2020/12/6

How do you add decent absorbing boundary conditions so that you can pretend you're simulating real electromagnetic phenomenon except inside of a computer? How do you do this when you're not solving Maxwell's equations, but wave equations for potentials and not fields? Well look no further: this does just that by using a, "standard," analytic continuation of spatial coordinates into the complex domain, and then discretized and solved using a few different techniques:

1. A fully explicit finite difference method using first order equations via an auxiliary differential equation,
2. A fully explicit finite difference method using second order equations,
3. A semi-implicit finite difference method using first order equations via an auxiliary differential equation.

The nice thing about these methods is that the exact same files should work exactly the same in 3D (albeit quite slow and memory intensive) because MATLAB is rad like that. The included PDF discusses some of the theory behind this work, with a very good reference to start with being:

http://math.mit.edu/~stevenj/18.369/pml.pdf

With the exception of setupPML.m each of these files is a standalone file that you should be able to run to see how things play out for a standard oscillating source charge distribution.

인용 양식

oreoman (2024). Perfectly Matched Layer for a Standard Wave Equation (https://github.com/michael-nix/MATLAB-Perfectly-Matched-Layer), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2020a
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
태그 태그 추가

Community Treasure Hunt

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

Start Hunting!

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
1.0.1

Fixed some typos.

1.0.0

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.