michael-hartmann / caps

The Casimir Effect in the plane-sphere geometry.
GNU General Public License v2.0
4 stars 1 forks source link
casimir multipole numerics plane scattering sphere

CaPS

version 0.5 manual status arXiv:1803.05791 license: GPLv2

What is CaPS?

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.

Features

Installation

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.

Usage

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.

Documentation

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/.

Bugs, developing and contributing

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.

Authors

For a full list, see CREDITS.

License

The code is licensed under GPLv2, see LICENSE.

Also, CaPS uses some third-party software:

Publications using CaPS