Skip to main content

A package to solve topology optimization problems that target optica forcesl based on the Maxwell Stress Tensor formalism.

Project description

MST_TopOpt

This repository contains the code used to reproduce key results from the paper:

B. Martinez de Aguirre Jokisch, R.E. Christiansen, O. Sigmund.
"Engineering optical forces through Maxwell stress tensor inverse design"
arXiv preprint arXiv:2410.20009 (2024).

Overview

Precise spatial manipulation of particles via optical forces is essential in many research areas, ranging from biophysics to atomic physics. Central to this effort is the challenge of designing optical systems optimized for specific applications. Traditional design methods often rely on trial-and-error approaches or simplified models, such as approximating particles as point dipoles—an assumption valid only for particles much smaller than the wavelength of the electromagnetic field.

In this work, we present a general inverse design framework based on the Maxwell stress tensor (MST) formalism. This framework enables the simultaneous design of all components of the system and is applicable to particles of arbitrary sizes and shapes. With small modifications to the baseline formulation, the method can engineer systems capable of attracting, repelling, accelerating, oscillating, and trapping particles.

The methodology relies on the finite element method (FEM) and topology optimization, a gradient-based approach for iteratively designing optical systems. The examples in this work are two-dimensional, assuming transverse electric (TE) polarization, with the optical system illuminated by an incident plane wave. Note that the base-code can be modified to assume transverse magnetic (TM) polarization or be illuminated by more complex sources.

Installation

To install the MST_TopOpt package, use the following command:

pip install MST_TopOpt

Repository Content

This repository includes tutorials to reproduce the following results from the paper:

  1. Force Calculations for a square article in free-space: The tutorial square.ipynb reproduces the results shown in Figure 3.
  2. Optimization for a particle in free-space: The tutorial opt_repulsive.ipynb implements the optimization process for free-space particles in Figure 4.

The code in this repository can be extended to reproduce additional results presented in the paper, such as those for particle-metalens systems and their applications.

Citing MST_TopOpt

If you use MST_TopOpt in your research, we kindly request that you cite the following paper:

B. Martinez de Aguirre Jokisch, R.E. Christiansen, O. Sigmund.
"Engineering optical forces through Maxwell stress tensor inverse design"
arXiv preprint arXiv:2410.20009 (2024).

Example Citation in BibTeX:

@article{martinez2024msttopopt,
  title = {Engineering optical forces through Maxwell stress tensor inverse design},
  author = {Martinez de Aguirre Jokisch, B. and Christiansen, R.E. and Sigmund, O.},
  journal = {arXiv preprint},
  year = {2024},
  eprint = {2410.20009},
  archivePrefix = {arXiv}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mst_topopt-0.2.2.tar.gz (31.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

MST_TopOpt-0.2.2-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file mst_topopt-0.2.2.tar.gz.

File metadata

  • Download URL: mst_topopt-0.2.2.tar.gz
  • Upload date:
  • Size: 31.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.16

File hashes

Hashes for mst_topopt-0.2.2.tar.gz
Algorithm Hash digest
SHA256 a7bd8d72e36ea03ed16d20eb5ca528d0a7a26914cadb105c04397d6e70fd5faf
MD5 289e5bc9d8eca4a896914966a35570a8
BLAKE2b-256 8c034c6851749848f019fb7f2a28e485b9edbcecfd226eaf642d570aced5fdfb

See more details on using hashes here.

File details

Details for the file MST_TopOpt-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: MST_TopOpt-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.16

File hashes

Hashes for MST_TopOpt-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4357801383b1aaccecf0646b786f8f208cecf4535529337709153caa3ced78a6
MD5 8897574fd1770fa8bc94b58a52512195
BLAKE2b-256 b041f51830d2cccd5f090943ea665d09c12dd2ad12838a10f2c3979b920b4e28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page