Perfectly Matched Layer for a Standard Wave Equation

Version 1.0.1 (380 ko) par oreoman
Absorbing boundary conditions, not for solving Maxwell's Equations, but for a standard wave equation, e.g. for use with potentials.
118 téléchargements
Mise à jour 6 déc. 2020

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.

Citation pour cette source

oreoman (2024). Perfectly Matched Layer for a Standard Wave Equation (https://github.com/michael-nix/MATLAB-Perfectly-Matched-Layer), GitHub. Récupéré le .

Compatibilité avec les versions de MATLAB
Créé avec R2020a
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Tags Ajouter des tags

Community Treasure Hunt

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

Start Hunting!

Les versions qui utilisent la branche GitHub par défaut ne peuvent pas être téléchargées

Version Publié le Notes de version
1.0.1

Fixed some typos.

1.0.0

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.