Skip to content
Permalink
Browse files

Merged espressomd/python.

  • Loading branch information...
KaiSzuttor committed Jun 11, 2019
2 parents 9d36db2 + 5b88304 commit 348a427bf64aa6677b99b417497ceda004a54593
Showing with 8,630 additions and 4,105 deletions.
  1. +27 −12 .gitlab-ci.yml
  2. +3 −3 CMakeLists.txt
  3. +1 −1 Readme.md
  4. +44 −31 cmake/FindSphinx.cmake
  5. +4 −0 doc/sphinx/CMakeLists.txt
  6. +10 −0 doc/sphinx/_static/bibtex.css
  7. +4 −4 doc/sphinx/advanced_methods.rst
  8. +3 −3 doc/sphinx/appendix.rst
  9. +21 −89 doc/sphinx/conf.py.in
  10. +5 −5 doc/sphinx/electrostatics.rst
  11. +1 −1 doc/sphinx/introduction.rst
  12. +1 −1 doc/sphinx/lb.rst
  13. +1 −1 doc/sphinx/magnetostatics.rst
  14. +1 −1 doc/sphinx/ug.rst
  15. +6 −0 doc/sphinx/zreferences.rst
  16. +193 −321 doc/sphinx/zrefs.bib
  17. +842 −0 doc/tutorials/11-ferrofluid/11-ferrofluid_part1.ipynb
  18. +875 −0 doc/tutorials/11-ferrofluid/11-ferrofluid_part2.ipynb
  19. +3,139 −0 doc/tutorials/11-ferrofluid/11-ferrofluid_part3.ipynb
  20. +16 −0 doc/tutorials/11-ferrofluid/CMakeLists.txt
  21. BIN doc/tutorials/11-ferrofluid/figures/Electro-Steric_Stabilization.jpg
  22. BIN doc/tutorials/11-ferrofluid/figures/Ferrofluid_Magnet_under_glass_edit.jpg
  23. BIN doc/tutorials/11-ferrofluid/figures/headtotailconf.png
  24. +10 −1 doc/tutorials/CMakeLists.txt
  25. +17 −3 maintainer/CI/build_cmake.sh
  26. +4 −3 maintainer/benchmarks/lj.py
  27. +4 −2 maintainer/benchmarks/p3m.py
  28. +1 −1 requirements.txt
  29. +0 −2 src/core/accumulators/Correlator.cpp
  30. +5 −2 src/core/accumulators/Correlator.hpp
  31. +13 −12 src/core/cells.cpp
  32. +0 −3 src/core/cells.hpp
  33. +0 −1 src/core/collision.cpp
  34. +0 −4 src/core/event.cpp
  35. +1 −1 src/core/grid_based_algorithms/electrokinetics_cuda.cu
  36. +7 −17 src/core/grid_based_algorithms/lbgpu_cuda.cu
  37. +0 −3 src/core/integrate.cpp
  38. +4 −10 src/core/io/writer/h5md_core.hpp
  39. +0 −4 src/core/minimize_energy.cpp
  40. +1 −0 src/core/observables/ComForce.hpp
  41. +1 −0 src/core/observables/ComPosition.hpp
  42. +1 −0 src/core/observables/ComVelocity.hpp
  43. +1 −0 src/core/observables/Current.hpp
  44. +5 −2 src/core/observables/CylindricalDensityProfile.hpp
  45. +3 −2 src/core/observables/CylindricalFluxDensityProfile.hpp
  46. +3 −3 src/core/observables/CylindricalLBFluxDensityProfileAtParticlePositions.cpp
  47. +2 −0 src/core/observables/CylindricalLBFluxDensityProfileAtParticlePositions.hpp
  48. +41 −9 src/core/observables/CylindricalLBProfileObservable.hpp
  49. +15 −32 src/core/observables/CylindricalLBVelocityProfile.cpp
  50. +1 −0 src/core/observables/CylindricalLBVelocityProfile.hpp
  51. +3 −3 src/core/observables/CylindricalLBVelocityProfileAtParticlePositions.cpp
  52. +1 −0 src/core/observables/CylindricalLBVelocityProfileAtParticlePositions.hpp
  53. +13 −2 src/core/observables/CylindricalPidProfileObservable.hpp
  54. +10 −6 src/core/observables/{CylindricalProfileObservable.hpp → CylindricalProfile.hpp}
  55. +3 −2 src/core/observables/CylindricalVelocityProfile.hpp
  56. +1 −0 src/core/observables/DensityProfile.hpp
  57. +1 −0 src/core/observables/DipoleMoment.hpp
  58. +1 −0 src/core/observables/FluxDensityProfile.hpp
  59. +1 −0 src/core/observables/ForceDensityProfile.hpp
  60. +0 −62 src/core/observables/LBObservable.hpp
  61. +51 −2 src/core/observables/LBProfileObservable.hpp
  62. +4 −19 src/core/observables/LBVelocityProfile.cpp
  63. +1 −0 src/core/observables/LBVelocityProfile.hpp
  64. +1 −0 src/core/observables/MagneticDipoleMoment.hpp
  65. +1 −0 src/core/observables/ParticleAngles.hpp
  66. +1 −0 src/core/observables/ParticleAngularVelocities.hpp
  67. +1 −0 src/core/observables/ParticleBodyAngularVelocities.hpp
  68. +1 −0 src/core/observables/ParticleBodyVelocities.hpp
  69. +1 −0 src/core/observables/ParticleDihedrals.hpp
  70. +1 −0 src/core/observables/ParticleDistances.hpp
  71. +1 −0 src/core/observables/ParticleForces.hpp
  72. +1 −0 src/core/observables/ParticlePositions.hpp
  73. +1 −0 src/core/observables/ParticleVelocities.hpp
  74. +2 −1 src/core/observables/PidObservable.hpp
  75. +9 −6 src/core/observables/PidProfileObservable.hpp
  76. +6 −3 src/core/observables/ProfileObservable.hpp
  77. +6 −2 src/core/particle_data.cpp
  78. +1 −1 src/core/polymer.cpp
  79. +1 −1 src/core/rotate_system.cpp
  80. +2 −0 src/core/short_range_loop.hpp
  81. +0 −4 src/core/virtual_sites/lb_inertialess_tracers.cpp
  82. +109 −109 src/python/espressomd/accumulators.py
  83. +7 −2 src/python/espressomd/analyze.pyx
  84. +14 −26 src/python/espressomd/observables.py
  85. +1 −1 src/python/espressomd/polymer.pyx
  86. +2 −0 src/python/espressomd/script_interface.pxd
  87. +24 −18 src/python/espressomd/script_interface.pyx
  88. +2 −1 src/script_interface/accumulators/Correlator.hpp
  89. +79 −122 src/script_interface/observables/CylindricalLBProfileObservable.hpp
  90. +12 −8 src/script_interface/observables/CylindricalPidProfileObservable.hpp
  91. +12 −7 src/script_interface/observables/LBProfileObservable.hpp
  92. +14 −14 src/script_interface/observables/PidObservable.hpp
  93. +9 −1 src/script_interface/observables/PidProfileObservable.hpp
  94. +3 −1 src/script_interface/observables/ProfileObservable.hpp
  95. +5 −0 src/script_interface/observables/initialize.cpp
  96. +1 −1 src/utils/include/utils/Vector.hpp
  97. +0 −79 src/utils/include/utils/coordinate_transformation.hpp
  98. +86 −0 src/utils/include/utils/math/coordinate_transformation.hpp
  99. +17 −2 src/utils/include/utils/{ → math}/vec_rotate.hpp
  100. +91 −0 src/utils/include/utils/sampling.hpp
  101. +2 −1 src/utils/tests/CMakeLists.txt
  102. +1 −0 src/utils/tests/Vector_test.cpp
  103. +85 −0 src/utils/tests/coordinate_transformation.cpp
  104. +63 −0 src/utils/tests/sampling_test.cpp
  105. +1 −1 src/utils/tests/vec_rotate_test.cpp
  106. +3 −3 testsuite/python/CMakeLists.txt
  107. +4 −4 testsuite/python/accumulator.py
  108. +21 −22 testsuite/python/analyze_chains.py
  109. +2 −3 testsuite/python/analyze_distance.py
  110. +11 −18 testsuite/python/analyze_distribution.py
  111. +12 −16 testsuite/python/analyze_energy.py
  112. +14 −16 testsuite/python/analyze_gyration_tensor.py
  113. +9 −10 testsuite/python/analyze_itensor.py
  114. +10 −18 testsuite/python/array_properties.py
  115. +2 −3 testsuite/python/auto_exclusions.py
  116. +0 −3 testsuite/python/cellsystem.py
  117. +7 −8 testsuite/python/cluster_analysis.py
  118. +17 −18 testsuite/python/collision_detection.py
  119. +6 −10 testsuite/python/constant_pH.py
  120. +8 −11 testsuite/python/constraint_homogeneous_magnetic_field.py
  121. +89 −139 testsuite/python/constraint_shape_based.py
  122. +2 −5 testsuite/python/correlation.py
  123. +65 −68 testsuite/python/coulomb_cloud_wall.py
  124. +82 −87 testsuite/python/coulomb_cloud_wall_duplicated.py
  125. +49 −51 testsuite/python/coulomb_mixed_periodicity.py
  126. +20 −29 testsuite/python/coulomb_tuning.py
  127. +33 −36 testsuite/python/dawaanr-and-bh-gpu.py
  128. +23 −36 testsuite/python/dawaanr-and-dds-gpu.py
  129. +0 −188 testsuite/python/dds-and-bh-gpu-perf.py
  130. +28 −32 testsuite/python/dds-and-bh-gpu.py
  131. +23 −31 testsuite/python/dipolar_mdlc_p3m_scafacos_p2nfft.py
  132. +1 −5 testsuite/python/domain_decomposition.py
  133. +6 −5 testsuite/python/dpd.py
  134. +78 −60 testsuite/python/drude.py
  135. +44 −53 testsuite/python/ek_charged_plate.py
  136. +16 −16 testsuite/python/ek_eof_one_species_base.py
  137. +2 −0 testsuite/python/ek_eof_one_species_x.py
  138. +2 −0 testsuite/python/ek_eof_one_species_y.py
  139. +2 −0 testsuite/python/ek_eof_one_species_z.py
  140. +28 −36 testsuite/python/ek_fluctuations.py
  141. +21 −10 testsuite/python/elc_vs_mmm2d_neutral.py
  142. +17 −8 testsuite/python/elc_vs_mmm2d_nonneutral.py
  143. +13 −45 testsuite/python/electrostaticInteractions.py
  144. +2 −3 testsuite/python/engine_langevin.py
  145. +83 −75 testsuite/python/engine_lb.py
  146. +0 −126 testsuite/python/engine_lbgpu.py
  147. +21 −23 testsuite/python/exclusions.py
  148. +27 −36 testsuite/python/field_test.py
  149. +4 −9 testsuite/python/force_cap.py
  150. +18 −0 testsuite/python/galilei.py
  151. +4 −7 testsuite/python/gpu_availability.py
  152. +10 −28 testsuite/python/h5md.py
  153. +2 −3 testsuite/python/hat.py
  154. +3 −7 testsuite/python/icc.py
  155. +0 −1 testsuite/python/integrate.py
  156. +2 −3 testsuite/python/interactions_bond_angle.py
  157. +12 −19 testsuite/python/interactions_bonded.py
  158. +6 −10 testsuite/python/interactions_bonded_interface.py
  159. +3 −5 testsuite/python/interactions_dihedral.py
  160. +94 −88 testsuite/python/interactions_non-bonded.py
  161. +14 −17 testsuite/python/interactions_non-bonded_interface.py
  162. +51 −49 testsuite/python/langevin_thermostat.py
  163. +1 −5 testsuite/python/layered.py
  164. +21 −44 testsuite/python/lb.py
  165. +4 −7 testsuite/python/lb_boundary.py
  166. +4 −5 testsuite/python/lb_boundary_velocity.py
  167. +0 −2 testsuite/python/lb_density.py
  168. +3 −4 testsuite/python/lb_electrohydrodynamics.py
  169. +2 −1 testsuite/python/lb_get_u_at_pos.py
  170. +0 −63 testsuite/python/lb_gpu_viscous.py
  171. +10 −12 testsuite/python/lb_interpolation.py
  172. +6 −7 testsuite/python/lb_poiseuille.py
  173. +224 −0 testsuite/python/lb_poiseuille_cylinder.py
  174. +5 −5 testsuite/python/lb_shear.py
  175. +12 −26 testsuite/python/lb_stokes_sphere.py
  176. +3 −6 testsuite/python/lb_streaming.py
  177. +4 −8 testsuite/python/lb_switch.py
  178. +8 −11 testsuite/python/lb_thermo_virtual.py
  179. +6 −5 testsuite/python/lb_thermostat.py
  180. +2 −1 testsuite/python/lbgpu_remove_total_momentum.py
  181. +5 −7 testsuite/python/lj.py
  182. +10 −13 testsuite/python/magnetostaticInteractions.py
  183. +53 −62 testsuite/python/mass-and-rinertia_per_particle.py
  184. +7 −10 testsuite/python/minimize_energy.py
  185. +9 −53 testsuite/python/mmm1d.py
  186. +2 −3 testsuite/python/mpiio.py
  187. +5 −6 testsuite/python/npt.py
  188. +2 −5 testsuite/python/nsquare.py
  189. +44 −35 testsuite/python/observable_cylindrical.py
  190. +84 −164 testsuite/python/observable_cylindricalLB.py
  191. +10 −17 testsuite/python/observable_profile.py
  192. +4 −3 testsuite/python/observable_profileLB.py
  193. +13 −12 testsuite/python/observables.py
  194. +10 −11 testsuite/python/oif_volume_conservation.py
  195. +25 −23 testsuite/python/p3m_electrostatic_pressure.py
  196. +6 −11 testsuite/python/p3m_gpu.py
  197. +11 −15 testsuite/python/pair_criteria.py
  198. +12 −16 testsuite/python/pairs.py
  199. +23 −22 testsuite/python/particle.py
  200. +80 −96 testsuite/python/particle_slice.py
  201. +19 −27 testsuite/python/polymer.py
  202. +2 −3 testsuite/python/random_pairs.py
  203. +3 −3 testsuite/python/rdf.py
  204. +4 −14 testsuite/python/reaction_ensemble.py
  205. +0 −1 testsuite/python/rescale.py
  206. +3 −6 testsuite/python/rigid_bond.py
  207. +11 −15 testsuite/python/rotation_per_particle.py
  208. +74 −71 testsuite/python/rotational-diffusion-aniso.py
  209. +27 −48 testsuite/python/rotational_inertia.py
  210. +11 −15 testsuite/python/scafacos_dipoles_1d_2d.py
  211. +19 −2 testsuite/python/sigint.py
  212. +18 −1 testsuite/python/sigint_child.py
  213. +17 −12 testsuite/python/simple_pore.py
  214. +3 −7 testsuite/python/stress.py
  215. +2 −2 testsuite/python/subt_lj.py
  216. +7 −7 testsuite/python/swimmer_reaction.py
  217. +2 −3 testsuite/python/tabulated.py
  218. +14 −29 testsuite/python/test_checkpoint.py
  219. +26 −81 testsuite/python/tests_common.py
  220. +23 −16 testsuite/python/thermalized_bond.py
  221. +10 −13 testsuite/python/thole.py
  222. +59 −0 testsuite/python/unittest_decorators.py
  223. +0 −107 testsuite/python/variant_conversion.py
  224. +22 −26 testsuite/python/virtual_sites_relative.py
  225. +4 −12 testsuite/python/virtual_sites_tracers.py
  226. +21 −25 testsuite/python/virtual_sites_tracers_common.py
  227. +4 −14 testsuite/python/virtual_sites_tracers_gpu.py
  228. +11 −11 testsuite/python/wang_landau_reaction_ensemble.py
  229. +15 −21 testsuite/python/widom_insertion.py
  230. +4 −7 testsuite/python/writevtf.py
  231. +1 −0 testsuite/scripts/CMakeLists.txt
  232. +24 −0 testsuite/scripts/benchmarks/CMakeLists.txt
  233. +32 −0 testsuite/scripts/benchmarks/test_lj.py
  234. +32 −0 testsuite/scripts/benchmarks/test_p3m.py
  235. +5 −0 testsuite/scripts/samples/test_observables_correlators.py
  236. +3 −0 testsuite/scripts/tutorials/CMakeLists.txt
  237. +42 −0 testsuite/scripts/tutorials/test_11-ferrofluid_1.py
  238. +45 −0 testsuite/scripts/tutorials/test_11-ferrofluid_2.py
  239. +51 −0 testsuite/scripts/tutorials/test_11-ferrofluid_3.py
