CaPS is a package for the analysis of the Casimir effect in the plane-sphere geometry. The Casimir force arises due to quantum and thermal fluctuations of the electromagnetic field and is closely related to the van der Waals force.
CaPS allows to compute the Casimir interaction in the plane-sphere geometry as a function of the sphere radius R, the minimal separation L between sphere and plane, the temperature T, and the material properties of plane and sphere. It is assumed that both objects are non-magnetic and placed in vacuum. The code is highly optimized and allows - depending on parameters and the available resources - to compute the free energy for aspect ratios up to R/L~5,000 (in some cases even higher!).
The picture shows an overview of the experiments carried out in the plane-sphere geometry. The blue area denotes the aspect ratios that are accessible using CaPS. The inset depicts the plane-sphere geometry.
In addition, CaPS can compute the Casimir free energy for the plane-cylinder geometry at zero temperature for perfect reflectors.
If you use Linux or Unix, you need the gcc and development libraries and header files for the standard C library, and MPI. On a Debian-like Linux the command
$ sudo apt-get install gcc g++ libc-dev libc++-dev cmake make libopenmpi-dev openmpi-bin liblapack-dev
will install all dependencies. Here, the dollar sign indicates the shell prompt. You can compile the sources with:
$ mkdir build
$ cd build
$ cmake ..
$ make
This will build the executables caps
, caps_logdetD
, capc
, and cass
.
The executables can be run either directly from the build directory or you can
install them using:
$ sudo make install
You can find more information about building the software in the user manual.
You can compile and run the tests with:
$ make tests
$ ./caps_tests
Running the tests takes about 9 minutes (depending on your hardware). All tests should pass.
To compute the Casimir free energy between a sphere of radius R=150µm and a plane separated by a distance L=1µm at room temperature T=300K assuming that both objects are perfect reflectors, use the command:
$ mpirun -n 8 ./caps -R 150e-6 -L 1e-6 -T 300
# version: 0.5
# compiler: gcc
# compile time: Nov 19 2019 06:07:55
# compiled on: Linux host.name 5.0.0-36-generic x86_64
# git HEAD: 46c49c4
# git branch: master
# pid: 13955
# start time: Tue Nov 19 08:12:48 2019
#
# LbyR = 0.006666666666666667
# RbyL = 150
# L = 1e-06
# R = 0.00015
# T = 300
# using Matsubara spectrum decomposition (MSD)
# cutoff = 1e-09
# epsrel = 1e-06
# iepsrel = 1e-08
# ldim = 1050
# cores = 8
# model = perfect reflectors
#
# xi*(L+R)/c=0, logdetD=-42.60020778315535, t=0.466361
# xi*(L+R)/c=124.2980585533627, logdetD=-7.390574126086727, t=36.6145
# xi*(L+R)/c=248.5961171067254, logdetD=-1.397506009518924, t=39.6049
# xi*(L+R)/c=372.8941756600882, logdetD=-0.2684860665174791, t=41.3722
# xi*(L+R)/c=497.1922342134509, logdetD=-0.05172439672511596, t=41.5685
# xi*(L+R)/c=621.4902927668136, logdetD=-0.009968722298954673, t=40.6447
# xi*(L+R)/c=745.7883513201764, logdetD=-0.001921057457708089, t=39.6954
# xi*(L+R)/c=870.0864098735391, logdetD=-0.0003701100141037046, t=36.9724
# xi*(L+R)/c=994.3844684269018, logdetD=-7.127997261108949e-05, t=34.6741
# xi*(L+R)/c=1118.682526980265, logdetD=-1.37218303284775e-05, t=30.9301
#
# 1125 determinants computed
# stop time: Tue Nov 19 08:18:31 2019
#
# L/R, L, R, T, ldim, E*(L+R)/(hbar*c)
0.006666666666666667, 1e-06, 0.00015, 300, 1050, -1203.6057063667
Due to parallelization you might not get the exactly same numerical value for the free energy.
CaPS is documented by a user manual and an API documentation.
The user manual describes how to build and use the programs that come with
CaPS. The user manual is available online. You
can also build the user manual using Makefile provided in docs/manual
.
The API of CaPS are documented using doxygen. The API documentation is
available online as
html or
PDF. You can also build the
API documentation using the doxygen.conf
file provided in src/
.
The latest version of CaPS is available at github.
We are always happy to get support and feedback from the community. If you find a bug, please create an issue. If you have improvements, create a pull request. For more details see CONTRIBUTING.md.
Michael Hartmann, caps@speicherleck.de main developer
Gert-Ludwig Ingold, gert.ingold@physik.uni-augsburg.de ideas, documentation, JOSS paper, testing, bugfixes
For a full list, see CREDITS.
The code is licensed under GPLv2, see LICENSE.
Also, CaPS uses some third-party software:
Casimir effect in the plane-sphere geometry: Beyond the proximity force approximation
Michael Hartmann, PhD thesis (Universität Augsburg, 2018)
Advancing numerics for the Casimir effect to experimentally relevant aspect ratios (on arxiv)
Michael Hartmann, Gert-Ludwig Ingold, Paulo A. Maia Neto,
Phys. Scr. 93, 114003 (2018), DOI: 10.1088/1402-4896/aae34e
Plasma versus Drude Modeling of the Casimir Force: Beyond the Proximity Force Approximation (on arxiv)
Michael Hartmann, Gert-Ludwig Ingold, and Paulo A. Maia Neto,
Phys. Rev. Lett. 119, 043901 (2017), DOI: 10.1103/PhysRevLett.119.04390
Disentangling geometric and dissipative origins of negative Casimir entropies (on arxiv)
Stefan Umrath, Michael Hartmann, Gert-Ludwig Ingold, and Paulo A. Maia Neto,
Phys. Rev. E 92, 042125 (2015), DOI: 10.1103/PhysRevE.92.042125
Geometric origin of negative Casimir entropies: A scattering-channel analysis (on arxiv)
Gert-Ludwig Ingold, Stefan Umrath, Michael Hartmann, Romain Guérout, Astrid Lambrecht, Serge Reynaud, and Kimball A. Milton,
Phys. Rev. E 91, 033203 (2015). DOI: 10.1103/PhysRevE.91.033203