Recent Releases of meent

meent - meent 0.12.0

Note that the order of the field_cell dimension for 1Dc and 2D cases has changed - it got one additional axis.

In 1D conical and 2D cases, calculate_field can return multiple field distribution simulated with 3 different polarized incidence - user set polarized incidence, pure TE incidence and pure TM incidence.

What's Changed

  • return field cell for all 3 input polization cases by @yonghakim in https://github.com/kc-ml2/meent/pull/83

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.11.0...v0.12.0

- Python
Published by yonghakim over 1 year ago

meent - meent 0.11.0

  • Changed return type: Now returns a class having sub result classes.
    • Each sub result class contains Rayleigh coefficients and diffraction efficiencies that originated from each of TE and TM.
    • For general case (other than 1D TETM), meent returns a class that has 3 sub result classes that are: result from given polarization(or psi), result from TE incidence and result from TM incidence.
  • Added pinv option for numerical stability (False by default).
  • revived 1D conical case code

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/79

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.10.0...v0.11.0

- Python
Published by yonghakim over 1 year ago

meent - meent 0.10.0

Li's inverse rule for 2D grating (Formulation from reticolo). Refactoring. Python >= 3.8.

keyword changes: * grating_type: Removed. Meent automatically selects grating type. * ucell_info_list: Removed. Use ucell instead. * n_I: changed to n_top * n_II: changed to n_bot * fft_type: changed to fourier_type * algo: changed to connecting_algo * enhanced_dft: changed to enhanced_dfs * fourier_order: changed to `fto'

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/77

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.13...v0.10.0

- Python
Published by yonghakim almost 2 years ago

meent - meent 0.9.13

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/74

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.12...v0.9.13

Hotfix: turn off Li's inverse method for 1D and 1DC.

- Python
Published by yonghakim almost 2 years ago

meent - meent 0.9.12

What's Changed

  • Arxiv by @anthony0727 in https://github.com/kc-ml2/meent/pull/71
  • Citation by @yonghakim in https://github.com/kc-ml2/meent/pull/72
  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/73

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.11...v0.9.12

  1. Found bug in applying Li's method (inverse rule). This requires more time so as a hotfix, Li's method is turned off.

  2. Adding examples for arXiv paper.

- Python
Published by yonghakim almost 2 years ago

meent - meent 0.9.11

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/70

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.10...v0.9.11

Adding vector modeling functionality for all backends. Adding examples for vector modeling.

- Python
Published by yonghakim almost 2 years ago

meent - v0.9.10

What's Changed

  • github action update by @yonghakim in https://github.com/kc-ml2/meent/pull/66
  • update modeling.py in TorchMeent for vector modeling. by @yonghakim in https://github.com/kc-ml2/meent/pull/68

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.9...v0.9.10

update modeling.py in TorchMeent for vector modeling.

- Python
Published by yonghakim about 2 years ago

meent - meent 0.9.9

What's Changed

  • update vector modeling; change rectangle method; by @yonghakim in https://github.com/kc-ml2/meent/pull/65

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.8...v0.9.9

update rectangle function in vector modeling, TorchMeent. Other backends will be updated.

- Python
Published by yonghakim about 2 years ago

meent - meent 0.9.8

What's Changed

  • citation update by @yonghakim in https://github.com/kc-ml2/meent/pull/61
  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/62
  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/64

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.7...v0.9.8

Return Rayleigh coefficients

- Python
Published by yonghakim about 2 years ago

meent - meent 0.9.7

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/60

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.6...v0.9.7

bugfix for 32bit calculation in Torch

- Python
Published by yonghakim over 2 years ago

meent - meent 0.9.6

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/59

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.5...v0.9.6

Rewriting rectangle_rotate in modeling.py, TorchMeent.

- Python
Published by yonghakim almost 3 years ago

meent - meent 0.9.5

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/58

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.4...v0.9.5

bugfix in vector modeling: handling value '0' for perturbation in vector drawing.

- Python
Published by yonghakim almost 3 years ago

meent - meent 0.9.4

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/57

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.3...v0.9.4

Adding 'rotation' option for rectangle in vector modeling in PyTorch backend.

- Python
Published by yonghakim almost 3 years ago

meent - meent 0.9.3

Updating vector modeling in PyTorch backend. Currently rectangle without rotation is available for backpropagation.

What's Changed

  • adding examples/FourierTransform; by @yonghakim in https://github.com/kc-ml2/meent/pull/52
  • Dev/examples by @yonghakim in https://github.com/kc-ml2/meent/pull/53
  • correct author; by @yonghakim in https://github.com/kc-ml2/meent/pull/54
  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/55
  • updating by @yonghakim in https://github.com/kc-ml2/meent/pull/56

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.2...v0.9.3

- Python
Published by yonghakim almost 3 years ago

meent - meent 0.9.2

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/51

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.1...v0.9.2

bugfix in TorchMeent: fixed device setting in some functions especially in field_calculation.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.9.1

fixing small bug in calculate_field(). updating examples and tutorials.

What's Changed

  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/47
  • cleaning; by @yonghakim in https://github.com/kc-ml2/meent/pull/48
  • Dev/main by @yonghakim in https://github.com/kc-ml2/meent/pull/49
  • Dev/tutorials by @yonghakim in https://github.com/kc-ml2/meent/pull/50

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.9.0...v0.9.1

- Python
Published by yonghakim about 3 years ago

meent - meent 0.9.0

Important

Python>=3.10 is needed for JAX backend.

Notes

applied decorator. This enables effective attribute change(e.g. device change or dtype change) after class init(). fixed all bugs and unwanted behaviors. automatically convert data types of input variables according to the backends.

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/45
  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/46

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.11...v0.9.0

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.11

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/44

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.10...v0.8.11

update meent optimizers in JAX and Torch. bugfix in Deflector loss in JAX. adding tqdm in prerequisite.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.10

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/43

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.9...v0.8.10

change X Y order of deri and deti in 2D grating result.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.9

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/42

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.8...v0.8.9

bugfix: remove expm and use exp on diag. added tutorial1 notebook.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.8

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/41

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.7...v0.8.8

Speed up field calculation with vectorization. Extreme boosting in Meent on JAX.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.7

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/40

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.6...v0.8.7

bugfix: update fourier order handling in calculate field; decorator for fourier_order;

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.6

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/39

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.5...v0.8.6

bugfix: layer looping condition in PyTorch backend. added field plot function for Reticolo interface.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.5

What's Changed

  • bugfix:eigendecomposition in JAX; by @yonghakim in https://github.com/kc-ml2/meent/pull/37
  • bugfix:eigendecomposition in JAX; by @yonghakim in https://github.com/kc-ml2/meent/pull/38

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.4...v0.8.5

bugfix: Eigendecomposition backprop in JAX.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.4

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/34
  • writing READMEs by @yonghakim in https://github.com/kc-ml2/meent/pull/35
  • writing READMEs by @yonghakim in https://github.com/kc-ml2/meent/pull/36

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.3...v0.8.4

README update

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.3

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/33

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.2...v0.8.3

bugfix: remove deepcopy and use .clone() function in rcwa.py for PyTorch. modified run_reticolo.m. resolving TODOs.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.2

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/31

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.1...v0.8.2

async 2D Fourier order.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.1

What's Changed

  • bugfix:sign change in 2D field calculation. by @yonghakim in https://github.com/kc-ml2/meent/pull/30

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.8.0...v0.8.1

bugfix:sign change in 2D field calculation.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.8.0

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/29

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.11...v0.8.0

Support Vector type Modeling with Automatic Differentiation (currently 2D only).

- Python
Published by yonghakim about 3 years ago

meent - meent 0.7.11

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/28

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.10...v0.7.11

Optimization.

- Python
Published by yonghakim about 3 years ago

meent - meent 0.7.10

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/27

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.9...v0.7.10

bug fix in Transfer matrix method for 1D Conical and 2D. updating optimization part (ongoing).

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.9

What's Changed

  • bugfix: improve_dft condition by @yonghakim in https://github.com/kc-ml2/meent/pull/26

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.8...v0.7.9

bugfix: condition for improve_dft

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.8

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/25

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.7...v0.7.8

bug fix: revert sign in Fourier series

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.7

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/24

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.6...v0.7.7

adding improvedft to improve resolution of Discrete Fourier series in toconvmatdiscrete.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.6

What's Changed

  • Dev by @yonghakim in https://github.com/kc-ml2/meent/pull/23

Full Changelog: https://github.com/kc-ml2/meent/compare/v0.7.5...v0.7.6

Important: Angle unit changed from degree to radian.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.5

modified meent/rcwa.py not to import unneeded pakcages; modified fielddistribution.py to import matplotlib only in the function 'fieldplot';

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.4

pmap support on cpu with following code: os.environ['XLA_FLAGS'] = '--xla_force_host_platform_device_count=24'. fix examples/ucell_optimize.py

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.3

added fft_type in args of RCWA Class; eig perturbation code correction in JAX and Torch; output of self.solve changed because of JAX jit compilation.

overall cleaning; updating examples;

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.2

update ex_ucell.py

add ffttype in runucell

update readme

add fftmethodmatching.py in benchmarks

update ucell_optimize

enforce fourier_order to be an integer type

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.1

  • Added Automatic Differentiation in JAX
  • Separated eig64 and eig32 in JAX.
  • Rewriting and cleaning conv_mat
    • Updated conv_mat method
    • Minimized minimumpatternsize
  • Updating examples/optimization/ucell_optimize.py
    • Converted ucell dtype explicitly
    • Reorganized code
  • Added '.gitattributes' to hide ipynb files from github stats.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.7.0

Optimized JAX code (jit was applied in broad range). Added JAX vmap and pmap. Example code for TPU backend development(on hold due to 'NotImplementedError') Added Citation file hostcallback was replaced by purecallback in eig in JAX due to slow speed in pmap

- Python
Published by yonghakim over 3 years ago

meent - meent 0.6.0

Supports Numpy, JAX and PyTorch as a backend for EM simulation and its optimization.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.5.0

support Field Distribution for 1D and 2D (Not for 1D_conical). fixed setup.py not to contain other folders than meent.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.4.2

bug fix: change setup.py so that it contains nk_data folder. change argument 'wls' to 'wavelength' since Meent instance changed to deal with only on single wavelength.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.3.8

bug fix: adding nk_data folder.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.3.7

bug fix: adding nk_data in PyPI package

- Python
Published by yonghakim over 3 years ago

meent - meent 0.3.6

bug fix: adding init.py file to all subfolders of nk_data folder for PyPI packaging.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.4.1

Adding a method creating unit cell with objects.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.4.0

change Fourier Transform from DFT to CFT. Using Fourier Transform on piecewise constant function can save memory.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.3.5

nk table in meent package. can choose refractive index as complex or real number by this option '__real'.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.3.4

Adding workflow for conda pacakage in release

- Python
Published by yonghakim over 3 years ago

meent - meent 0.3.3

Adding setup.py. Adding workflows for github actions.

- Python
Published by yonghakim over 3 years ago

meent - Meent 0.3.2

Cell design: moving from fill factor to pixel-wise unit cell

- Python
Published by yonghakim over 3 years ago

meent - Meent 0.3.1

adding metasurface 1D and 2D code; bug fix;

- Python
Published by yonghakim over 3 years ago

meent - Meent 0.3.0

JAX showed deteriorated performance(speed-wise) so decided to have both.

Light mode uses pure numpy and Optimization mode uses JAX.

- Python
Published by yonghakim over 3 years ago

meent - Meent 0.2.1

bug fix

- Python
Published by yonghakim over 3 years ago

meent - Meent 0.2.0

move to JAX and start developing optimization part

- Python
Published by yonghakim over 3 years ago

meent - meent 0.1.2

increasing DFT resolution for 1D.

- Python
Published by yonghakim over 3 years ago

meent - meent 0.1.1

minor bug fix

- Python
Published by yonghakim over 3 years ago

meent - meent 0.1.0

- Python
Published by yonghakim over 3 years ago