Comments (2)
This is the paper that describes MPB in detail:
http://www.opticsinfobase.org/abstract.cfm?URI=oe-8-3-173
This is linked in the manual from https://mpb.readthedocs.io/en/latest/Developer_Information/#the-mathematics-of-mpb
In principle, similar techniques can be used for lossy media, with the caveats that:
-
Lossy media make the operator non-Hermitian, requiring completely different eigensolver techniques and a different way of describing the eigenvalues you want. ("Lowest bands" is not applicable any more.)
-
Realistic lossy media are often dispersive, transforming it into a nonlinear eigenproblem. (Of course, if the frequency dependence is a rational function, you can transform it into a polynomial eigenproblem and from there back into a linear eigenproblem, but it is still messier).
-
Weakly lossy materials can often be handled via perturbation theory (with MPB computing the lossless solutions). Strongly lossly materials like metals really call for a different discretization scheme that can employ nonuniform grids, like FEM or BEM.
from mpb.
Thank you for your comprehensive response. Sorry, I should have picked up on some of those links from the docs.
Using perturbation theory in conjunction with MPB is an interesting idea. Has anyone done this before?
from mpb.
Related Issues (20)
- python: store group velocities and fields at every k-point
- TE-like mode is not smooth when changing the geometry HOT 2
- Trying out mode solving with negative epsilon HOT 1
- Use of incompatible licenses HOT 1
- normal_vectors test is flaky
- MPB support for conductance? HOT 1
- Reduced degeneracy resolution in triangular lattices
- Unbound variable: make-uniform-array HOT 4
- confusion about TE/TM separation in output HOT 4
- numerical orthogonality
- run Meep tests in MPB CI
- `make check` fails with Guile 3.0
- helix arrays in MPB HOT 1
- compute-field-integral in MPB
- integral in MPB HOT 2
- Document memory scaling laws HOT 1
- Please consider making a release
- MPB Configure script error due to linking to guile failing HOT 2
- Integrals don't work on charge densities
- Prism can't work properly in lattice coordinates
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mpb.