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 2028, 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.10 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) = (ħ/4π²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.7},
}

License

MIT © Sevesh SS, Kongu Engineering College 2028

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.7.tar.gz (111.5 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.7-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: casimir_tools-0.1.7.tar.gz
  • Upload date:
  • Size: 111.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for casimir_tools-0.1.7.tar.gz
Algorithm Hash digest
SHA256 621e10e0bcf7f416837524499d90d29d42488cca84704092cf3c418d75ba1b5b
MD5 8811319384eb1072699a5e492083e390
BLAKE2b-256 92e88f97e980d10bbaba044b0927cc635ee94904d6cc012b7750f714c6b9858d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: casimir_tools-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for casimir_tools-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0a92d285dd547016d795c3c0139ac1d455fb7ad92413736c14ff2f3a46dba35b
MD5 98c51cebab5a52bbd8e0b784a3c632f8
BLAKE2b-256 df3257713408dcf64a44a21d11d972802e9f728c5f41a492537ca2b8796eee46

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