├── .gitattributes ├── .github └── workflows │ └── release.yml ├── .gitignore ├── .readthedocs.yaml ├── LICENSE ├── README.md ├── README.rst ├── __img ├── PBS_extinction_ratio.png ├── PBS_process.gif ├── PBS_transmission.png └── waveguide_simulation.png ├── __init__.py ├── docs ├── _static │ ├── adddropmicroring.png │ ├── adddropmicroringflat.png │ ├── aemdgrating.png │ ├── aqarben.png │ ├── asbend1.png │ ├── asbend2.png │ ├── basic.png │ ├── basic_inverse.png │ ├── basic_inverse_and_cover.png │ ├── bend.png │ ├── boolean_add.png │ ├── boolean_before.png │ ├── boolean_common.png │ ├── boolean_cut.png │ ├── boolean_dilation.png │ ├── boolean_inversion.png │ ├── circle.png │ ├── doubleconnector.png │ ├── interconnect.png │ ├── polygon.png │ ├── quarbend.png │ ├── rectangle.png │ ├── sbend1.png │ ├── sbend2.png │ ├── selfdefine.png │ ├── taper.png │ ├── text.png │ └── waveguide.png ├── apireference.rst ├── conf.py ├── gettingstarted.md ├── index.rst └── requirements.txt ├── examples ├── basic.gds ├── basic.py ├── basic_inverse.gds ├── basic_inverse_and_cover.gds ├── boolean_operations.py ├── inversedesign │ ├── PBS_DBS.py │ ├── PBS_DBS_result_to_layout.py │ └── PBS_DBS_without_gdsii.py ├── quick_start_AEMD.gds ├── quick_start_AEMD.py ├── quick_start_CUMEC.py ├── selfdefine.gds └── simulation │ └── waveguide.py ├── history.md ├── requirements.txt ├── setup.py └── splayout ├── __init__.py ├── adjointmethod ├── __init__.py ├── adjointmultitoopt.py ├── adjointshapeopt.py ├── adjointtopologyopt.py ├── scalabletoregion3d.py ├── shaperegion2d.py ├── shaperegion3d.py ├── topologyregion2d.py └── topologyregion3d.py ├── algorithms ├── __init__.py ├── binarybatalgorithm.py ├── binarygeneticalgorithm.py ├── binaryparticleswarmalgorithm.py ├── directbinarysearchalgorithm.py └── particleswarmalgorithm.py ├── components ├── AEMDgrating.py ├── __init__.py ├── bend.py ├── doubleconnector.py ├── filledpattern.py ├── microring.py ├── pixelsregion.py ├── polygon.py ├── quarbend.py ├── sbend.py ├── selfdefinecomponent.py ├── simpleasymmetricdirectionalcoupler.py ├── slowlyvaryingtaper.py ├── taper.py ├── text.py └── waveguide.py ├── lumericalcommun ├── __init__.py ├── fdtdapi.py └── modeapi.py └── utils ├── __init__.py └── utils.py /.gitattributes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/.gitattributes -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/.gitignore -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/README.md -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/README.rst -------------------------------------------------------------------------------- /__img/PBS_extinction_ratio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/__img/PBS_extinction_ratio.png -------------------------------------------------------------------------------- /__img/PBS_process.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/__img/PBS_process.gif -------------------------------------------------------------------------------- /__img/PBS_transmission.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/__img/PBS_transmission.png -------------------------------------------------------------------------------- /__img/waveguide_simulation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/__img/waveguide_simulation.png -------------------------------------------------------------------------------- /__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/_static/adddropmicroring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/adddropmicroring.png -------------------------------------------------------------------------------- /docs/_static/adddropmicroringflat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/adddropmicroringflat.png -------------------------------------------------------------------------------- /docs/_static/aemdgrating.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/aemdgrating.png -------------------------------------------------------------------------------- /docs/_static/aqarben.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/aqarben.png -------------------------------------------------------------------------------- /docs/_static/asbend1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/asbend1.png -------------------------------------------------------------------------------- /docs/_static/asbend2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/asbend2.png -------------------------------------------------------------------------------- /docs/_static/basic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/basic.png -------------------------------------------------------------------------------- /docs/_static/basic_inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/basic_inverse.png -------------------------------------------------------------------------------- /docs/_static/basic_inverse_and_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/basic_inverse_and_cover.png -------------------------------------------------------------------------------- /docs/_static/bend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/bend.png -------------------------------------------------------------------------------- /docs/_static/boolean_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/boolean_add.png -------------------------------------------------------------------------------- /docs/_static/boolean_before.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/boolean_before.png -------------------------------------------------------------------------------- /docs/_static/boolean_common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/boolean_common.png -------------------------------------------------------------------------------- /docs/_static/boolean_cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/boolean_cut.png -------------------------------------------------------------------------------- /docs/_static/boolean_dilation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/boolean_dilation.png -------------------------------------------------------------------------------- /docs/_static/boolean_inversion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/boolean_inversion.png -------------------------------------------------------------------------------- /docs/_static/circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/circle.png -------------------------------------------------------------------------------- /docs/_static/doubleconnector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/doubleconnector.png -------------------------------------------------------------------------------- /docs/_static/interconnect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/interconnect.png -------------------------------------------------------------------------------- /docs/_static/polygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/polygon.png -------------------------------------------------------------------------------- /docs/_static/quarbend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/quarbend.png -------------------------------------------------------------------------------- /docs/_static/rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/rectangle.png -------------------------------------------------------------------------------- /docs/_static/sbend1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/sbend1.png -------------------------------------------------------------------------------- /docs/_static/sbend2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/sbend2.png -------------------------------------------------------------------------------- /docs/_static/selfdefine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/selfdefine.png -------------------------------------------------------------------------------- /docs/_static/taper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/taper.png -------------------------------------------------------------------------------- /docs/_static/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/text.png -------------------------------------------------------------------------------- /docs/_static/waveguide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/_static/waveguide.png -------------------------------------------------------------------------------- /docs/apireference.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/apireference.rst -------------------------------------------------------------------------------- /docs/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/conf.py -------------------------------------------------------------------------------- /docs/gettingstarted.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/gettingstarted.md -------------------------------------------------------------------------------- /docs/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/index.rst -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /examples/basic.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/basic.gds -------------------------------------------------------------------------------- /examples/basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/basic.py -------------------------------------------------------------------------------- /examples/basic_inverse.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/basic_inverse.gds -------------------------------------------------------------------------------- /examples/basic_inverse_and_cover.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/basic_inverse_and_cover.gds -------------------------------------------------------------------------------- /examples/boolean_operations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/boolean_operations.py -------------------------------------------------------------------------------- /examples/inversedesign/PBS_DBS.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/inversedesign/PBS_DBS.py -------------------------------------------------------------------------------- /examples/inversedesign/PBS_DBS_result_to_layout.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/inversedesign/PBS_DBS_result_to_layout.py -------------------------------------------------------------------------------- /examples/inversedesign/PBS_DBS_without_gdsii.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/inversedesign/PBS_DBS_without_gdsii.py -------------------------------------------------------------------------------- /examples/quick_start_AEMD.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/quick_start_AEMD.gds -------------------------------------------------------------------------------- /examples/quick_start_AEMD.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/quick_start_AEMD.py -------------------------------------------------------------------------------- /examples/quick_start_CUMEC.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/quick_start_CUMEC.py -------------------------------------------------------------------------------- /examples/selfdefine.gds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/selfdefine.gds -------------------------------------------------------------------------------- /examples/simulation/waveguide.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/examples/simulation/waveguide.py -------------------------------------------------------------------------------- /history.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/history.md -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | gdspy 2 | scipy 3 | numpy -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/setup.py -------------------------------------------------------------------------------- /splayout/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/__init__.py -------------------------------------------------------------------------------- /splayout/adjointmethod/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/__init__.py -------------------------------------------------------------------------------- /splayout/adjointmethod/adjointmultitoopt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/adjointmultitoopt.py -------------------------------------------------------------------------------- /splayout/adjointmethod/adjointshapeopt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/adjointshapeopt.py -------------------------------------------------------------------------------- /splayout/adjointmethod/adjointtopologyopt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/adjointtopologyopt.py -------------------------------------------------------------------------------- /splayout/adjointmethod/scalabletoregion3d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/scalabletoregion3d.py -------------------------------------------------------------------------------- /splayout/adjointmethod/shaperegion2d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/shaperegion2d.py -------------------------------------------------------------------------------- /splayout/adjointmethod/shaperegion3d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/shaperegion3d.py -------------------------------------------------------------------------------- /splayout/adjointmethod/topologyregion2d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/topologyregion2d.py -------------------------------------------------------------------------------- /splayout/adjointmethod/topologyregion3d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/adjointmethod/topologyregion3d.py -------------------------------------------------------------------------------- /splayout/algorithms/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/algorithms/__init__.py -------------------------------------------------------------------------------- /splayout/algorithms/binarybatalgorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/algorithms/binarybatalgorithm.py -------------------------------------------------------------------------------- /splayout/algorithms/binarygeneticalgorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/algorithms/binarygeneticalgorithm.py -------------------------------------------------------------------------------- /splayout/algorithms/binaryparticleswarmalgorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/algorithms/binaryparticleswarmalgorithm.py -------------------------------------------------------------------------------- /splayout/algorithms/directbinarysearchalgorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/algorithms/directbinarysearchalgorithm.py -------------------------------------------------------------------------------- /splayout/algorithms/particleswarmalgorithm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/algorithms/particleswarmalgorithm.py -------------------------------------------------------------------------------- /splayout/components/AEMDgrating.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/AEMDgrating.py -------------------------------------------------------------------------------- /splayout/components/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/__init__.py -------------------------------------------------------------------------------- /splayout/components/bend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/bend.py -------------------------------------------------------------------------------- /splayout/components/doubleconnector.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/doubleconnector.py -------------------------------------------------------------------------------- /splayout/components/filledpattern.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/filledpattern.py -------------------------------------------------------------------------------- /splayout/components/microring.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/microring.py -------------------------------------------------------------------------------- /splayout/components/pixelsregion.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/pixelsregion.py -------------------------------------------------------------------------------- /splayout/components/polygon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/polygon.py -------------------------------------------------------------------------------- /splayout/components/quarbend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/quarbend.py -------------------------------------------------------------------------------- /splayout/components/sbend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/sbend.py -------------------------------------------------------------------------------- /splayout/components/selfdefinecomponent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/selfdefinecomponent.py -------------------------------------------------------------------------------- /splayout/components/simpleasymmetricdirectionalcoupler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/simpleasymmetricdirectionalcoupler.py -------------------------------------------------------------------------------- /splayout/components/slowlyvaryingtaper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/slowlyvaryingtaper.py -------------------------------------------------------------------------------- /splayout/components/taper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/taper.py -------------------------------------------------------------------------------- /splayout/components/text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/text.py -------------------------------------------------------------------------------- /splayout/components/waveguide.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/components/waveguide.py -------------------------------------------------------------------------------- /splayout/lumericalcommun/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/lumericalcommun/__init__.py -------------------------------------------------------------------------------- /splayout/lumericalcommun/fdtdapi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/lumericalcommun/fdtdapi.py -------------------------------------------------------------------------------- /splayout/lumericalcommun/modeapi.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/lumericalcommun/modeapi.py -------------------------------------------------------------------------------- /splayout/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .utils import * -------------------------------------------------------------------------------- /splayout/utils/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hideousmon/SPLayout/HEAD/splayout/utils/utils.py --------------------------------------------------------------------------------