@@ -92,6 +92,17 @@ default:
- docker
- linux

min_boost:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/ubuntu-python3:min_boost
script:
- export with_cuda=false myconfig=maxset python_version=3
- bash maintainer/CI/build_cmake.sh
tags:
- docker
- linux

maxset:
<<: *global_job_definition
stage: build
@@ -138,12 +149,12 @@ debian:9:
- docker
- linux

opensuse:15.0:
opensuse:15.1:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/$CI_JOB_NAME
script:
- export with_cuda=false myconfig=maxset make_check=false
- export with_cuda=false myconfig=maxset make_check=false python_version=3
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -152,9 +163,9 @@ opensuse:15.0:
centos:7:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/$CI_JOB_NAME
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/centos-python3:7
script:
- export with_cuda=false myconfig=maxset
- export with_cuda=false myconfig=maxset make_check=true python_version=3
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -163,17 +174,17 @@ centos:7:
fedora:
<<: *global_job_definition
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/centos:next
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/centos-python3:next
script:
- export with_cuda=false myconfig=maxset make_check=false
- export with_cuda=false myconfig=maxset make_check=false python_version=3
- bash maintainer/CI/build_cmake.sh
tags:
- docker
- linux

#ubuntu:1404 not needed: used in cuda:8.0
#ubuntu:1604 not needed: used in cuda:9.0
#ubuntu:1804 not needed: default used in non-CUDA builds
#ubuntu:1904 not needed: base image for builds on different architectures

