Skip to main content

Open-source toolkit for Lifshitz-Casimir force engineering in anisotropic and chiral dielectric heterostructures

Project description

casimir-tools

Open-source Python toolkit for Lifshitz-Casimir force engineering in anisotropic and chiral dielectric heterostructures.

Developed as part of the AI-driven Casimir Stiction Suppression project (KEC 2026, SERB CRG).

Installation

# Core (numpy + scipy only)
pip install casimir-tools

# With plotting support (matplotlib)
pip install "casimir-tools[plot]"

# Full dev install
pip install "casimir-tools[plot,dev]"

Quick Start

import casimir_tools as ct

# ── Material presets ──────────────────────────────────────────────────────────
te   = ct.MATERIALS["Te"]        # eps_static, eps_perp, eps_par
wte2 = ct.MATERIALS["WTe2_hex"]

# ── Standard Lifshitz energy (T = 0) ─────────────────────────────────────────
# Keyword args: eps_static1, eps_static2, d
E = ct.casimir_energy(eps_static1=te["eps_static"],
                      eps_static2=wte2["eps_static"],
                      d=10e-9)
print(f"E = {E*1e3:.4f} mJ/m²")   # ~ -0.20 mJ/m²

# ── Chiral correction (κ² term) ───────────────────────────────────────────────
# kappa=0.7 drives Casimir energy toward zero / repulsive regime
E_chiral = ct.casimir_energy_chiral(eps_static1=te["eps_static"],
                                     eps_static2=wte2["eps_static"],
                                     d=10e-9, kappa=0.7)
print(f"E_chiral = {E_chiral*1e3:.4f} mJ/m²")

# ── Finite temperature (T = 300 K, Matsubara summation) ──────────────────────
E_300K = ct.casimir_energy_finite_T(eps_static1=te["eps_static"],
                                     eps_static2=wte2["eps_static"],
                                     d=10e-9, T=300.0)

# ── Anisotropic uniaxial Lifshitz (Te crystal tensor) ────────────────────────
E_aniso = ct.casimir_energy_aniso(eps_perp1=te["eps_perp"], eps_par1=te["eps_par"],
                                   eps_perp2=wte2["eps_perp"], eps_par2=wte2["eps_par"],
                                   d=10e-9)

# ── 2-oscillator Sellmeier model ──────────────────────────────────────────────
E_2osc = ct.casimir_energy_2osc(**ct.TE_2OSC,
                                 **{f"{k}_2": v for k, v in ct.WTE2_2OSC.items()},
                                 d=10e-9)

Force Sweep & Plotting

sweep_force returns a tuple (d_nm, forces) — d values are already in nm.

import casimir_tools as ct
import numpy as np
import matplotlib.pyplot as plt   # requires: pip install "casimir-tools[plot]"

EPS_TE = 164.27

# Returns (d_nm_array, force_array) — do NOT pass a pre-built d array
d_nm, forces = ct.sweep_force(eps1=EPS_TE, eps2=EPS_TE,
                               d_min_nm=5.0, d_max_nm=100.0, n_points=100)

plt.figure(figsize=(10, 6))
plt.plot(d_nm, np.abs(forces), color='#007acc', linewidth=2.5)
# d_nm is already in nm — no * 1e9 conversion needed
plt.yscale('log')
plt.xlabel("Separation Distance (nm)")
plt.ylabel("|F| (N/m²)")
plt.title("casimir-tools: Te Quantum Force Profile")
plt.grid(True, which="both", alpha=0.3)
plt.show()

Physics

The library implements the Lifshitz (1956) formula for Casimir energy between two planar dielectric half-spaces:

E(d) = (ħ/2π²c²) ∫₀^∞ ξ² dξ ∫₁^∞ p dp
         × Σ_pol ln(1 − r₁^pol r₂^pol e^{−2pξd/c})

Extensions:

  • Chiral correction (Zhao et al. 2009): E = E_Lifshitz + κ² × δE
  • Uniaxial anisotropy (Bimonte et al. 2009): separate ε_⊥, ε_∥ Fresnel coefficients
  • Finite temperature (Lifshitz/Pitaevskii): Matsubara sum at arbitrary T
  • 2-oscillator Sellmeier: resolves IR phonon + UV electronic contributions

Citation

@software{sevesh2026casimir,
  author  = {Sevesh SS},
  title   = {casimir-tools: Lifshitz-Casimir Force Engineering Toolkit},
  year    = {2026},
  url     = {https://github.com/seveshss/casimir-tools},
  version = {0.1.0},
}

License

MIT © Sevesh SS, KEC 2026

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

casimir_tools-0.1.2.tar.gz (110.6 kB view details)

Uploaded Source

Built Distribution

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

casimir_tools-0.1.2-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file casimir_tools-0.1.2.tar.gz.

File metadata

  • Download URL: casimir_tools-0.1.2.tar.gz
  • Upload date:
  • Size: 110.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for casimir_tools-0.1.2.tar.gz
Algorithm Hash digest
SHA256 75559e7c55fb06ab8f34272d28d14d9c0539447f4df24a2c50c27babeb5be359
MD5 16eabe7d40f40e762cadb5762a521c54
BLAKE2b-256 6111083ef5e6b623b37a3fe64943e5d23b2897a4bca057c5a5fdc9cb193483ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for casimir_tools-0.1.2.tar.gz:

Publisher: publish_casimir_tools.yml on ss-sevesh/spaceship_bubble

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file casimir_tools-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: casimir_tools-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for casimir_tools-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8b321977d3fa4b537d22b02a3c5f32702943dcac98ad1c3c2b8d6d940cdbfa05
MD5 d6d8072058fb3214472b149f8092a093
BLAKE2b-256 7d65cbd221aa8916d0ed6ebd35598cb9f8f1e2fd251fbbcc92709238076c2517

See more details on using hashes here.

Provenance

The following attestation bundles were made for casimir_tools-0.1.2-py3-none-any.whl:

Publisher: publish_casimir_tools.yml on ss-sevesh/spaceship_bubble

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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