casimir-tools 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,42 @@
1
+ # Environment — never commit secrets
2
+ .env
3
+ .env.*
4
+
5
+ # Python
6
+ .venv/
7
+ venv/
8
+ __pycache__/
9
+ *.py[oc]
10
+ *.pyd
11
+ *.egg-info/
12
+ dist/
13
+ build/
14
+ wheels/
15
+
16
+ # uv
17
+ .python-version
18
+
19
+ # Jupyter
20
+ .ipynb_checkpoints/
21
+ *.ipynb
22
+
23
+ # OS
24
+ .DS_Store
25
+ Thumbs.db
26
+
27
+ # IDE
28
+ .vscode/
29
+ .idea/
30
+ *.swp
31
+
32
+ # Node
33
+ node_modules/
34
+
35
+ # Pytest cache
36
+ .pytest_cache/
37
+
38
+ # Misc generated
39
+ *.log
40
+
41
+ # Claude Code session cache (local only)
42
+ .claude/
@@ -0,0 +1,31 @@
1
+ # casimir-tools — build and publish commands
2
+ # Usage:
3
+ # make build Build wheel + sdist into dist/
4
+ # make test Run pytest suite
5
+ # make publish-test Upload to TestPyPI (dry run)
6
+ # make publish Upload to PyPI (real)
7
+ # make clean Remove build artifacts
8
+
9
+ PYTHON ?= python
10
+ HATCH ?= hatch
11
+ TWINE ?= twine
12
+
13
+ .PHONY: build test publish-test publish clean
14
+
15
+ build:
16
+ $(HATCH) build
17
+
18
+ test:
19
+ pip install -e ".[dev]" --quiet
20
+ pytest tests/ -v --tb=short
21
+
22
+ publish-test: build
23
+ $(TWINE) upload --repository testpypi dist/*
24
+
25
+ publish: build test
26
+ $(TWINE) upload dist/*
27
+ @echo "Published casimir-tools to PyPI."
28
+
29
+ clean:
30
+ rm -rf dist/ __pycache__ *.egg-info
31
+ find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
@@ -0,0 +1,106 @@
1
+ Metadata-Version: 2.4
2
+ Name: casimir-tools
3
+ Version: 0.1.0
4
+ Summary: Open-source toolkit for Lifshitz-Casimir force engineering in anisotropic and chiral dielectric heterostructures
5
+ Project-URL: Homepage, https://github.com/seveshss/casimir-tools
6
+ Project-URL: Repository, https://github.com/seveshss/casimir-tools
7
+ Project-URL: Documentation, https://casimir-tools.readthedocs.io
8
+ Project-URL: Bug Tracker, https://github.com/seveshss/casimir-tools/issues
9
+ Author-email: Sevesh SS <sevesh@kec.edu.in>
10
+ License: MIT
11
+ Keywords: Casimir force,Lifshitz theory,MEMS,NEMS,Tellurium,WTe2,chiral metamaterials,dielectric,nanotechnology,quantum vacuum,stiction,van der Waals
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Topic :: Scientific/Engineering :: Physics
20
+ Requires-Python: >=3.10
21
+ Requires-Dist: numpy>=1.24
22
+ Requires-Dist: scipy>=1.10
23
+ Provides-Extra: dev
24
+ Requires-Dist: mypy; extra == 'dev'
25
+ Requires-Dist: pytest>=7; extra == 'dev'
26
+ Requires-Dist: ruff; extra == 'dev'
27
+ Provides-Extra: plot
28
+ Requires-Dist: matplotlib>=3.6; extra == 'plot'
29
+ Description-Content-Type: text/markdown
30
+
31
+ # casimir-tools
32
+
33
+ **Open-source Python toolkit for Lifshitz-Casimir force engineering in anisotropic and chiral dielectric heterostructures.**
34
+
35
+ Developed as part of the *AI-driven Casimir Stiction Suppression* project (KEC 2026, SERB CRG).
36
+
37
+ ## Installation
38
+
39
+ ```bash
40
+ pip install casimir-tools
41
+ ```
42
+
43
+ ## Quick Start
44
+
45
+ ```python
46
+ from casimir_tools import casimir_energy, casimir_energy_chiral, MATERIALS
47
+
48
+ # Standard Lifshitz energy: Te | vacuum | WTe2 at 10 nm
49
+ te = MATERIALS["Te"]
50
+ wte2 = MATERIALS["WTe2_hex"]
51
+
52
+ E = casimir_energy(te["eps_static"], wte2["eps_static"], d=10e-9)
53
+ print(f"E = {E*1e3:.4f} mJ/m²") # ~ -0.20 mJ/m²
54
+
55
+ # With chiral correction κ = 0.7 → near-zero Casimir
56
+ E_chiral = casimir_energy_chiral(te["eps_static"], wte2["eps_static"],
57
+ d=10e-9, kappa=0.7)
58
+ print(f"E_chiral = {E_chiral*1e3:.4f} mJ/m²")
59
+
60
+ # Finite temperature (T = 300 K, Matsubara summation)
61
+ from casimir_tools import casimir_energy_finite_T
62
+ E_300K = casimir_energy_finite_T(te["eps_static"], wte2["eps_static"],
63
+ d=10e-9, T=300.0)
64
+
65
+ # Anisotropic uniaxial Lifshitz (Te crystal tensor)
66
+ from casimir_tools import casimir_energy_aniso
67
+ E_aniso = casimir_energy_aniso(te["eps_perp"], te["eps_par"],
68
+ wte2["eps_perp"], wte2["eps_par"],
69
+ d=10e-9)
70
+
71
+ # 2-oscillator Sellmeier model
72
+ from casimir_tools import casimir_energy_2osc, TE_2OSC, WTE2_2OSC
73
+ E_2osc = casimir_energy_2osc(**TE_2OSC, **{f"{k}_2": v for k, v in WTE2_2OSC.items()},
74
+ d=10e-9)
75
+ ```
76
+
77
+ ## Physics
78
+
79
+ The library implements the **Lifshitz (1956)** formula for Casimir energy between two planar dielectric half-spaces:
80
+
81
+ ```
82
+ E(d) = (ħ/2π²c²) ∫₀^∞ ξ² dξ ∫₁^∞ p dp
83
+ × Σ_pol ln(1 − r₁^pol r₂^pol e^{−2pξd/c})
84
+ ```
85
+
86
+ Extensions:
87
+ - **Chiral correction** (Zhao et al. 2009): `E = E_Lifshitz + κ² × δE`
88
+ - **Uniaxial anisotropy** (Bimonte et al. 2009): separate ε_⊥, ε_∥ Fresnel coefficients
89
+ - **Finite temperature** (Lifshitz/Pitaevskii): Matsubara sum at arbitrary T
90
+ - **2-oscillator Sellmeier**: resolves IR phonon + UV electronic contributions
91
+
92
+ ## Citation
93
+
94
+ ```bibtex
95
+ @software{sevesh2026casimir,
96
+ author = {Sevesh SS},
97
+ title = {casimir-tools: Lifshitz-Casimir Force Engineering Toolkit},
98
+ year = {2026},
99
+ url = {https://github.com/seveshss/casimir-tools},
100
+ version = {0.1.0},
101
+ }
102
+ ```
103
+
104
+ ## License
105
+
106
+ MIT © Sevesh SS, KEC 2026
@@ -0,0 +1,76 @@
1
+ # casimir-tools
2
+
3
+ **Open-source Python toolkit for Lifshitz-Casimir force engineering in anisotropic and chiral dielectric heterostructures.**
4
+
5
+ Developed as part of the *AI-driven Casimir Stiction Suppression* project (KEC 2026, SERB CRG).
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ pip install casimir-tools
11
+ ```
12
+
13
+ ## Quick Start
14
+
15
+ ```python
16
+ from casimir_tools import casimir_energy, casimir_energy_chiral, MATERIALS
17
+
18
+ # Standard Lifshitz energy: Te | vacuum | WTe2 at 10 nm
19
+ te = MATERIALS["Te"]
20
+ wte2 = MATERIALS["WTe2_hex"]
21
+
22
+ E = casimir_energy(te["eps_static"], wte2["eps_static"], d=10e-9)
23
+ print(f"E = {E*1e3:.4f} mJ/m²") # ~ -0.20 mJ/m²
24
+
25
+ # With chiral correction κ = 0.7 → near-zero Casimir
26
+ E_chiral = casimir_energy_chiral(te["eps_static"], wte2["eps_static"],
27
+ d=10e-9, kappa=0.7)
28
+ print(f"E_chiral = {E_chiral*1e3:.4f} mJ/m²")
29
+
30
+ # Finite temperature (T = 300 K, Matsubara summation)
31
+ from casimir_tools import casimir_energy_finite_T
32
+ E_300K = casimir_energy_finite_T(te["eps_static"], wte2["eps_static"],
33
+ d=10e-9, T=300.0)
34
+
35
+ # Anisotropic uniaxial Lifshitz (Te crystal tensor)
36
+ from casimir_tools import casimir_energy_aniso
37
+ E_aniso = casimir_energy_aniso(te["eps_perp"], te["eps_par"],
38
+ wte2["eps_perp"], wte2["eps_par"],
39
+ d=10e-9)
40
+
41
+ # 2-oscillator Sellmeier model
42
+ from casimir_tools import casimir_energy_2osc, TE_2OSC, WTE2_2OSC
43
+ E_2osc = casimir_energy_2osc(**TE_2OSC, **{f"{k}_2": v for k, v in WTE2_2OSC.items()},
44
+ d=10e-9)
45
+ ```
46
+
47
+ ## Physics
48
+
49
+ The library implements the **Lifshitz (1956)** formula for Casimir energy between two planar dielectric half-spaces:
50
+
51
+ ```
52
+ E(d) = (ħ/2π²c²) ∫₀^∞ ξ² dξ ∫₁^∞ p dp
53
+ × Σ_pol ln(1 − r₁^pol r₂^pol e^{−2pξd/c})
54
+ ```
55
+
56
+ Extensions:
57
+ - **Chiral correction** (Zhao et al. 2009): `E = E_Lifshitz + κ² × δE`
58
+ - **Uniaxial anisotropy** (Bimonte et al. 2009): separate ε_⊥, ε_∥ Fresnel coefficients
59
+ - **Finite temperature** (Lifshitz/Pitaevskii): Matsubara sum at arbitrary T
60
+ - **2-oscillator Sellmeier**: resolves IR phonon + UV electronic contributions
61
+
62
+ ## Citation
63
+
64
+ ```bibtex
65
+ @software{sevesh2026casimir,
66
+ author = {Sevesh SS},
67
+ title = {casimir-tools: Lifshitz-Casimir Force Engineering Toolkit},
68
+ year = {2026},
69
+ url = {https://github.com/seveshss/casimir-tools},
70
+ version = {0.1.0},
71
+ }
72
+ ```
73
+
74
+ ## License
75
+
76
+ MIT © Sevesh SS, KEC 2026
@@ -0,0 +1,102 @@
1
+ """
2
+ casimir_tools — Open-source Casimir force engineering toolkit.
3
+
4
+ A self-contained Python library for computing Lifshitz-Casimir interactions
5
+ in anisotropic, chiral dielectric heterostructures. Developed as part of the
6
+ AI-driven Casimir Stiction Suppression project (KEC 2026, SERB CRG).
7
+
8
+ Public API
9
+ ----------
10
+ Dielectric models:
11
+ epsilon_imaginary — single-oscillator Cauchy model
12
+ epsilon_imaginary_2osc — two-oscillator Sellmeier model
13
+
14
+ Energy calculations:
15
+ casimir_energy — T=0 isotropic Lifshitz (full double integral)
16
+ casimir_energy_chiral — T=0 with κ² chiral correction
17
+ casimir_energy_aniso — T=0 uniaxial anisotropic Lifshitz
18
+ casimir_energy_2osc — T=0 with 2-oscillator dielectric
19
+ casimir_energy_finite_T — T>0 Matsubara summation
20
+
21
+ Force calculations:
22
+ casimir_force — F = -dE/dd (isotropic)
23
+ casimir_force_chiral — chiral Casimir force
24
+
25
+ Sweep utilities:
26
+ sweep_separation — energy vs d (isotropic)
27
+ sweep_separation_aniso — energy vs d (uniaxial)
28
+ sweep_separation_2osc — energy vs d (2-oscillator)
29
+ sweep_finite_T — energy vs d at finite T
30
+
31
+ Material presets:
32
+ TE_2OSC — Tellurium 2-oscillator parameters
33
+ WTE2_2OSC — WTe₂ (P-6m2) 2-oscillator parameters
34
+ MATERIALS — dict of preset material dielectric constants
35
+
36
+ Physical constants (SI):
37
+ HBAR, KB, C, OMEGA_UV
38
+
39
+ References
40
+ ----------
41
+ 1. Lifshitz, E.M. (1956) Sov. Phys. JETP 2, 73.
42
+ 2. Dzyaloshinskii, Lifshitz, Pitaevskii (1961) Adv. Phys. 10, 165.
43
+ 3. Zhao, R. et al. (2009) Phys. Rev. Lett. 103, 103602.
44
+ 4. Bimonte, G. et al. (2009) Phys. Rev. A 79, 042906.
45
+ 5. Parsegian, V.A. (2006) Van der Waals Forces. Cambridge UP.
46
+ """
47
+
48
+ __version__ = "0.1.0"
49
+ __author__ = "Sevesh SS"
50
+ __email__ = "sevesh@kec.edu.in"
51
+ __license__ = "MIT"
52
+
53
+ from casimir_tools._core import (
54
+ # Physical constants
55
+ HBAR,
56
+ KB,
57
+ C,
58
+ OMEGA_UV,
59
+ # Dielectric models
60
+ epsilon_imaginary,
61
+ epsilon_imaginary_2osc,
62
+ epsilon_imaginary_drude,
63
+ # Isotropic Lifshitz
64
+ casimir_energy,
65
+ casimir_energy_chiral,
66
+ casimir_energy_chiral_asymmetric,
67
+ casimir_energy_fast,
68
+ casimir_energy_finite_T,
69
+ # Anisotropic Lifshitz
70
+ casimir_energy_aniso,
71
+ # 2-oscillator
72
+ casimir_energy_2osc,
73
+ # Force
74
+ casimir_force,
75
+ casimir_force_chiral,
76
+ # Asymmetric chiral diagnostics
77
+ compute_asymmetric_kappa_crit,
78
+ # Sweeps
79
+ sweep_separation,
80
+ sweep_separation_aniso,
81
+ sweep_separation_2osc,
82
+ sweep_finite_T,
83
+ sweep_force,
84
+ # Material presets
85
+ TE_2OSC,
86
+ WTE2_2OSC,
87
+ )
88
+
89
+ from casimir_tools._materials import MATERIALS, load_material
90
+
91
+ __all__ = [
92
+ "HBAR", "KB", "C", "OMEGA_UV",
93
+ "epsilon_imaginary", "epsilon_imaginary_2osc", "epsilon_imaginary_drude",
94
+ "casimir_energy", "casimir_energy_chiral", "casimir_energy_chiral_asymmetric",
95
+ "casimir_energy_fast", "casimir_energy_aniso", "casimir_energy_2osc",
96
+ "casimir_energy_finite_T", "casimir_force", "casimir_force_chiral",
97
+ "compute_asymmetric_kappa_crit",
98
+ "sweep_separation", "sweep_separation_aniso", "sweep_separation_2osc",
99
+ "sweep_finite_T", "sweep_force",
100
+ "TE_2OSC", "WTE2_2OSC",
101
+ "MATERIALS", "load_material",
102
+ ]