### Builds with CUDA

@@ -198,7 +209,8 @@ tutorials-samples-maxset:
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/cuda:tutorials
script:
- export myconfig=maxset with_coverage=false python_version=3 make_check=false make_check_tutorials=true make_check_samples=true test_timeout=1200
- export myconfig=maxset with_coverage=false python_version=3 make_check=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=true test_timeout=1200
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -210,7 +222,8 @@ tutorials-samples-default:
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/cuda:tutorials
script:
- export myconfig=default with_coverage=false python_version=3 make_check=false make_check_tutorials=true make_check_samples=true test_timeout=1200
- export myconfig=default with_coverage=false python_version=3 make_check=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=true test_timeout=1200
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -224,7 +237,8 @@ tutorials-samples-empty:
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/cuda:tutorials
script:
- export myconfig=empty with_coverage=false python_version=3 make_check=false make_check_tutorials=true make_check_samples=true test_timeout=1200
- export myconfig=empty with_coverage=false python_version=3 make_check=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=true test_timeout=1200
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -238,7 +252,8 @@ tutorials-samples-no-gpu:
stage: build
image: gitlab.icp.uni-stuttgart.de:4567/espressomd/docker/cuda:tutorials
script:
- export myconfig=maxset with_coverage=false python_version=3 make_check=false make_check_tutorials=true make_check_samples=true test_timeout=1200 hide_gpu=true
- export myconfig=maxset with_coverage=false python_version=3 make_check=false
- export make_check_tutorials=true make_check_samples=true make_check_benchmarks=true test_timeout=1200 hide_gpu=true
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -304,7 +319,7 @@ rocm-maxset:
script:
- export with_cuda=false test_timeout=900 check_skip_long=true
- export OMPI_MCA_btl_vader_single_copy_mechanism=none
- export myconfig=maxset
- export myconfig=maxset python_version=3
- bash maintainer/CI/build_cmake.sh
tags:
- docker
@@ -209,10 +209,10 @@ if(WITH_CUDA)

