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 (Kongu Engineering College 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(
    **{f"{k}_1": v for k, v in ct.TE_2OSC.items()},
    **{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/ss-sevesh/spaceship_bubble/tree/master/casimir_tools},
  version = {0.1.6},
}

License

MIT © Sevesh SS, Kongu Engineering College 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.6.tar.gz (111.4 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.6-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: casimir_tools-0.1.6.tar.gz
  • Upload date:
  • Size: 111.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for casimir_tools-0.1.6.tar.gz
Algorithm Hash digest
SHA256 81424ced4131bfb784fd543999d788b4ec62e0c5ea44f855df4c04fe7f9de682
MD5 8c006430d4abb9ed4d930e31d1903cac
BLAKE2b-256 d962e5f20d40bbe69467aa732883cdd968a63168aa60b38ec95361c0437de7c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: casimir_tools-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for casimir_tools-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bfa69de3ec92c9cb54f59ffc7f27d5ecfa13ad55ac040c0c6ed5a7c504968287
MD5 6cf4eb7cff5294e9e2c3b459d4b56560
BLAKE2b-256 0c8671ca1d985b3fcfe70cc638bf9dd7724b4d35fd462554c019cf037d2686a8

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