- Initial release
- Fix a fatal bug in version 0.0.1 that Selfdefinecomponent can not work with multi-components.
- Add document.
- Fix a bug that the microring can not return the right pad point when it is rotated.
- Fix a bug horizonal -> horizontal.
- Fix a bug Point._eq_ will return False when other==None.
- Lift restrictions on taper length.
- Support coordinate transfer for MAKE_COMPONENT.
- Add self.get_start_point() for AEMD_grating.
- New Class: SBend & ASBend.
- Add a constant: pi = math.pi.
- SBend docs update.
- Variable names: angle -> radian.
- AEMD gratings can have multiple definitions in a file.
- AEMD Grating default relative position: RIGHT.
- New cell function: self.remove_components().
- If the input filename of "make_gdsii_file" is not "*.gds", it will automatically add ".gds" to the tail.
- New class: Circle, Rectangle.
- Add port points definition for Polygon.
- FDTD API added.
- Binary Bat Algorithm & Direct Binary Search Algorithm for inverse design.
- README.rst for pypi ducumentation.
- Support numpy array for Polygon definition.
- Annotation for DBS run.
- Support cell flatten.
- Fix a bug: initial_solution in DirectBianrySearchAlgorithm can not be properly defined.
- Able to derive phase information from monitor.
- Able to create rectangle&circle pixels with fdtd functions.
- Pixels region for inverse design.
- Variable names: point1 -> bottom_left_corner_point, point2 -> top_right_corner_point.
- Component drawing functions on fdtd_engine with z_start, z_end and material. .
- Tuple support for definitions.
- Float index to define material in fdtd (object defined dielectric).
- Lumerical script eval for fdtd.
- ArbitraryAngleWaveguide class.
- Example for DBS.
- Width property for waveguides.
- Fix a bug for unexpected rotation in SelfDefineComponent.
- Self.start_point -> self.start_point_for_return in func:get_start_point of SelfDefineComponent.
- Able to get backward transmission from mode expansion monitor.
- ASBend & SBend bugs fixed for 'z_start' attribute missing.
- AQuarBend & QuarBend bugs fixed for unacceptable 'tuple' parameters.
- DoubleBendConnector bugs fixed for wrong type definition.
- Fix bugs for MAKE_COMPONENT rotation errors.
- Microring add_heater should generate conductor layer on the heater layer.
- More functions for MODE varFDTD simulation tools.
- Rename a function in fdtdapi: add_source -> add_mode_source.
- Function for removing cells.
- Function for renaming all drawing on Lumerical CAD.
- Anti-Symmetry boundary condition choice for FDTD simulation region.
- Fix bugs for material definition with float type parameter.
- Fix bugs for putting round on Lumerical CAD.
- Support Fundamental TE mode for add_mode_source in fdtdapi.
- Anti-Symmetry boundary condition choice for FDTD simulation region.
- Fix bugs for material definition with float type parameters.
- Fix bugs for putting round on Lumerical CAD.
- Support fundamental TE mode for add_mode_source in fdtdapi.
- add_index_region, add_field_region, add_mesh_region can be defined by z_min&z_max.
- Support Fundamental TE mode for add_mode_expansion in fdtdapi.
- Fix a bug for get_transmission error.
- Fix a bug for mismatching axises in pixelsregion.
- Fix a bug for wrong data-pass with Scientific notation.
- Able to set amplitude and phase for mode source.
- New Function for fdtdapi: reset_source_amplitude and reset_source_phase.
- Fix a bug for wrong SelfMadeComponent rotation.
- New Classes for Inverse Design with Adjoint Method: ShapeOptRegion2D, ShapeOptRegion3D, TopologyOptRegion2D, TopologyOptRegion3D, AdjointForShapeOpt, AdjointForTO.
- Fix a bug for mesh region error in FDTDSimulation.
- Add draw functions for CirclePixelsRegion&RectanglePixelsRegion.
- load_file param for FDTDSimulation & MODESimulation.
- Periodic boundary condition in y-axis direction for FDTD region.
- Fix a bug for wrong SelfMadeComponent rotation.
- Fix a bug for wrong field region definition in z-axis.
- Fix a bug for wrong initialization of RectanglePixelsRegion.
- New heuristic algorithms for inverse design: BPSO & BGA.
- Refine variable names for cost functions in heuristic methods.
- Optimize pixels regions for faster updating.
- Able to save the fdtdfile without changing working path.
- Able to create inexistent folders to save figures.
- Alternative show for figure plot.
- Able to reset targets for adjoint methods.
- Add use('AGG') for matplotlib.
- Enhance reliability for executing simulations.
- Able to get eigenmode distribution from mode monitor.
- Enhance reliability for executing simulations.
- Figures can be shown when it is required in the inverse design regions.
- Able to get magnetic field intensity from field regions.
- Able to get power of the sources with specific wavelengths.
- Able to set items enable/disable for those saved in list or numpy.ndarray.
- Optimize pixels regions for faster creating.
- Support vertical sources and monitors.
- 2D index monitor regions and 2D field monitor regions.
- Support custom source distribution.
- FDTD regions can be defined with z_min&z_max.
- Topology optimization without filters.
- New components: SimpleAsymmetricDirectionalCoupler, SlowlyVaryingTaper.
- Add algorithm: ParticleSwarmAlgorithm.
- Reorganize the submodules.
- Rename the class: DirectBianrySearchAlgorithm -> DirectBinarySearchAlgorithm.
- Fix bug for setting the vertical mode expansions.
- Support for setting background material with name for FDTD regions.
- Support for resetting simulation wavelengths when the sources are added.
- Support for resetting wavelength points when the monitors are added.
- Support for printing the Point objects.
- Support for deleting a specified layer for a cell.
- Support for boolean operations between two layers.
- Support for dilation and inversion on a layer.
- Fix a bug for wrong gradient directions of AdjointforTO.call_grad.
- Support for resetting lower_index and higher_index for topology optimization regions.
- Fix a bug for the wrong placement of mode expansion monitors.
- Fix a bug for the wrong placement of field_region monitors.
- New adjoint method class: AdjointForMultiTO for multi-region topology optimization.
- New optimization region class: ScalableToOptRegion3D for scalable topology optimization.
- Fix bugs for the wrong reset operations for the adjoint method classes.
- Fix the format for call_fom and call_grad for the user-defined fom.
- Add api reference for ScalableToOptRegion3D and AdjointForMultiTO.
- Enable backward direction calculations for monitors in the adjoint method.
- Topology region can be defined with fdtd_engine=None.
- Add auto_update option for mode expansion.
- Add waveguide simulation example.
- Refine inverse design example for direct binary search.
- Add layout generation example for direct binary search.
- Update readme.md
- Update api reference for pixelated regions.
- New functions in FDTDSimulation.
- Add boolean operations example and docs.
- Automatically search for Ansys Lumerical Python API.
- Add use_gpu option for fdtd_region.
- Add flip rotate scale move operations for layers.
- Defining material with float refractive index enabled for FDTDSimulation.add_structure_from_gdsii().
- New pixelated region class: CirclePixelsRegionwithGroup.
- Added a caching mechanism to some functions that use Lumerical scripts in FDTDSimulation.
- New functions: add_port, reset_ports_source and get_port_transmission for FDTDSimulation.
- Add precision parameter for inversion operations.
- New function: remove_other_cells for Cell.
- New parameter: relative_point_list for MAKE_COMPONENT function.
- New function: get_point_list() for customized components.
- Fix layout bug for CirclePixelsRegionwithGroup.
- Layer operations for libraries apart from the common_lib.