CaPS

CaPS: Casimir Effect in the Plane-Sphere Geometry - Published in JOSS (2020)

https://github.com/michael-hartmann/caps

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 13 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: arxiv.org, joss.theoj.org
  • Committers with academic emails
    5 of 7 committers (71.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

casimir multipole numerics plane scattering sphere
Last synced: 6 months ago · JSON representation

Repository

The Casimir Effect in the plane-sphere geometry.

Basic Info
  • Host: GitHub
  • Owner: michael-hartmann
  • License: gpl-2.0
  • Language: C++
  • Default Branch: master
  • Size: 63.6 MB
Statistics
  • Stars: 4
  • Watchers: 5
  • Forks: 1
  • Open Issues: 0
  • Releases: 7
Topics
casimir multipole numerics plane scattering sphere
Created over 10 years ago · Last pushed about 6 years ago
Metadata Files
Readme Changelog Contributing License

README.md

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

  • Computation of the free energy for aspect ratios used in typical experiments.
  • Full support for perfect reflectors, metals described by the Drude and plasma model, and generic materials described by a user-defined dielectric function.
  • Calculate the free energy in the high temperature limit for perfect reflectors, the Drude and plasma model.
  • Support for parallelization using MPI.
  • Computation of the free energy in the plane-cylinder geometry at zero temperature for perfect reflectors.
  • Computation of the free energy for two spheres with equal radii at zero temperature for perfect reflectors.
  • CaPS is fast and reliable.
  • ready to use programs: you don't have to modify the code.
  • CaPS is free software – you may use it or even modify it.

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)/(hbarc)

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: * HODLR: Fast direct solver and determinant computation for dense linear systems (MPL2) * libeigen: C++ template library for linear algebra (MPL2) * cquadpack: C port of the QUADPACK software originally written in Fortran for solving integrals (public domain) * cephes: Software collection with special functions. CaPS uses the implementation for the modified Bessel functions I0(x), I1(x), K0(x), and K1(x) (see src/bessel.c). (No license, probably BSD licensed.) * LAPACK: Linear algebra library. LAPACK may be used to calculate the determinant of the scattering matrices. However, for small separations using HODLR is much faster. (Modified BSD) * buf: Growable memory buffers for C99. (public domain) * argparse: Command line arguments parsing library in C (MIT)

Publications using CaPS

Owner

  • Name: Michael Hartmann
  • Login: michael-hartmann
  • Kind: user
  • Location: Munich
  • Company: Infineon

Physicist and developer.

JOSS Publication

CaPS: Casimir Effect in the Plane-Sphere Geometry
Published
January 26, 2020
Volume 5, Issue 45, Page 2011
Authors
Michael Hartmann ORCID
Institut für Physik, Universität Augsburg, 86135 Augsburg, Germany
Gert-Ludwig Ingold ORCID
Institut für Physik, Universität Augsburg, 86135 Augsburg, Germany
Editor
Daniel S. Katz ORCID
Tags
Casimir effect electromagnetic scattering multipole basis plane-sphere geometry hierarchical matrices

GitHub Events

Total
Last Year

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 2,864
  • Total Committers: 7
  • Avg Commits per committer: 409.143
  • Development Distribution Score (DDS): 0.062
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Michael Hartmann m****n@p****e 2,687
Gert-Ludwig Ingold g****d@p****e 123
Erik Buchenau e****u@l****e 26
Michael Hartmann h****c@e****e 13
Michael Hartmann h****c@j****e 12
E-Buchenau g****o@k****x 2
Daniel S. Katz d****z@i****g 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 26
  • Total pull requests: 74
  • Average time to close issues: 21 days
  • Average time to close pull requests: about 11 hours
  • Total issue authors: 4
  • Total pull request authors: 3
  • Average comments per issue: 2.92
  • Average comments per pull request: 0.28
  • Merged pull requests: 73
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • michael-hartmann (9)
  • gertingold (9)
  • jwuttke (7)
  • eschnett (1)
Pull Request Authors
  • michael-hartmann (53)
  • gertingold (20)
  • danielskatz (1)
Top Labels
Issue Labels
JOSS (16) bug (6) enhancement (3) user manual (2) question (1)
Pull Request Labels
JOSS (45) enhancement (4) bug (2) cylinder-plate (2)