├── .bumpversion.toml ├── .github ├── dependabot.yml └── workflows │ ├── build-ci.yml │ ├── deploy.yml │ ├── release.yml │ └── test-deploy.yml ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── docs ├── .eslintrc.js ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .stylelintrc.js ├── Makefile ├── README.md ├── babel.config.js ├── docs │ ├── Features.md │ ├── Introduction.md │ └── Tutorials │ │ └── metal_grating.md ├── docusaurus.config.js ├── gen_API_from_docstrings.py ├── gen_tutorials_from_notebooks.py ├── package-lock.json ├── package.json ├── sidebars.js ├── src │ └── css │ │ └── custom.css └── static │ ├── .nojekyll │ └── img │ ├── meta_opensource_logo.svg │ └── meta_opensource_logo_negative.svg ├── examples ├── __init__.py ├── anisotropic_grating.py ├── ar_coating.py ├── crystal.py ├── metal_dipole.py ├── metal_grating.py ├── metal_pillars.py ├── microlens_array.py ├── sorter.py ├── uled.py └── vector_fields.py ├── img ├── crystal_beam.gif ├── metal_dipole.png └── vector_fields.png ├── notebooks ├── crystal_bz.ipynb ├── dipoles.ipynb └── metal_dipole.ipynb ├── pyproject.toml ├── src └── fmmax │ ├── __init__.py │ ├── basis.py │ ├── beams.py │ ├── farfield.py │ ├── fft.py │ ├── fields.py │ ├── fmm.py │ ├── fmm_matrices.py │ ├── pml.py │ ├── py.typed │ ├── scattering.py │ ├── sources.py │ ├── utils.py │ └── vector.py └── tests ├── examples ├── test_anisotropic_grating.py ├── test_ar_coating.py ├── test_crystal.py ├── test_metal_dipole.py ├── test_metal_grating.py ├── test_metal_pillars.py ├── test_microlens_array.py ├── test_sorter.py ├── test_uled.py └── test_vector_fields.py ├── fmmax ├── test_basis.py ├── test_beams.py ├── test_farfield.py ├── test_fft.py ├── test_fields.py ├── test_fmm.py ├── test_fmm_anisotropic.py ├── test_fresnel.py ├── test_grad.py ├── test_grad_finite_difference.py ├── test_pml.py ├── test_scattering.py ├── test_sources.py ├── test_utils.py ├── test_validation.py └── test_vector.py └── grcwa ├── test_fmm.py └── test_scattering.py /.bumpversion.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.bumpversion.toml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/build-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.github/workflows/build-ci.yml -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.github/workflows/test-deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.github/workflows/test-deploy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/README.md -------------------------------------------------------------------------------- /docs/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/.eslintrc.js -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/.gitignore -------------------------------------------------------------------------------- /docs/.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | .docusaurus 4 | -------------------------------------------------------------------------------- /docs/.prettierrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/.prettierrc -------------------------------------------------------------------------------- /docs/.stylelintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/.stylelintrc.js -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/babel.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/babel.config.js -------------------------------------------------------------------------------- /docs/docs/Features.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/docs/Introduction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/docs/Introduction.md -------------------------------------------------------------------------------- /docs/docs/Tutorials/metal_grating.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/docs/Tutorials/metal_grating.md -------------------------------------------------------------------------------- /docs/docusaurus.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/docusaurus.config.js -------------------------------------------------------------------------------- /docs/gen_API_from_docstrings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/gen_API_from_docstrings.py -------------------------------------------------------------------------------- /docs/gen_tutorials_from_notebooks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/gen_tutorials_from_notebooks.py -------------------------------------------------------------------------------- /docs/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/package-lock.json -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/sidebars.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/sidebars.js -------------------------------------------------------------------------------- /docs/src/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/src/css/custom.css -------------------------------------------------------------------------------- /docs/static/.nojekyll: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/static/img/meta_opensource_logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/static/img/meta_opensource_logo.svg -------------------------------------------------------------------------------- /docs/static/img/meta_opensource_logo_negative.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/docs/static/img/meta_opensource_logo_negative.svg -------------------------------------------------------------------------------- /examples/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Meta Platforms, Inc. and affiliates. 2 | -------------------------------------------------------------------------------- /examples/anisotropic_grating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/anisotropic_grating.py -------------------------------------------------------------------------------- /examples/ar_coating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/ar_coating.py -------------------------------------------------------------------------------- /examples/crystal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/crystal.py -------------------------------------------------------------------------------- /examples/metal_dipole.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/metal_dipole.py -------------------------------------------------------------------------------- /examples/metal_grating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/metal_grating.py -------------------------------------------------------------------------------- /examples/metal_pillars.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/metal_pillars.py -------------------------------------------------------------------------------- /examples/microlens_array.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/microlens_array.py -------------------------------------------------------------------------------- /examples/sorter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/sorter.py -------------------------------------------------------------------------------- /examples/uled.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/uled.py -------------------------------------------------------------------------------- /examples/vector_fields.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/examples/vector_fields.py -------------------------------------------------------------------------------- /img/crystal_beam.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/img/crystal_beam.gif -------------------------------------------------------------------------------- /img/metal_dipole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/img/metal_dipole.png -------------------------------------------------------------------------------- /img/vector_fields.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/img/vector_fields.png -------------------------------------------------------------------------------- /notebooks/crystal_bz.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/notebooks/crystal_bz.ipynb -------------------------------------------------------------------------------- /notebooks/dipoles.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/notebooks/dipoles.ipynb -------------------------------------------------------------------------------- /notebooks/metal_dipole.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/notebooks/metal_dipole.ipynb -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/fmmax/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/__init__.py -------------------------------------------------------------------------------- /src/fmmax/basis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/basis.py -------------------------------------------------------------------------------- /src/fmmax/beams.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/beams.py -------------------------------------------------------------------------------- /src/fmmax/farfield.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/farfield.py -------------------------------------------------------------------------------- /src/fmmax/fft.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/fft.py -------------------------------------------------------------------------------- /src/fmmax/fields.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/fields.py -------------------------------------------------------------------------------- /src/fmmax/fmm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/fmm.py -------------------------------------------------------------------------------- /src/fmmax/fmm_matrices.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/fmm_matrices.py -------------------------------------------------------------------------------- /src/fmmax/pml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/pml.py -------------------------------------------------------------------------------- /src/fmmax/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/fmmax/scattering.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/scattering.py -------------------------------------------------------------------------------- /src/fmmax/sources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/sources.py -------------------------------------------------------------------------------- /src/fmmax/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/utils.py -------------------------------------------------------------------------------- /src/fmmax/vector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/src/fmmax/vector.py -------------------------------------------------------------------------------- /tests/examples/test_anisotropic_grating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_anisotropic_grating.py -------------------------------------------------------------------------------- /tests/examples/test_ar_coating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_ar_coating.py -------------------------------------------------------------------------------- /tests/examples/test_crystal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_crystal.py -------------------------------------------------------------------------------- /tests/examples/test_metal_dipole.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_metal_dipole.py -------------------------------------------------------------------------------- /tests/examples/test_metal_grating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_metal_grating.py -------------------------------------------------------------------------------- /tests/examples/test_metal_pillars.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_metal_pillars.py -------------------------------------------------------------------------------- /tests/examples/test_microlens_array.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_microlens_array.py -------------------------------------------------------------------------------- /tests/examples/test_sorter.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_sorter.py -------------------------------------------------------------------------------- /tests/examples/test_uled.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_uled.py -------------------------------------------------------------------------------- /tests/examples/test_vector_fields.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/examples/test_vector_fields.py -------------------------------------------------------------------------------- /tests/fmmax/test_basis.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_basis.py -------------------------------------------------------------------------------- /tests/fmmax/test_beams.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_beams.py -------------------------------------------------------------------------------- /tests/fmmax/test_farfield.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_farfield.py -------------------------------------------------------------------------------- /tests/fmmax/test_fft.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_fft.py -------------------------------------------------------------------------------- /tests/fmmax/test_fields.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_fields.py -------------------------------------------------------------------------------- /tests/fmmax/test_fmm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_fmm.py -------------------------------------------------------------------------------- /tests/fmmax/test_fmm_anisotropic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_fmm_anisotropic.py -------------------------------------------------------------------------------- /tests/fmmax/test_fresnel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_fresnel.py -------------------------------------------------------------------------------- /tests/fmmax/test_grad.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_grad.py -------------------------------------------------------------------------------- /tests/fmmax/test_grad_finite_difference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_grad_finite_difference.py -------------------------------------------------------------------------------- /tests/fmmax/test_pml.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_pml.py -------------------------------------------------------------------------------- /tests/fmmax/test_scattering.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_scattering.py -------------------------------------------------------------------------------- /tests/fmmax/test_sources.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_sources.py -------------------------------------------------------------------------------- /tests/fmmax/test_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_utils.py -------------------------------------------------------------------------------- /tests/fmmax/test_validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_validation.py -------------------------------------------------------------------------------- /tests/fmmax/test_vector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/fmmax/test_vector.py -------------------------------------------------------------------------------- /tests/grcwa/test_fmm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/grcwa/test_fmm.py -------------------------------------------------------------------------------- /tests/grcwa/test_scattering.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/facebookresearch/fmmax/HEAD/tests/grcwa/test_scattering.py --------------------------------------------------------------------------------