Skip to content

Commit

Permalink
remove unused file from Python test directory and minor docs update (N…
Browse files Browse the repository at this point in the history
…anoComp#1166)

* remove two unused files from Python test directory and minor docs update

* restore python/tests/utils.py

* eig_resolution for MPB defaults to twice Meep resolution (rather than just equal)
  • Loading branch information
oskooi authored Apr 2, 2020
1 parent e0db0c7 commit 43bb85c
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 188 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@
- Simulation in **1d, 2d, 3d**, and **cylindrical** coordinates.
- Distributed memory [parallelism](https://meep.readthedocs.io/en/latest/Parallel_Meep) on any system supporting [MPI](https://en.wikipedia.org/wiki/MPI).
- Portable to any Unix-like operating system such as [Linux](https://en.wikipedia.org/wiki/Linux), [macOS](https://en.wikipedia.org/wiki/macOS), and [FreeBSD](https://en.wikipedia.org/wiki/FreeBSD).
- **Precompiled binary packages** of official releases and nightly builds via [Conda](https://meep.readthedocs.io/en/latest/Installation/#conda-packages).
- **Precompiled binary packages** of official releases and nightly builds of the master branch via [Conda](https://meep.readthedocs.io/en/latest/Installation/#conda-packages).
- Variety of arbitrary [material](https://meep.readthedocs.io/en/latest/Materials) types: **anisotropic** electric permittivity ε and magnetic permeability μ, along with **dispersive** ε(ω) and μ(ω) including loss/gain, **nonlinear** (Kerr & Pockels) dielectric and magnetic materials, electric/magnetic **conductivities** σ, **saturable** gain/absorption, and **gyrotropic** media (magneto-optical effects).
- [Materials library](https://meep.readthedocs.io/en/latest/Materials/#materials-library) containing predefined broadband, complex refractive indices.
- [Perfectly-matched layer](https://meep.readthedocs.io/en/latest/Perfectly_Matched_Layer) (**PML**) absorbing boundaries as well as **Bloch-periodic** and perfect-conductor boundary conditions.
- Exploitation of [symmetries](https://meep.readthedocs.io/en/latest/Exploiting_Symmetry) to reduce the computation size, including even/odd mirror planes and 90°/180° rotations.
- [Subpixel smoothing](https://meep.readthedocs.io/en/latest/Subpixel_Smoothing/) for improving accuracy and shape optimization.
- Arbitrary current sources including a [mode launcher](https://meep.readthedocs.io/en/latest/Python_Tutorials/Eigenmode_Source/).
- [Frequency-domain solver](https://meep.readthedocs.io/en/latest/Python_User_Interface/#frequency-domain-solver) for finding the response to a [continuous-wave](https://en.wikipedia.org/wiki/Continuous_wave) (CW) source.
- [Frequency-domain solver](https://meep.readthedocs.io/en/latest/Python_User_Interface/#frequency-domain-solver) for finding the response to a [continuous-wave](https://en.wikipedia.org/wiki/Continuous_wave) (CW) source as well as a [frequency-domain eigensolver](https://meep.readthedocs.io/en/latest/Python_User_Interface/#frequency-domain-eigensolver) for finding resonant modes.
- ε/μ and field import/export in the [HDF5](https://en.wikipedia.org/wiki/HDF5) data format.
- [GDSII](https://meep.readthedocs.io/en/latest/Python_User_Interface/#gdsii-support) file import for planar geometries.
- Field analyses including [Poynting flux](https://meep.readthedocs.io/en/latest/Python_Tutorials/Basics/#transmittance-spectrum-of-a-waveguide-bend), [mode decomposition](https://meep.readthedocs.io/en/latest/Python_Tutorials/Mode_Decomposition/) (for [S-parameters](https://meep.readthedocs.io/en/latest/Python_Tutorials/GDSII_Import/)), [energy density](https://meep.readthedocs.io/en/latest/Python_User_Interface/#energy-density-spectra), [near to far transformation](https://meep.readthedocs.io/en/latest/Python_Tutorials/Near_to_Far_Field_Spectra/), [frequency extraction](https://meep.readthedocs.io/en/latest/Python_Tutorials/Basics/#modes-of-a-ring-resonator), [local density of states](https://meep.readthedocs.io/en/latest/Python_Tutorials/Local_Density_of_States/) (LDOS), [modal volume](https://meep.readthedocs.io/en/latest/Python_User_Interface/#field-computations), [scattering cross section](https://meep.readthedocs.io/en/latest/Python_Tutorials/Basics/#mie-scattering-of-a-lossless-dielectric-sphere), [Maxwell stress tensor](https://meep.readthedocs.io/en/latest/Python_Tutorials/Optical_Forces/), [arbitrary functions](https://meep.readthedocs.io/en/latest/Field_Functions/); completely programmable.
Expand Down
6 changes: 2 additions & 4 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
HDF5 file output routines for frequency-dependent permittivity and permeability.

Skewed bloch periodic boundary conditions for non-orthogonal unit cells

Discrete rotational symmetry in cylindrical coordinates.

Second-order accurate subpixel smoothing scheme for
dispersive materials involving complex permittivity.
dispersive materials with complex permittivity.

Support 3d (r,phi,z) cell, where m is "Bloch wavenumber"
-- gives 6-fold (and n-fold) symmetry as side effect
Expand All @@ -18,7 +16,7 @@ Re-entrant functions: foo(vec&) arguments should be foo(vec&, void*)
where the second argument can be used to pass state (instead of global
vars).

User proper PML for cylindrical coordinates, rather than quasi-PML.
Use proper PML for cylindrical coordinates, rather than quasi-PML.

Use more-stable algorithm for dispersive media.

Expand Down
10 changes: 3 additions & 7 deletions doc/docs/Download.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,11 @@
GitHub Source Repository
------------------------

The [source repository](https://github.com/NanoComp/meep) is hosted on GitHub along with gzipped tarballs of stable releases:
The [source repository](https://github.com/NanoComp/meep) is hosted on GitHub along with gzipped tarballs of [official (stable) releases](https://github.com/NanoComp/meep/releases).

- <https://github.com/NanoComp/meep/releases>
Refer to [NEWS](https://github.com/NanoComp/meep/blob/master/NEWS.md) for a list of the latest changes, and be sure to read [Installation](Installation.md) for how to compile and install it.

Refer to [NEWS](https://github.com/NanoComp/meep/blob/master/NEWS.md) for a list of the latest changes, and be sure to read the [Installation](Installation.md) section for how to compile and install it.

To receive notifications when new versions are released, subscribe to the **meep-announce** mailing list:

- [meep-announce mailing list](http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-announce)
To receive notifications when new versions are released, subscribe to the [meep-announce](http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-announce) mailing list.

Precompiled Packages for Ubuntu
-------------------------------
Expand Down
6 changes: 4 additions & 2 deletions doc/docs/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ Yes. The technical details of Meep's inner workings are described in the peer-re

### Where can I find a list of projects which have used Meep?

For a list of more than 2500 published works which have used Meep, see the [Google Scholar citation page](https://scholar.google.com/scholar?hl=en&q=meep+software) as well as that for the [Meep manuscript](https://scholar.google.com/scholar?cites=17712807607104508775) and the [subpixel smoothing reference](https://scholar.google.com/scholar?cites=410731148689673259). For examples based on technology applications, see [simpetus.com/projects.html](http://www.simpetus.com/projects.html).
For a list of more than 2500 published works which have used Meep, see the [Google Scholar citation page](https://scholar.google.com/scholar?hl=en&q=meep+software) as well as that for the [Meep manuscript](https://scholar.google.com/scholar?cites=17712807607104508775) and the [subpixel smoothing reference](https://scholar.google.com/scholar?cites=410731148689673259). For examples based on technology applications, see the [Simpetus projects page](http://www.simpetus.com/projects.html).

### Can I access Meep in the public cloud?

Expand Down Expand Up @@ -113,7 +113,9 @@ There are two possible explanations: (1) the simulation run time may be too shor

### How do I model the solar radiation spectrum?

For simulations involving [solar radiation](https://en.wikipedia.org/wiki/Sunlight#Surface_illumination), including the [air mass](https://en.wikipedia.org/wiki/Air_mass_(solar_energy)), the [reflectance/transmittance spectra](Introduction.md#transmittancereflectance-spectra) is computed as normal. Since typical solar-cell problems are linear, the reflected or transmitted power can then be obtained by simply multiplying the reflectance or transmittance by the solar spectrum.
For simulations involving [solar radiation](https://en.wikipedia.org/wiki/Sunlight#Surface_illumination), the [reflectance/transmittance spectra](Introduction.md#transmittancereflectance-spectra) is computed using the standard procedure involving [two separate calculations (i.e., the first to obtain the input power and the second for the scattered power)](Introduction.md#transmittancereflectance-spectra). Since typical solar-cell problems are linear, the reflected/transmitted power can then be obtained by simply multiplying the reflectance/transmittance (a fractional quantity) by the [solar spectrum](https://en.wikipedia.org/wiki/Air_mass_(solar_energy)) (a dimensionful quantity).

In general, the accuracy of any type of calculation involving a *weighted* input/output spectrum can be improved and the size of the simulation reduced using a coarse, unequally spaced frequency grid which is passed as an array/list to [`add_flux`](Python_User_Interface.md#flux-spectra). This involves precomputing the frequency points and weights given the air mass spectrum as demonstrated in the notebook [Solar-weighted Gaussian Quadrature](https://nbviewer.jupyter.org/urls/math.mit.edu/~stevenj/Solar-Quadrature.ipynb?flush_cache=true).

### Are complex fields physical?

Expand Down
2 changes: 1 addition & 1 deletion doc/docs/Installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Next, we need to activate the environment before we can start using it.
conda activate mp
```

Now, `python -c 'import meep'` (or `python3 -c 'import meep'`) should work, and you can try running some of the examples in the `meep/python/examples` directory.
Now, `python -c 'import meep'` (or `python3 -c 'import meep'`) should work, and you can try running some of the examples in [meep/python/examples](https://github.com/NanoComp/meep/tree/master/python/examples).

**Note:** There is currently an issue with openblas 0.3.5 that causes segmentation faults on newer Skylake X-series cpus. If import meep results in an "illegal instruction" error, downgrade openblas to version `0.3.4` as follows:

Expand Down
Loading

0 comments on commit 43bb85c

Please sign in to comment.