Skip to main content

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

Metadata

Release files for casimir-tools 0.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for casimir-tools 0.1.7
File Size Uploaded
casimir_tools-0.1.7.tar.gz 111.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for casimir-tools 0.1.7
File Interpreter ABI Platform
casimir_tools-0.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 124.8 kB

Release files / casimir_tools-0.1.7.tar.gz

Download URL casimir_tools-0.1.7.tar.gz
Size 111.5 kB
Tags Source
SHA-256 checksum
How to use checksums
621e10e0bcf7f416837524499d90d29d42488cca84704092cf3c418d75ba1b5b
BLAKE2b-256 checksum
How to use checksums
92e88f97e980d10bbaba044b0927cc635ee94904d6cc012b7750f714c6b9858d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / casimir_tools-0.1.7-py3-none-any.whl

Download URL casimir_tools-0.1.7-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0a92d285dd547016d795c3c0139ac1d455fb7ad92413736c14ff2f3a46dba35b
BLAKE2b-256 checksum
How to use checksums
df3257713408dcf64a44a21d11d972802e9f728c5f41a492537ca2b8796eee46
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.1.7 This release

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page