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.
- casimir_tools-0.1.0/.gitignore +42 -0
- casimir_tools-0.1.0/Makefile +31 -0
- casimir_tools-0.1.0/PKG-INFO +106 -0
- casimir_tools-0.1.0/README_PKG.md +76 -0
- casimir_tools-0.1.0/__init__.py +102 -0
- casimir_tools-0.1.0/_core.py +589 -0
- casimir_tools-0.1.0/_materials.py +135 -0
- casimir_tools-0.1.0/pyproject.toml +60 -0
- casimir_tools-0.1.0/tests/__init__.py +0 -0
- casimir_tools-0.1.0/tests/conftest.py +46 -0
- casimir_tools-0.1.0/tests/test_core.py +628 -0
- casimir_tools-0.1.0/tests/test_materials.py +84 -0
- casimir_tools-0.1.0/uv.lock +1191 -0
|
@@ -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
|
+
]
|