set(CUDA_LINK_LIBRARIES_KEYWORD PUBLIC)

set(CUDA_NVCC_FLAGS_DEBUG "${CUDA_NVCC_FLAGS_DEBUG} -g -G")
set(CUDA_NVCC_FLAGS_DEBUG "${CUDA_NVCC_FLAGS_DEBUG} -g")
set(CUDA_NVCC_FLAGS_RELEASE "${CUDA_NVCC_FLAGS_RELEASE} -O3 -DNDEBUG")
set(CUDA_NVCC_FLAGS_MINSIZEREL "${CUDA_NVCC_FLAGS_MINSIZEREL} -Os -DNDEBUG")
set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "${CUDA_NVCC_FLAGS_RELWITHDEBINFO} -g -G -O2")
set(CUDA_NVCC_FLAGS_RELWITHDEBINFO "${CUDA_NVCC_FLAGS_RELWITHDEBINFO} -g -O2")
set(CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_52,code=sm_52 -gencode=arch=compute_52,code=compute_52")
list(APPEND CUDA_NVCC_FLAGS "-std=c++14")
SET(CUDA_PROPAGATE_HOST_FLAGS OFF)
@@ -388,7 +388,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(BOOST_MINIMUM_VERSION "1.66.0")
endif()
else()
set(BOOST_MINIMUM_VERSION "1.53.0")
set(BOOST_MINIMUM_VERSION "1.55.0")
endif()

# old Boost.MPI versions contain a use-after-free bug that seems to only cause crashes on 32-bit architectures
@@ -4,7 +4,7 @@
[![codecov](https://codecov.io/gh/espressomd/espresso/branch/python/graph/badge.svg)](https://codecov.io/gh/espressomd/espresso)

This is the Molecular Dynamics software ESPResSo ("Extensible
Simulation Package for the Research on Soft Matter Systems").
Simulation Package for Research on Soft Matter Systems").

ESPResSo is a highly versatile software package for performing and
analyzing scientific Molecular Dynamics many-particle simulations of
@@ -1,44 +1,57 @@
include(FindPackageHandleStandardArgs)

find_program(SPHINX_EXECUTABLE NAMES sphinx-build sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
HINTS
$ENV{SPHINX_DIR}
PATHS /opt/local/ /usr/local/ $ENV{HOME}/Library/Python/2.7/
PATH_SUFFIXES bin
DOC "Sphinx documentation generator."
)

find_program(SPHINX_API_DOC_EXE NAMES sphinx-apidoc sphinx-apidoc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
HINTS
PATH_SUFFIXES bin
PATHS /opt/local/ /usr/local/ $ENV{HOME}/Library/Python/2.7/
DOC "Sphinx api-doc executable."
)
find_program(SPHINX_EXECUTABLE
NAMES sphinx-build
sphinx-build-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
HINTS $ENV{SPHINX_DIR}
PATHS /opt/local/ /usr/local/ $ENV{HOME}/Library/Python/2.7/
PATH_SUFFIXES bin
DOC "Sphinx documentation generator.")

find_program(SPHINX_API_DOC_EXE
NAMES sphinx-apidoc
sphinx-apidoc-${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
HINTS
PATH_SUFFIXES bin
PATHS /opt/local/ /usr/local/ $ENV{HOME}/Library/Python/2.7/
DOC "Sphinx api-doc executable.")

if(Sphinx_FIND_VERSION)
execute_process(COMMAND "${SPHINX_EXECUTABLE}" --version
OUTPUT_VARIABLE QUERY_VERSION_OUT
ERROR_VARIABLE QUERY_VERSION_ERR
RESULT_VARIABLE QUERY_VERSION_RESULT)

# Sphinx switched at some point from returning ther version
# on stdout to printing it at stderr. Since we do not know
# ther version yet, we use stdout if it matches a version
# regex, or stderr otherwise.
OUTPUT_VARIABLE QUERY_VERSION_OUT
ERROR_VARIABLE QUERY_VERSION_ERR
RESULT_VARIABLE QUERY_VERSION_RESULT)

# Sphinx switched at some point from returning ther version on stdout to
# printing it at stderr. Since we do not know ther version yet, we use stdout
# if it matches a version regex, or stderr otherwise.
if(QUERY_VERSION_OUT MATCHES "[0-9.]+")
set(QUERY_VERSION "${QUERY_VERSION_OUT}")
else()
set(QUERY_VERSION "${QUERY_VERSION_ERR}")
endif()

if(NOT QUERY_VERSION_RESULT)
string(REGEX MATCH "[0-9.]+" AVAILABLE_VERSION "${QUERY_VERSION}")
endif( )
endif( )

find_package_handle_standard_args(Sphinx
REQUIRED_VARS SPHINX_EXECUTABLE SPHINX_API_DOC_EXE
VERSION_VAR AVAILABLE_VERSION
)

string(REGEX MATCH
"[0-9.]+"
SPHINX_VERSION
"${QUERY_VERSION}")
endif()

set(SPHINX_VERSION_COMPATIBLE TRUE)
# Blacklist broken version
if("${SPHINX_VERSION}" VERSION_EQUAL "2.1.0")
message(WARNING "Sphinx version 2.1.0 is not compatible.")
set(SPHINX_VERSION_COMPATIBLE FALSE)
endif()
endif()

find_package_handle_standard_args(Sphinx
REQUIRED_VARS
SPHINX_EXECUTABLE
SPHINX_API_DOC_EXE
SPHINX_VERSION_COMPATIBLE
VERSION_VAR
SPHINX_VERSION)

mark_as_advanced(SPHINX_EXECUTABLE)
@@ -22,6 +22,9 @@ if(SPHINX_FOUND)
# Copy the figure directory to the build dir
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/figures DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

# Copy the _static directory to the build dir
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/_static DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

# Files to be copied to the build directory
set(FILE_LIST
"${CMAKE_SOURCE_DIR}/doc/logo/logo_48x48.png"
@@ -47,6 +50,7 @@ if(SPHINX_FOUND)
"${CMAKE_CURRENT_SOURCE_DIR}/under_the_hood.rst"
"${CMAKE_CURRENT_SOURCE_DIR}/visualization.rst"
"${CMAKE_CURRENT_SOURCE_DIR}/zrefs.bib"
"${CMAKE_CURRENT_SOURCE_DIR}/zreferences.rst"
)

foreach(file ${FILE_LIST})
@@ -0,0 +1,10 @@
/*
* Bibliography HTML formatting:
* - sphinxcontrib.bibtex 0.4.0 in Sphinx 1.7.8: based on <table>
* - sphinxcontrib.bibtex 0.4.2 in Sphinx 2.0.1: based on <dl>
* The <dl> version has a float:left property in basic.css that merges the
* citation key into the citation body, making the bibliography unreadable.
*/
dl.citation > dt {
margin-right: 1em; /* add space between citation key and body */
}
@@ -10,7 +10,7 @@ Advanced Methods
Creating bonds when particles collide
-------------------------------------

Please cite :cite:`espresso2` when using dynamic bonding.
Please cite :cite:`arnold13a` when using dynamic bonding.

With the help of this feature, bonds between particles can be created
automatically during the simulation, every time two particles collide.
@@ -314,7 +314,7 @@ University of Zilina:

| ivan.cimrak@fri.uniza.sk or iveta.jancigova@fri.uniza.sk.

If using this module, please cite :cite:`Cimrak2014` (Bibtex key Cimrak2014 in doc/sphinx/zref.bib) and :cite:`Cimrak2012` (Bibtex key Cimrak2012 in doc/sphinx/zref.bib)
If using this module, please cite :cite:`Cimrak2014` (Bibtex key Cimrak2014 in doc/sphinx/zrefs.bib) and :cite:`Cimrak2012` (Bibtex key Cimrak2012 in doc/sphinx/zrefs.bib)

| This documentation introduces the features of module Object-in-fluid
(OIF). Even though ESPResSo was not primarily intended to work with closed
@@ -1948,7 +1948,7 @@ Combination of the Reaction Ensemble with the Wang-Landau algorithm
allows for enhanced sampling of the reacting system, and
and for the determination of the density of states with respect
to the reaction coordinate or with respect to some other collective
variable :cite:`landsgesell16a`. Here the 1/t Wang-Landau
variable :cite:`landsgesell17a`. Here the 1/t Wang-Landau
algorithm :cite:`belardinelli07a` is implemented since it
does not suffer from systematic errors. Additionally to the above
commands for the reaction ensemble use the following commands for the
@@ -1970,7 +1970,7 @@ In the constant pH method due to Reed and Reed
of :math:`H^{+}` ions, assuming that the simulated system is coupled to an
infinite reservoir. This value is the used to simulate dissociation
equilibrium of acids and bases. Under certain conditions, the constant
pH method can yield equivalent results as the reaction ensemble :cite:`landsgesell16b`. However, it
pH method can yield equivalent results as the reaction ensemble :cite:`landsgesell17b`. However, it
treats the chemical potential of :math:`H^{+}` ions and their actual
number in the simulation box as independent variables, which can lead to
serious artifacts.
@@ -294,7 +294,7 @@ In pseudo code, the far formula algorithm looks like:
:math:`\xi^{(+,s/c,s/c)}_j\Xi^{(l,s/c,s/c)}_s` and
:math:`\xi^{(-,s/c,s/c)}_j\Xi^{(h,s/c,s/c)}_s`

For further details, see :cite:`arnold02a,arnold02b,arnold02c`.
For further details, see :cite:`arnold02a,arnold02b,arnold02c,arnold02d`.

.. _Dielectric contrast:

@@ -320,7 +320,7 @@ the lowest/topmost layer. This are all modifications necessary for the
far formula part. In addition to the far formula part, there is an
additional loop over the particles at the boundary to directly calculate
their interactions with their images. For details, refer to
:cite:`icmmm2d`.
:cite:`tyagi07a`.

.. _MMM1D theory:

@@ -471,7 +471,7 @@ Ewald methods, for which decreasing the error bound can lead to
excessive computation time. For example, P3M cannot reach precisions
above :math:`10^{-5}` in general. The precise form of the error
estimates is of little importance here, for details see
:cite:`arnold02c`.
:cite:`arnold02c,arnold02d`.

One important aspect is that the error estimates are also exponential in
the non-periodic coordinate. Since the number of close by and far away

0 comments on commit 348a427

Please sign in to comment.
You can’t perform that action at this time.