From 3f685c346f33c841a081dd6c99cffef513c2b936 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 24 Aug 2020 17:56:17 -0400 Subject: [PATCH] add doxygen integration with conventional and cmake doc build --- cmake/Modules/Documentation.cmake | 56 +- doc/.gitignore | 5 + doc/Makefile | 102 ++-- doc/README | 148 ++--- doc/documentation_conventions.md | 93 ++++ doc/doxygen/.gitignore | 1 + doc/doxygen/Doxyfile.in | 522 ++++++++++++++++++ doc/doxygen/lammps-logo.png | Bin 0 -> 13603 bytes doc/graphviz/.gitignore | 3 + doc/graphviz/Makefile | 30 + doc/graphviz/lammps-classes.dot | 90 +++ doc/requirements.txt | 4 - doc/src/JPG/lammps-classes.png | Bin 0 -> 250470 bytes doc/utils/requirements.txt | 4 + .../sphinx-config/_static/css/lammps.css | 7 + .../_themes/lammps_theme/layout.html | 11 +- .../sphinx-config/{conf.py => conf.py.in} | 40 +- 17 files changed, 959 insertions(+), 157 deletions(-) create mode 100644 doc/documentation_conventions.md create mode 100644 doc/doxygen/.gitignore create mode 100644 doc/doxygen/Doxyfile.in create mode 100644 doc/doxygen/lammps-logo.png create mode 100644 doc/graphviz/.gitignore create mode 100644 doc/graphviz/Makefile create mode 100644 doc/graphviz/lammps-classes.dot delete mode 100644 doc/requirements.txt create mode 100644 doc/src/JPG/lammps-classes.png rename doc/utils/sphinx-config/{conf.py => conf.py.in} (90%) diff --git a/cmake/Modules/Documentation.cmake b/cmake/Modules/Documentation.cmake index 282253eede..ddd284aa90 100644 --- a/cmake/Modules/Documentation.cmake +++ b/cmake/Modules/Documentation.cmake @@ -15,6 +15,7 @@ if(BUILD_DOC) endif() set(VIRTUALENV ${Python3_EXECUTABLE} -m virtualenv -p ${Python3_EXECUTABLE}) endif() + find_package(Doxygen 1.8.10 REQUIRED) file(GLOB DOC_SOURCES ${LAMMPS_DOC_DIR}/src/[^.]*.rst) @@ -51,31 +52,56 @@ if(BUILD_DOC) "${CMAKE_CURRENT_BINARY_DIR}/html/_static/polyfill.js") endif() + # set up doxygen and add targets to run it + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen) + set(DOXYGEN_XML_DIR ${CMAKE_CURRENT_BINARY_DIR}/doxygen/xml) + add_custom_command( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doxygen/lammps-logo.png + DEPENDS ${LAMMPS_DOC_DIR}/doxygen/lammps-logo.png + COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/doxygen/lammps-logo.png ${CMAKE_BINARY_DIR}/doxygen/lammps-logo.png + ) + configure_file(${LAMMPS_DOC_DIR}/doxygen/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/doxygen/Doxyfile) + get_target_property(LAMMPS_SOURCES lammps SOURCES) + # need to update timestamps on pg_*.rst files after running doxygen to have sphinx re-read them + file(GLOB PG_SOURCES ${LAMMPS_DOC_DIR}/src/pg_*.rst) + add_custom_command( + OUTPUT ${DOXYGEN_XML_DIR}/index.xml + DEPENDS ${DOC_SOURCES} ${LAMMPS_SOURCES} + COMMAND Doxygen::doxygen ${CMAKE_CURRENT_BINARY_DIR}/doxygen/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doxygen + COMMAND ${CMAKE_COMMAND} -E touch ${DOXYGEN_XML_DIR}/run.stamp + ) + # note, this may run in parallel with other tasks, so we must not use multiple processes here + file(COPY ${LAMMPS_DOC_DIR}/utils/sphinx-config DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/utils) + file(COPY ${LAMMPS_DOC_DIR}/src DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + configure_file(${CMAKE_CURRENT_BINARY_DIR}/utils/sphinx-config/conf.py.in ${CMAKE_CURRENT_BINARY_DIR}/utils/sphinx-config/conf.py) + if(EXISTS ${DOXYGEN_XML_DIR}/run.stamp) + set(SPHINX_EXTRA_OPTS "-E") + else() + set(SPHINX_EXTRA_OPTS "") + endif() add_custom_command( OUTPUT html - DEPENDS ${DOC_SOURCES} docenv requirements.txt - COMMAND ${DOCENV_BINARY_DIR}/sphinx-build -b html -c ${LAMMPS_DOC_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${LAMMPS_DOC_DIR}/src html + DEPENDS ${DOC_SOURCES} docenv requirements.txt ${DOXYGEN_XML_DIR}/index.xml ${CMAKE_CURRENT_BINARY_DIR}/utils/sphinx-config/conf.py + COMMAND ${DOCENV_BINARY_DIR}/sphinx-build ${SPHINX_EXTRA_OPTS} -b html -c ${CMAKE_BINARY_DIR}/utils/sphinx-config -d ${CMAKE_BINARY_DIR}/doctrees ${LAMMPS_DOC_DIR}/src html COMMAND ${CMAKE_COMMAND} -E create_symlink Manual.html ${CMAKE_CURRENT_BINARY_DIR}/html/index.html + COMMAND ${CMAKE_COMMAND} -E remove -f ${DOXYGEN_XML_DIR}/run.stamp ) # copy selected image files to html output tree - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/html/JPG) - set(HTML_EXTRA_IMAGES balance_nonuniform.jpg balance_rcb.jpg - balance_uniform.jpg bow_tutorial_01.png bow_tutorial_02.png - bow_tutorial_03.png bow_tutorial_04.png bow_tutorial_05.png - dump1.jpg dump2.jpg examples_mdpd.gif gran_funnel.png gran_mixer.png - hop1.jpg hop2.jpg saed_ewald_intersect.jpg saed_mesh.jpg - screenshot_atomeye.jpg screenshot_gl.jpg screenshot_pymol.jpg - screenshot_vmd.jpg sinusoid.jpg xrd_mesh.jpg) + file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/html/_images/wsl_tutorial) + file(GLOB HTML_EXTRA_IMAGES RELATIVE ${LAMMPS_DOC_DIR}/src/img/ + ${LAMMPS_DOC_DIR}/src/img/[^.]*.jpg + ${LAMMPS_DOC_DIR}/src/img/[^.]*.gif + ${LAMMPS_DOC_DIR}/src/img/[^.]*.png + ${LAMMPS_DOC_DIR}/src/img/wsl_tutorial/[^.]*.png) set(HTML_IMAGE_TARGETS "") foreach(_IMG ${HTML_EXTRA_IMAGES}) - string(PREPEND _IMG JPG/) - list(APPEND HTML_IMAGE_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG}") + list(APPEND HTML_IMAGE_TARGETS "${CMAKE_CURRENT_BINARY_DIR}/html/_images/${_IMG}") add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/${_IMG} - DEPENDS ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_CURRENT_BINARY_DIR}/html/JPG - COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/src/${_IMG} ${CMAKE_BINARY_DIR}/html/${_IMG} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/_images/${_IMG} + DEPENDS ${LAMMPS_DOC_DIR}/src/img/${_IMG} ${CMAKE_CURRENT_BINARY_DIR}/html/_images + COMMAND ${CMAKE_COMMAND} -E copy ${LAMMPS_DOC_DIR}/src/img/${_IMG} ${CMAKE_BINARY_DIR}/html/_images/${_IMG} ) endforeach() diff --git a/doc/.gitignore b/doc/.gitignore index 55b25960db..85c75c2934 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,6 +1,7 @@ /old /html /html-offline +/epub /latex /mathjax /spelling @@ -10,3 +11,7 @@ /Developer.pdf /doctrees /docenv +/doxygen-warn.log +/utils/sphinx-config/conf.py +/doxygen/Doxyfile +*.el diff --git a/doc/Makefile b/doc/Makefile index 293884b17f..1b5fb35b4c 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,21 +1,29 @@ # Makefile for LAMMPS documentation -SHELL = /bin/bash -BUILDDIR = ${CURDIR} -RSTDIR = $(BUILDDIR)/src -VENV = $(BUILDDIR)/docenv -MATHJAX = $(BUILDDIR)/mathjax -TXT2RST = $(VENV)/bin/txt2rst -ANCHORCHECK = $(VENV)/bin/rst_anchor_check +SHELL = /bin/bash +BUILDDIR = ${CURDIR} +RSTDIR = $(BUILDDIR)/src +VENV = $(BUILDDIR)/docenv +MATHJAX = $(BUILDDIR)/mathjax +POLYFILL = $(BUILDDIR)/mathjax/polyfill.js +TXT2RST = $(VENV)/bin/txt2rst +ANCHORCHECK = $(VENV)/bin/rst_anchor_check +SPHINXCONFIG = $(BUILDDIR)/utils/sphinx-config -PYTHON = $(shell which python3) +PYTHON = $(shell which python3) +DOXYGEN = $(shell which doxygen) VIRTUALENV = virtualenv HAS_PYTHON3 = NO HAS_VIRTUALENV = NO +HAS_DOXYGEN = NO HAS_PDFLATEX = NO ifeq ($(shell which python3 >/dev/null 2>&1; echo $$?), 0) -HAS_PYTHON3 = YES +HAS_PYTHON3 = YES +endif + +ifeq ($(shell which doxygen >/dev/null 2>&1; echo $$?), 0) +HAS_DOXYGEN = YES endif ifeq ($(shell which virtualenv-3 >/dev/null 2>&1; echo $$?), 0) @@ -33,9 +41,13 @@ HAS_PDFLATEX = YES endif -SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())') +SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())') $(shell test -f $(BUILDDIR)/doxygen/xml/run.stamp && printf -- "-E") -.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check +# grab list of sources from doxygen config file. +# we only want to use explicitly listed files. +DOXYFILES = $(shell sed -n -e 's/\#.*$$//' -e '/^ *INPUT \+=/,/^[A-Z_]\+ \+=/p' doxygen/Doxyfile.in | sed -e 's/@LAMMPS_SOURCE_DIR@/..\/src/g' -e 's/\\//g' -e 's/ \+/ /' -e 's/[A-Z_]\+ \+= *\(YES\|NO\|\)//') + +.PHONY: help clean-all clean clean-spelling epub mobi rst html pdf spelling anchor_check style_check xmlgen # ------------------------------------------ @@ -57,23 +69,32 @@ help: # ------------------------------------------ clean-all: clean - rm -rf $(BUILDDIR)/docenv $(BUILDDIR)/doctrees $(BUILDDIR)/mathjax Manual.pdf Developer.pdf + rm -rf $(BUILDDIR)/docenv $(MATHJAX) $(BUILDDIR)/LAMMPS.mobi $(BUILDDIR)/LAMMPS.epub $(BUILDDIR)/Manual.pdf $(BUILDDIR)/Developer.pdf clean: clean-spelling - rm -rf html epub latex + rm -rf $(BUILDDIR)/html $(BUILDDIR)/epub $(BUILDDIR)/latex $(BUILDDIR)/doctrees $(BUILDDIR)/doxygen/xml $(BUILDDIR)/doxygen-warn.log $(BUILDDIR)/doxygen/Doxyfile $(SPHINXCONFIG)/conf.py clean-spelling: - rm -rf spelling + rm -rf $(BUILDDIR)/spelling -html: $(ANCHORCHECK) $(MATHJAX) +$(SPHINXCONFIG)/conf.py: $(SPHINXCONFIG)/conf.py.in + sed -e 's,@DOXYGEN_XML_DIR@,$(BUILDDIR)/doxygen/xml,g' \ + -e 's,@LAMMPS_SOURCE_DIR@,$(BUILDDIR)/../src,g' \ + -e 's,@LAMMPS_PYTHON_DIR@,$(BUILDDIR)/../python,g' \ + -e 's,@LAMMPS_DOC_DIR@,$(BUILDDIR),g' $< > $@ + +html: xmlgen $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX) $(POLYFILL) + @$(MAKE) $(MFLAGS) -C graphviz all @(\ - . $(VENV)/bin/activate ;\ - sphinx-build $(SPHINXEXTRA) -b html -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= \ + sphinx-build $(SPHINXEXTRA) -b html -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) html ;\ + ln -sf Manual.html html/index.html;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ echo "############################################" ;\ rst_anchor_check src/*.rst ;\ - python utils/check-packages.py -s ../src -d src ;\ + python $(BUILDDIR)/utils/check-packages.py -s ../src -d src ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ - python utils/check-styles.py -s ../src -d src ;\ + python $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\ echo "############################################" ;\ deactivate ;\ ) @@ -87,25 +108,29 @@ html: $(ANCHORCHECK) $(MATHJAX) @rm -rf html/PDF/.[sg]* @mkdir -p html/_static/mathjax @cp -r $(MATHJAX)/es5 html/_static/mathjax/ + @cp $(POLYFILL) html/_static/ @echo "Build finished. The HTML pages are in doc/html." -spelling: $(VENV) utils/sphinx-config/false_positives.txt +spelling: xmlgen $(VENV) $(SPHINXCONFIG)/false_positives.txt @(\ - . $(VENV)/bin/activate ;\ - cp utils/sphinx-config/false_positives.txt $(RSTDIR)/ ; env PYTHONWARNINGS= \ - sphinx-build -b spelling -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= \ + cp $(SPHINXCONFIG)/false_positives.txt $(RSTDIR)/ ; env PYTHONWARNINGS= \ + sphinx-build -b spelling -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) spelling ;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ deactivate ;\ ) @echo "Spell check finished." -epub: $(VENV) +epub: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) + @$(MAKE) $(MFLAGS) -C graphviz all @mkdir -p epub/JPG @rm -f LAMMPS.epub @cp src/JPG/lammps-logo.png epub/ @cp src/JPG/*.* epub/JPG @(\ . $(VENV)/bin/activate ;\ - sphinx-build $(SPHINXEXTRA) -b epub -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\ + sphinx-build $(SPHINXEXTRA) -b epub -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) epub ;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ deactivate ;\ ) @mv epub/LAMMPS.epub . @@ -117,7 +142,8 @@ mobi: epub @ebook-convert LAMMPS.epub LAMMPS.mobi @echo "Conversion finished. The MOBI manual file is created." -pdf: $(ANCHORCHECK) +pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) + @$(MAKE) $(MFLAGS) -C graphviz all @if [ "$(HAS_PDFLATEX)" == "NO" ] ; then echo "PDFLaTeX was not found! Please check README.md for further instructions" 1>&2; exit 1; fi @(\ cd src/Developer; \ @@ -127,8 +153,9 @@ pdf: $(ANCHORCHECK) cd ../../; \ ) @(\ - . $(VENV)/bin/activate ;\ - sphinx-build $(SPHINXEXTRA) -b latex -c utils/sphinx-config -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\ + . $(VENV)/bin/activate ; env PYTHONWARNINGS= \ + sphinx-build $(SPHINXEXTRA) -b latex -c $(SPHINXCONFIG) -d $(BUILDDIR)/doctrees $(RSTDIR) latex ;\ + rm -f $(BUILDDIR)/doxygen/xml/run.stamp;\ echo "############################################" ;\ rst_anchor_check src/*.rst ;\ python utils/check-packages.py -s ../src -d src ;\ @@ -185,21 +212,32 @@ package_check : $(VENV) deactivate ;\ ) +xmlgen : doxygen/xml/index.xml + +doxygen/Doxyfile: doxygen/Doxyfile.in + sed -e 's/@LAMMPS_SOURCE_DIR@/..\/..\/src/g' $< > $@ + +doxygen/xml/index.xml : $(VENV) doxygen/Doxyfile $(DOXYFILES) + @(cd doxygen; $(DOXYGEN) Doxyfile && touch xml/run.stamp) # ------------------------------------------ $(VENV): - @if [ "$(HAS_PYTHON3)" == "NO" ] ; then echo "Python3 was not found! Please check README.md for further instructions" 1>&2; exit 1; fi - @if [ "$(HAS_VIRTUALENV)" == "NO" ] ; then echo "virtualenv was not found! Please check README.md for further instructions" 1>&2; exit 1; fi + @if [ "$(HAS_PYTHON3)" == "NO" ] ; then echo "python3 was not found! Please see README for further instructions" 1>&2; exit 1; fi + @if [ "$(HAS_DOXYGEN)" == "NO" ] ; then echo "doxygen was not found! Please see README for further instructions" 1>&2; exit 1; fi + @if [ "$(HAS_VIRTUALENV)" == "NO" ] ; then echo "virtualenv was not found! Please see README for further instructions" 1>&2; exit 1; fi @( \ $(VIRTUALENV) -p $(PYTHON) $(VENV); \ . $(VENV)/bin/activate; \ pip install --upgrade pip; \ - pip install --use-feature=2020-resolver -r requirements.txt; \ + pip install --use-feature=2020-resolver -r $(BUILDDIR)/utils/requirements.txt; \ deactivate;\ ) $(MATHJAX): - @git clone --depth 1 https://github.com/mathjax/MathJax.git mathjax + @git clone --depth 1 https://github.com/mathjax/MathJax.git $@ + +$(POLYFILL): $(MATHJAX) + @curl -s -o $@ "https://polyfill.io/v3/polyfill.min.js?features=es6" $(TXT2RST) $(ANCHORCHECK): $(VENV) @( \ diff --git a/doc/README b/doc/README index cbc0c425dc..f0c74f7771 100644 --- a/doc/README +++ b/doc/README @@ -1,97 +1,60 @@ LAMMPS Documentation -Depending on how you obtained LAMMPS, this directory has 2 or 3 -sub-directories and optionally 2 PDF files and an ePUB file: +Depending on how you obtained LAMMPS and whether you have built +the manual yourself, this directory has a varying number of +sub-directories and files. Here is a list with descriptions: -src content files for LAMMPS documentation -html HTML version of the LAMMPS manual (see html/Manual.html) -utils utilities and settings for building the documentation -Manual.pdf large PDF version of entire manual -Developer.pdf small PDF with info about how LAMMPS is structured -LAMMPS.epub Manual in ePUB format +README this file +src content files for LAMMPS documentation +html HTML version of the LAMMPS manual (see html/Manual.html) +utils utilities and settings for building the documentation +Manual.pdf PDF version of entire manual +Developer.pdf PDF with info about how LAMMPS is structured +LAMMPS.epub Manual in ePUB format +LAMMPS.mobi Manual in MOBI (Kindle) format +lammps.1 man page for the lammps command +msi2lmp.1 man page for the msi2lmp command +mathjax code and fonts for rendering math in html +doctree temporary data +docenv python virtual environment for generating the manual +doxygen Doxygen configuration and output +.gitignore list of files and folders to be ignored by git +doxygen-warn.log logfile with warnings from running doxygen -If you downloaded LAMMPS as a tarball from the web site, all these -directories and files should be included. +and: -If you downloaded LAMMPS from the public SVN or Git repositories, then -the HTML and PDF files are not included. Instead you need to create -them, in one of three ways: +github-development-workflow.md notes on the LAMMPS development workflow +include-file-conventions.md notes on LAMMPS' include file conventions +documentation_conventions.md notes on writing documentation for LAMMPS + +If you downloaded a LAMMPS tarball from lammps.sandia.gov, then the html +folder and the PDF manual should be included. If you downloaded LAMMPS +from GitHub then you either need to download them or build them. (a) You can "fetch" the current HTML and PDF files from the LAMMPS web site. Just type "make fetch". This should create a html_www dir and -Manual_www.pdf/Developer_www.pdf files. Note that if new LAMMPS -features have been added more recently than the date of your version, -the fetched documentation will include those changes (but your source -code will not, unless you update your local repository). +Manual_www.pdf/Developer_www.pdf files. These files will always +represent the latest published patch/development version of LAMMPS. -(b) You can build the HTML and PDF files yourself, by typing "make -html" or by "make pdf", respectively. This requires various tools -including the Python documentation processing tool Sphinx, which the -build process will attempt to download and install on your system into -a python virtual environment, if not already available. The PDF file -will require a working LaTeX installation with several add-on packages -in addition to the Python/Sphinx setup. See more details below. +(b) You can build the HTML and PDF files yourself, by typing "make html" +or by "make pdf", respectively. This requires various tools and files. +Some of them have to be installed (more on that below). For the rest the +build process will attempt to download and install into a python virtual +environment and local folders. ---------------- -The generation of all documentation is managed by the Makefile in this -dir. +Installing prerequisites for the documentation build -Options: +To run the HTML documention build toolchain, python 3.x, doxygen, git, +and virtualenv have to be installed. Also internet access is initially +required to download external files and tools. -make html # generate HTML in html dir using Sphinx -make pdf # generate 2 PDF files (Manual.pdf,Developer.pdf) - # in this dir via Sphinx and PDFLaTeX -make fetch # fetch HTML doc pages and 2 PDF files from web site - # as a tarball and unpack into html dir and 2 PDFs -make epub # generate LAMMPS.epub in ePUB format using Sphinx -make clean # remove intermediate RST files created by HTML build -make clean-all # remove entire build folder and any cached data - ----------------- - -Installing prerequisites for HTML build - -To run the HTML documention build toolchain, Python 3 and virtualenv -have to be installed. Here are instructions for common setups: - -# Ubuntu - -sudo apt-get install python-virtualenv - -# Fedora (up to version 21) -# Red Hat Enterprise Linux or CentOS (up to version 7.x) - -sudo yum install python3-virtualenv - -# Fedora (since version 22) - -sudo dnf install python3-virtualenv - -# MacOS X - -## Python 3 - -Download the latest Python 3 MacOS X package from -https://www.python.org and install it. This will install both Python -3 and pip3. - -## virtualenv - -Once Python 3 is installed, open a Terminal and type - -pip3 install virtualenv - -This will install virtualenv from the Python Package Index. - ----------------- - -Installing prerequisites for PDF build - -Same as for HTML plus a compatible LaTeX installation with -support for PDFLaTeX. Also the following LaTeX packages need -to be installed (e.g. from texlive): +Building the PDF format manual requires in addition a compatible LaTeX +installation with support for PDFLaTeX and several add-on LaTeX packages +installed. This includes: - amsmath +- anysize - babel - capt-of - cmap @@ -105,24 +68,13 @@ to be installed (e.g. from texlive): - tabulary - upquote - wrapfig + +Building the EPUB format requires LaTeX installation with the same packages +as for the PDF format plus the 'dvipng' command to convert the embedded math +into images. The MOBI format is generated from the EPUB format file by using +the tool 'ebook-convert' from the 'calibre' e-book management software +(https://calibre-ebook.com). ---------------- -Installing prerequisites for epub build - -## ePUB - -Same as for HTML. This uses the same tools and configuration -files as the HTML tree. The ePUB format conversion currently -does not support processing mathematical expressions via MathJAX, -so there will be limitations on some pages. For the time being -until this is resolved, building and using the PDF format file -is recommended instead. - -For converting the generated ePUB file to a mobi format file -(for e-book readers like Kindle, that cannot read ePUB), you -also need to have the 'ebook-convert' tool from the "calibre" -software installed. http://calibre-ebook.com/ -You first create the ePUB file with 'make epub' and then do: - -ebook-convert LAMMPS.epub LAMMPS.mobi - +More details this can be found in the manual itself. The online +version is at: https://lammps.sandia.gov/doc/Manual_build.html diff --git a/doc/documentation_conventions.md b/doc/documentation_conventions.md new file mode 100644 index 0000000000..40526d940d --- /dev/null +++ b/doc/documentation_conventions.md @@ -0,0 +1,93 @@ +# Outline of LAMMPS documentation file conventions + +This purpose of this document is to provide a point of reference +for LAMMPS developers and contributors as to what conventions +should be used to structure and format files in the LAMMPS manual. + +Last change: 2020-04-23 + +## File format and tools + +In fall 2019, the LAMMPS documentation file format has changed from +a home grown minimal markup designed to generate HTML format files +from a mostly plain text format to using the reStructuredText file +format. For a transition period all files in the old .txt format +were transparently converted to .rst and then processed. The txt2rst +tool is still included in the distribution to obtain an initial .rst +file for integration into the manual. Since the transition to +reStructured text as source format, many of the artifacts or the +translation have been removed though and parts of the documentation +refactored and expanded to take advantage of the capabilities +reStructuredText and associated tools. The conversion from the +source to the final formats (HTML, PDF, and optionally e-book +reader formats ePUB and MOBI) is mostly automated and controlled +by a Makefile in the `doc` folder. This makefile assumes that the +processing is done on a Unix-like machine and Python 3.5 or later +and a matching virtualenv module are available. Additional Python +packages (like the Sphinx tool and several extensions) are +transparently installed into a virtual environment over the +internet using the `pip` package manager. Further requirements +and details are discussed in the manual. + +## Work in progress + +The refactoring and improving of the documentation is an ongoing +process, so statements in this document may not always be fully +up-to-date. If in doubt, contact the LAMMPS developers. + +## General structure + +The layout and formatting of added files should follow the example +of the existing files. Since those are directly derived from their +former .txt format versions and the manual has been maintained in +that format for many years, there is a large degree of consistency +already, so comparision with similar files should give you a good +idea what kind of information and sections are needed. + +## Formatting conventions + +Filenames, folders, paths, (shell) commands, definitions, makefile +settings and similar should be formatted as "literals" with +double backward quotes bracketing the item: \`\`path/to/some/file\`\` + +Keywords and options are formatted in italics: \*option\* + +Mathematical expressions, equations, symbols are typeset using +either a `.. math:`` block or the `:math:` role. + +Groups of shell commands or LAMMPS input script or C/C++ source +code should be typeset into a `.. code-block::` section. A syntax +highlighting extension for LAMMPS input scripts is provided, so +`LAMMPS` can be used to indicate the language in the code block +in addition to `bash`, `c`, or `python`. When no syntax style +is indicated, no syntax highlighting is performed. + +As an alternative, e.g. to typeset the syntax of file formats +a `.. parsed-literal::` block can be used, which allows some +formatting directives, which means that related characters need +to be escaped with a preceding backslash: `\*`. + +Special remarks can be highlighted with a `.. note::` block and +strong warnings can be put into a `.. warning::` block. + +## Required steps when adding a custom style to LAMMPS + +When adding a new style (e.g. pair style or a compute or a fix) +or a new command, it is **required** to include the corresponding +documentation. Those are often new files that need to be added. +In order to be included in the documentation, those new files +need to be reference in a `.. toctree::` block. Most of those +use patterns with wildcards, so the addition will be automatic. +However, those additions also need to be added to some lists of +styles or commands. The `make style\_check` command will perform +a test and report any missing entries and list the affected files. +Any references defined with `.. \_refname:` have to be unique +across all documentation files and this can be checked for with +`make anchor\_check`. Finally, a spell-check should be done, +which is triggered via `make spelling`. Any offenses need to +be corrected and false positives should be added to the file +`utils/sphinx-config/false\_positives.txt`. + +## Required additional steps when adding a new package to LAMMPS + +TODO diff --git a/doc/doxygen/.gitignore b/doc/doxygen/.gitignore new file mode 100644 index 0000000000..2539ab748e --- /dev/null +++ b/doc/doxygen/.gitignore @@ -0,0 +1 @@ +/xml diff --git a/doc/doxygen/Doxyfile.in b/doc/doxygen/Doxyfile.in new file mode 100644 index 0000000000..78ac614ca3 --- /dev/null +++ b/doc/doxygen/Doxyfile.in @@ -0,0 +1,522 @@ +# Doxyfile 1.8.15 -*- makefile -*- + +DOXYFILE_ENCODING = UTF-8 +PROJECT_NAME = "LAMMPS Programmer's Guide" +PROJECT_NUMBER = "24 August 2020" +PROJECT_BRIEF = "Documentation of the LAMMPS library interface and Python wrapper" +PROJECT_LOGO = lammps-logo.png +CREATE_SUBDIRS = NO +ALLOW_UNICODE_NAMES = NO +OUTPUT_LANGUAGE = English +OUTPUT_TEXT_DIRECTION = LTR + +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES + +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = NO +INHERIT_DOCS = YES +TAB_SIZE = 2 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = YES +IDL_PROPERTY_SUPPORT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 2 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = YES + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = YES + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = YES + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# (class|struct|union) declarations. If set to NO, these declarations will be +# included in the documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = YES + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = NO + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = NO + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = NO + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = NO + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = YES + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. If +# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# The default value is: NO. + +WARN_NO_PARAMDOC = YES + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = "../doxygen-warn.log" + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = @LAMMPS_SOURCE_DIR@/utils.cpp \ + @LAMMPS_SOURCE_DIR@/utils.h \ + @LAMMPS_SOURCE_DIR@/library.cpp \ + @LAMMPS_SOURCE_DIR@/library.h \ + @LAMMPS_SOURCE_DIR@/lammps.cpp \ + @LAMMPS_SOURCE_DIR@/lammps.h \ + @LAMMPS_SOURCE_DIR@/lmptype.h \ + @LAMMPS_SOURCE_DIR@/pointers.h \ + @LAMMPS_SOURCE_DIR@/atom.cpp \ + @LAMMPS_SOURCE_DIR@/atom.h \ + @LAMMPS_SOURCE_DIR@/input.cpp \ + @LAMMPS_SOURCE_DIR@/input.h \ + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = YES + +#--------------------------------------------------------------------------- +# Configuration options related to output +#--------------------------------------------------------------------------- + +GENERATE_HTML = NO +GENERATE_LATEX = NO +GENERATE_XML = YES +XML_OUTPUT = xml +XML_PROGRAMLISTING = YES +XML_NS_MEMB_FILE_SCOPE = NO + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all +# C-preprocessor directives found in the sources and include files. +# The default value is: YES. + +#ENABLE_PREPROCESSING = YES +ENABLE_PREPROCESSING = NO + +# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# in the source code. If set to NO, only conditional compilation will be +# performed. Macro expansion can be done in a controlled way by setting +# EXPAND_ONLY_PREDEF to YES. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then +# the macro expansion is limited to the macros specified with the PREDEFINED and +# EXPAND_AS_DEFINED tags. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES, the include files in the +# INCLUDE_PATH will be searched if a #include is found. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by the +# preprocessor. +# This tag requires that the tag SEARCH_INCLUDES is set to YES. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will be +# used. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that are +# defined before the preprocessor is started (similar to the -D option of e.g. +# gcc). The argument of the tag is a list of macros of the form: name or +# name=definition (no spaces). If the definition and the "=" are omitted, "=1" +# is assumed. To prevent a macro definition from being undefined via #undef or +# recursively expanded use the := operator instead of the = operator. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +PREDEFINED = + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this +# tag can be used to specify a list of macro names that should be expanded. The +# macro definition that is found in the sources will be used. Use the PREDEFINED +# tag if you want to use a different macro definition that overrules the +# definition found in the source code. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not +# removed. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. + +SKIP_FUNCTION_MACROS = YES + diff --git a/doc/doxygen/lammps-logo.png b/doc/doxygen/lammps-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..787d855a1c178405b12976af7f0faaf429c8aee3 GIT binary patch literal 13603 zcmV+;HQdUHP)t>|7K?YcX$8){|f*A7yth!|Nl1s z|40A-SO5QK|NnM~i2s(B|Ea0}xVZoS|A_zpnE(H%|Npng$N$jK|NsBV|NqddlTlv) z002aEMObuGZ)S9NVRB^vSXLl*WpZJ2XdrK9ATls8 zI59FYHXtZzZggdGX>B1XD@IIhVRLIO*jKaw00vD-L_t(&f$f>udYdp1Mimyb6cK}L zZ1VmOT4@$(v_MFE(VP0>|K?LwqeO?JfhhI=^KU=x2lfz?F3=bicp&}8g`ZH|W6q{=xE$7&*2k;nG z*KzXvI?sx0n6va}NpqGoqxGzXwb4gz&AdH}+cZC4Nuqf))P=mi7>_}_@AUbINAT)? z+$WBYpDs^wngOq!IcJ>Qc*vg2Gfa0|mvbfOjPthHnUr_8?)kaFDmRCUf$PFJ zq{2j0U_FD#6L?m8S)Jlk@%RGi>PgI>V7!!WX%3H3PdA&BzCqo&)HveNay8}}#x0_w zzwT04Ta3rHA7JxVgZ)=XTg!2!CQA2N?cy9Od1jwVxlZwTf}+mg0I2o%8hfd%-yk zc?nSw<4`j~?uZc1VQlEw0&Ij&@JPBx^{)5;oe`Vw+haPawhSA0RPixk{88oW#UERM zP#q!E1#IXiNou}ssL?Prj?d36Uf~Hg@%=7y@Z&4_L^>y`>rhMQR1MbJ&q2?m*ENy% z!km*nCpc$3cFy+psAzv+jpP~f57wD;^oyM{s5|=P3w-k8nyzbc+PwFq15f*$OV06q z&cJ=nBdx(Rb=f%|Sc6YKTIZG#yFGFacm^_ePTc35IA_qMd))XAM;|(8DLW_f$r}7q zaLzhlw-eUj`y73x&pC9?<_|3CnNkhTfx32g=c2(I;F({sTeieGpW6!X`1V-M1k$cb zJ($EMa}JHK0L+GvU@ob19)8?ovv8j?6Dq+o*fx`A!nidI_Bp9@xX(%b6XS90oN=0= z51ExBgo2BtXAm2#>A7h@RDyF5r^Gp$+haFhN9&PkO3t}`>zvVo@t_0CyCw3Bo72#v z`s#Wi81Ibg)UWORrPw)itz9^W`WXgkh#W{A&cWIwJhHD4&RI=pP@_I4sS%;vIfw*0 zhu`p^bHFXqKk>oThcxB2#gLf7ea$|ZMP2Gi7#o)zk6TD?O2UBHob@?!j?B5x^N4La zan8or9QQdgCmO$b&)|C-kz?*3Y=Dp6=X}1?wMlG*bJAxkZeN9G02S#R|B?`otv5Kw z~xAs5cOzlc8=|HHg*nYZ9@Npo_V5kBs{yFGTxJCs1h*T;q2;ipOf?zMjT{i z=hV_UqUWLaIp~}So|}Lw_~!r^JgVY8rvT3!_Z3=tW~Qz0g=az?!^6(0q;mk0Dp+M4 zwc&b++$FrkD~aFp6rF?jb?7UCXC6u2{?IuR26WE$UcGakuX}Vz1#H4fuJk$hMrjj$ zMdloFZ0X>i7#r$&zPn8UcJho~-LqvR1b zNNi+A{Y*Ybu1DnQvlYKNX+*z)o{4INMAnIOEH*1Z;`$s34F9>oIVbcyWATvMc@4O# z(lILG>C?n_$gB9H!}?%sa$tNqKx>!@y-jsXu|ellQN4;oin32Ldpr*t@#AbNfsKTx z@rj3&%p9Q{7|iOz8vgJvRyi;M8_o){TOf0I{vri7=>d_X{JYg7tB>Hp>`NU^o@5eX zo5(FkEBtCS)u*LDB+$3KG4vAbMaucKDa zuRQXIlYeyo`8D33{NVfZ{c868SNQYmuB`8iB40}UoxU%apTEQ8>*d!Ae!NGpKfmt! z_dBtF9~6E*`29+HXZ?HszDT|vKVJ{|`=D_?|EQz4- zd+%TFuhviJr;YwFew^Q*NPn?q{o06s{L^oQ@|UltpYI?4c;lZdihq8i*Vz8Ho$r75 z?tbt2>~7|YMXUcr)H8PY@fd#4FnM|}tNd>KSNL~(zX!j&pMK%;?Uy%xuP{QyE7ye_ zc9`LY^Zs68vBVrtZ2TSLis^l=rxr(C>EkDUhZ|cOX{V0=Ry-~xIq&CM!h7HG-fxA@ zJMX}c#=ye@FZq|h-T(H@|Kzv3SIHKFjEU>R$H7r?%`)UU{mD<^kZ`|#E6>0`et+Hn z>z5px@L+jn?rd;+`#i!*_!V2}`8n}(g}*;36kOZi2Vf%JyRev$@PMx&l~99kF}4t} zW5+?0mB*B$;ek*}+$=KYlxlP>_Ne#fH7&fKjU^IGd>L%Q5hc~s@XbgQXXRXopO!l@ zG)pSElu}D8-IY;hO*Pk2Yi(5^H(P4Cl~!A8y^S_|>baL*d+WWAK1Uo03@oFLHu@N2 z&gdp@GHbH|-FFtO`yyYI2*3GRRtC!cca zX{VoY<|Wo{y7`t{Z@c}DJAZoZ>(#&g{tvtszFv#ZQ~J5~(`$Uywf5r?L2y#!Gdvb^ zz~fCGAfTgs=6lFF%5(CWA0S&Qkwq5y#_b@F;lg}EEI0i0-7nAmTYht;|66{G|Ci^S zT=)OsIfv{1?zey9wXHh0p2t2}D4Y63_T2zdY!^=(Gv2fPsGGg*6vJTGC)O++irF9A zHaB}_<)w_pn#rw*k_FujB5H)ecI;-P_uTyWP5HYTJsQbU{eKvc#EtxB}Z^IQ8NRzHK|rmRZ=W zV>`nzt?qHzZ7a9MV68=k1Mf2+byerm(o~R-XW=unE;mWu@*;e|EG+)#-<5%%$(OFMGtP?D4R5TsFe6L0Q}Tl#p)YeOe}a z>ZWAXQ?HBs;Pq!=!Bj`7myPU}&ofKu*KbyabJFd*n9X{PTsj3BP^To)t)$X*-w{u@D2cBXW1LYlQH;Go7(pN|=V7 zLs>2DPH~x-jm*cTJ+W(k=_L&topl$R4mKjrNg=Wl0z2jFiRanJ9D4`C9gK-V2$fC^ zteBi7LkSGBv6`C`8xpSd)^K9CN~{nwdlv-@uP>Qg22lpl72{sHA8!LFWG`j`ua3hZ|B^f2pQYr;lkwSd)bEnaC# zgk*vxhjVgj;4X$Uuq(Wn0gwsiVuS^`tXDx=d^oqmk1(~zZk>(ins7P@1*}#4B=BI* z18}m$o+%7_X`3D#XPK0U7T!LSTYUqY*qGEikgH0LSZ13ij3ZaVz)7#$+2Gm3P9O?M z@VFnzRNE}~d1sEDOw^Y_PfYc68Tr3-4R#hO! z97|>o)C^GSlE(>+Gb2x&xO%s>?0QnzQ$rTOXP{ZQgMD9K&+GboT`um|3&Ce#b>KZV z0UnS;MX6hpHHwGbu)&O)7CsmRMkl4$?FmzF%WkgKf(i$a0cQ*`wXtba z-bxDxm??eK7C>ne$dn32GxkAJ^>75RB0_o za5^@v*J_;?Jer%ZIOFcRW(p(8T*C{pBgsZV-J&8fnhIe{aWxMx9!kr_Zagt{Onad< ztbS9{$#*iX6U^YCN-S@nvH|$q-1OXdX{=+~kszZcFSixVC!Cb$s61y< z3#^R2NE`!(!J*1`h&k4Tx|ooWwBS9H62Gs%Q|0@Z%R~g(*>B3tCnKWB9>_x=zQL^H zuL>(P0oP}Y55k%C0;k>Q6y6Bm`55La9q02B&pXrqW*pgOef*m>GehLp(8k$4ah zGA`R6go}kOE(A1EtO>&n?1K=X{iGb~DGHawSKTE!J3unA6j+-J1qj5B;D1Et@zw+i z)&fQB$F4Esp)y3!h-4uZ5C^Urs&G_Q6w6&z17mekAZV`@k~P@?yCKa8c2WsSbSYO8 z#Cp7hSRf`HfDgUs^=6P5WIGg2a6e*LD_c*xfFs)!O9T16oEJ;`q~rGbN7<)3RU2Xm z1_fDTy~z@J1Z%h1*-I!yrgZ{}iV7GgM!`HKGa#^FTEqd>ySjK;59F(}9fMiIs;FEf zYbWse4c-!4luP91uVe&qE702DuNBbSc3p4Uc|H69FaqjBwyX>D!-gq91v165!fb~O z1`eGb2o_5!EpR*G1NF=;s5lwjh!_IP%K64srxXLwhmg3+vQnt00k(svz7#c3owq*7 zPwEkYOJvt}>LSqPX~+{MJ6LgnSD@^bS%8`3KhNRq^U9D`3Ly4W`v(}{X^7+2q+tk9 zN)&a3_~QwcH4`ICuuU97Q2{T~fJ_KfLHO z02!*-X7!ZCPGk!hE+T^`0%sJm1~E9$E)Nge9;{*ESPQs`nVLIrst_NxKS)bz9?ueo zgbt8pl6%J3$x$R9P)B_X5MIE3ihc+3 zIa7>)8HHcwwe>=kVbiPi!vC2ktx^JY4eAPhQ;rdh6rZM8gM%bd1Ux{+fLuTaL1XHZ z{I-V_jOrTN6BWZ!!3?7mSSR2$8YC?Y1Xe4DsUyKr zpd#F9)y8puyY|U(5|dAoJ7sVL9i)H$eJJ zeJwW@jLKAyqO@>Ug(fWOaBf$S9FXA<-#kobViV9>(pZf24FZ! z8v~S$mZ#t#3?=u@P$q-|Y<40xg7^$<1UgUd!YQk`L>HVb7?mMN2|Fs~05qXBVf2)1 z6U9*(R<8{bc4R-)|Jo!iE%kWnIc?6W`BzZ11=dge25QvR>PyupnFm0IQ0|8p9`wpt~4!Q{oJY z^ef&(;iob-M$gtBy_nkiRaoMJ@N4UD=g>KF0m`$KsZ>({2uj3aL9qsR;t7r_PbS0! z!AHwbihv5iSeeM?u?HwiPDsB|uh<@24Ae8C16Zc&M^Ozc!BI0MIu@udHOdxI4DZd9 zCIA{78S{fYPz`XsEUB?bLKPyc45NDCtL8Q=ze1Nf;<$LJ3*L*+88DVON&O5FOeX`b zCarwc3_@=5P83S8r4m_TL$r36DNJH509oiNC@u(zaG|n<35rB1YKs&n%0eOj79K$a zQdW_1RCL7=_!l2g6JMm~!?Yv89&Q-o35X^%=_COu(>VZRbr)X-kyg}nKnBOMr)xMI zjl~NQsZ<4+GZF$a+ZTKfYNJMK{R9m8zZ1KIF0`CuE%*Q|D5NSf>(*H+@7Glu!5s?3 zNmOX+FEOd^43-0@Rnar@0yh!~l919!u&pS`W3J<;tnLNYBg3I0 z_V3$4$p89wgu`}#0Y(Q2?h#c;y`ilT5D3&b;6a!viq@K#D1?E8M4GCT zd+}j4X+kg*4LOdOcFTc-xh?Zyd5L46qFO_LtJN7M5vyj6EjTsnf5{eUq@yha&1?5 z#Ue&wE4?AfE8+~scu(7)WG7cpr3B7>jZTbML4H3eauW8CTR3=e&`V+z;za5}L7#Eqp3)IcQ z+c9e}@q>w5yvisT%8x=5uADqXxR66{L2Ac+$kFyln+i^$-5^>QhoDJd#=H-_&Vz=y z(BQwVh~C1AKrzZ_&;ryEL;e7!#G+9tI`Ao+hSdTttWpgx*r;?M+$T_(P;#-?z*o`p zT`V-_l3Jt`ObO^kC>b>h9o0^A^J43=2=A=-XQ@#2ddQkdR3gzTyrfahMQ8rvu#HKd{k4{)d=S$x>3rv~?5Y_DWweJzk%a-0P$$@{p` z=(~}aEanojXuVKpptucjDX!JdesRS*6bQJq`#iSBEMKB}Mq*9p1gHJ0!$Wx(D)oqw4V8ATj*0WF2OxqX+rp z@k=d)*N5B!?py)&TCg!{=$3>ssHoy`5NZ{+R~Pnx*o@HS@*8!0D;Wu*51$=;6Bb-0 zC``bLRA_?z2|tqK!@kg!hBSc56X0rjkxpbNd0?B`y;;&Mj@lz8j~>J_O)WA5nlT)- z)YR*$a1)q@@uj1dHk!AAo;q>KQy4(}?ji+g${=+rs!|APSfNg^e)8h82amxj@(jv# z8f8LUfL$bzR3~plE^+Gs@LRHq$`<6K!~;rGT)u)>8&(rxqQw1q%}uOp*5IIqh9>GK zMPdR)02>*RDKbsnNxo1!Mg0zfFDZN39+gF?SfBLTJ&h-<*H*obK#Lls0NV!McGigo z-iEJFq@k%70Sr)fh)z^B?Bum2qonz33xHA+OCXkbzd@03hpJ9xJrF%HKPVyciCWND zR@>q%mDj-5s7xzCqFO1|0@Nl;6|6cX#9MPfCr$(AiLl1j3Wi3V?+HvHB`NmA4K$G5 z4Fo7EHAv{6tw!v6*aw5l=F&mXLD;1OA>aUe7+B%dn-+fRIsiMe47;N~l$yY0@=aZQ zB8YvR;4KY@F%8%xvl3V_vL`a3xjY@Z3yZm;Fp10{rb>V&BB~{TVIV?@CC+(f0&1Un z2YAr-FeiH*fsKPBROFc%=d0I2*&{vMW>q_ZDn@t#y97Zw;Gx5yP>+2dPT>D5rLA7) zdF{4VBnnY9NNQ4tu%{-JGLXY$5&Oebu!oi$6pzFpq$JQ!Bmvs^sqqCkOKlFA)H%Ql7?}H;*N8oBxd~)%q88<&mb$5*2-8Ng5Nuw} z1+}@rOkZ4;QYY@aLLV4c=Zs~6nd%*!`p&~~CHPJlQ8y;9W3}x?0xZm*cR1-@Or!~S zK{?>kB$p;=i$Fbt!Z?QFMrm76ev*zvj!9MX6Tn$8OrAP5t<<1NLJ8s*a)xTURPUiv z&HHeI^4u}%X3#0CRa6x*j->9}+0Np`XaxlyVa#Kw`S43C;H6JiAt$mjRBNKa z$QW{x7})RtP#l(!d)qKJpj`);;KVz-$ND;X69|A4bwYBc&U{77s0*hRBJU_nHjH#o zHHuYOE%GX9fNH3*lXNC}gKSLBQ_TFt!mtAAG&lr{U;D&_f?Fu*2D7L-^Q)sfa&aVYC-DG!3djHgdWM54k%cPrj9(8*1nRdkYXKXib*fANCGGp zjBrq}zyvWV=108FckU{Hc1(I0<0rIi!*#c&;0yJ(U+K_UJI_NmO)Cwdqs_pZI5o zwbg)m8Al{4b20<_ji*Hp3Z^6OPd&=$Sp zy2NZ`DRTAHxj}&csg>6Q$>Q@~cU>JR64B5`0Ad899PI<|955ynZ&1%4P8d88MZJA} z^Q!SAbt*fWLVWJ3YeQYh7%_u|kdYHTR#bd}aMWN*Cgo_VlZ%PPJ^2p>flLak`hb-e z3Y|w;1Q8@OujnD-ZQ)|vF27CqP#F&D!I~*LaCKk}T$X$BWe^pCW+q5v=BZE!{07D7 z7G&sdlv?OM;!+HWT)Wb$nh(K!w@tOvNp{qV*8yy(YFP6VonWBoAJ7vH2N>gF)cD2V z1G75yicDu3Qb~t@z#;%Xok50kKrm42HK!$llUSY9cdF14Fh|{lnsjF9h)=Wy5>&66 zAnM#Cl@2IpJ35epxT&==5i>ALh?hsEC<-eEm>tzbaVirj3PC@U6=(ne?3$qADJHoSeaV3VxQtmeWN%5QQ&JXI=<|fQvEX0Bh@e?OcUJxkeD(*^&nh{(uCa%xCOsqi&*x_H6w;w zx(h#3gmlQR6onOV;Ty^iXFPINj?|ec+2p-UaL# zByGS50B<6wVe^|^)@$z5e%&RYUe^>A!q#LzrOV`jF1CiiOhqFc@sF0_ZyiHTjV+3h zNA+ehhO&Njl=ClIhW@n-m9j&sh?p15djhGrt>c&Z&)@H;A-d6gWHivBI;hc;vWZKg zdQ!KuG^|?q4%Htt)kLvYHyGfQaMqC;G#r9<#s01)43h?&;JsBq!ghO8BajLX*&Elb zpg9O>T2r`!2~j=tmStDZUZ6+=!zB&M`J1u&eKTm9(uxGkH5~>mw8&}@Eh-fS1DXZk z;>a;NoGGXbhBv4)lrjYg+Q|d3Kg$IV_Yof=R1WYYPHWj(i3UqySlH_TGw?xHeh4B+ z<=(G1O%@VR-AjqxFpy)2YS9N5c#nA~G$;c?nYa$xbW5SW(Q2|bksEkVRsy-CP{745 zfm1Iqiy;u#)P88gQ8euan^y z52(?9$_9i?(@K=&qa!jMTWT;YqYL)_)!7t)>UHXXLtoi7nzpE?0>wd7p|8Vh=GRV2 z=QM*$2V7q6)C}CLQ#0t9;;Fl zThd%vJXt+9H49hwnsH3T(XgY5x~gH0mEL^FM9kpSj*x^)M=GUewoJpTJh)X&^>~6I zYDkXSCh>IK8!sdvbV-7QfXelfbaD@W**YFaY)+l2N_tUN1ph)yok&P%A`I|=+z->5 zqWSDoI;*@U+G&qAQpTtS>VLsU;56|yqCjfdOv~XFy|7L;zn#?>gQh5S5t9TK6ogHC~AIL6$R5roN`ESs*M_)YJt2@gM??sHX-^ z%|)*_x(VNNurH91EoeN}=hx)~%fRb_IDSpddq2&BP-mwyg6#;_qI6_o89k(qqWhzz z82Y$sd8wnw13muKSt?P0#KJjvRNXl6W<=6_qOvtBM+Hw#z2jVo1}dXeMS`kP{$R0D zz3?a0Jxq@Oy_RdHO4i4j~PwF7t?ih9@KG?Qg_C2?rdtEh*F4v3nlC}l@+c=ZqgSe_3Pv!i1?igWb) za}51Dh>j@HiM5&psF+=SFdjo@}wB%Zi5ZHs%C#K^vy z)9RENdF=>KDbYwj4=Xa_UieR)(*Qidh&2Pe6VoHca75A=Ro@y3+8z_CkL@6@aAKfi z6Mg)j`UV{+YfZ)aO+tYsXrA{{Dzs*ijAYY+Bt&k2LpqvvI-*m8vM|HqeO&Q8c z)u?Q3(`}`g=yGr%CIAB? zn+BmqC-IwT5PTBG8pG0wd|@vHt@sH=0KKN;EsUowgwQh+t-0Z9TZ z$FO=eS+Ur`osVO|WQs~5U zS6ysS+d&5nI#Y$$Y?pOOWE=r%+ehm?4dUTpr#|WAV!ay%M>LKCwQre2p(l;5ZG2iG zP(KoqO_mrwi&~#W1+<&jU_FEe5l6*?`_>O?s@D&bVI3O(d3J5XTp6z`AQ?thgOG|b z!_&2RRsw7GZ&5czH2--_M0O4HW7gMxBstx*Z*qff8>X_wd!gH`{IVDq}q1A?nH^bSG_K7nTTfQ;;k+SB@* z*o9oXJQpO6Az zmA&-k>Sl|5k#_~_^LRjhBQrFG0Y#K@d~Nq84#HDj%TM)zd)NU3Ew(-0c!jDl{AV4$A;)!8KT`+EnCU(Qs_(>WosA zj_zB$YdcDE025NIVeJhi%U)C1_UYllkN#-lEx>ueC?N%E1QX`5?HI-S9jQkFH$VP)|=Y&G;Q~LNJYYNo{Z4LArICfPB3{VubG2H0(RN zBKtk@CwnW~DtM|9=go>UDiF{>8>3xF{IOO0-i*^yp6a4olEp!4^^Z!wxV-8Lj#mO6 zij(eKsOdQ#tJG8vZzX;JV(PdO^Fqpg>n;{^;!j}JTF5T7!l?1ZG-Y}<9C7C$40X1c zu^-rysT#R1O(GF*8bj*w-34%s@8P{Nm*2WXr*jR>hk^h=9Yq) z|ENKyiL7;(+#Sjy>r@Sd#}IpPA zVwt7>O=Ir0n5lEG^Oe_sq^J{jnqj{hBBazM1#Qw8C^qIn7(cN9sx)ipn)TE1;ef*j zu)np}2B+5QCMP;XcaEVv)?X2BnmV?os}chI*eV6_bPX>I@gH;`Itf%-J}={?q}Pm+ z>;b}F0o{CI<|r`%j`f2|qexNXDP*vVQh<7rTqkuhqy~qdhtx7iQ)lwQJ+zTwfJ?CT zs>frMC_1mp3F4ZL!XlL_gQlK3M34j4&kz}k2BxM|oLY3I13k@%!L9q!#TtL#9W$_% zl%nv$bfUN)IE9+d6eBgz2RsB(P^Red=}lw)R64$g_$v_l;%`6);a&}~zKa4HC2Bfb zC3416qiR7zVa#`z0dKxe8%$kGQV&W?f}AxOw5nSO7ZCASMZynQH

zG(>Nv!9$a1 zCW`|h7genfWHzrFI&43>mxmHnYnuw)(7=GKol8`wH@`c?8#JsqWL=72XihUrg9Sp{ zE&uH0X;HcSY~)#f6A79OnN-Wy$Q!SbhZ&~a++0*AK{^^p=WChQ56VDM`@6mQ8r~;p zio!Alqa~!S*VQgc-RqHnB1gBNmxdU0L8s^n1+lIIL;P-w+tO6aLU)3KTG9Qg{Q>`* zT_tVm0GKVm@gc_^L5KNi9hQ64I>ewmA@_y`ocoVfUR5hEY32z$=$`1&q{bG_?*6=c z*_2r|QkJfSfQw#$6g1nIbe^R97(Gg3HJ$zL*LdB81Qh{Nrf*o-4n>z@)OCxb(~>zg zZrW5rbgwe$vW|+cuGXRfhuW~<%8wtFOpZgZaT-@x_=L&~W&#n|fufpF4ozi2wFJHK z6n4tp@=%qERde}Q5;cuZIGGzG=v-A(I%bcC+q)R?Ze&r{bjzZvKZgngJV6G6mj|wa z?onk`$GhDLKWZS)ETFPPe<2dp+-sUPhb~|cPZYBVgCTknc#-t54XEI_x;tjNy^LPd z4Zf_oV2Z_g*Hx*XLzfQIQyG4ub>`}#e1E;4Ut6to3E zO@m+UjYA=TR>Ihk7~}2YCSH#ykp^MlT{@XnTUfDr2@H761txNPmjzECX5%gzREpzl zb^RbpnQ(wu6o~0Sjq(W5K3zS~{>xOqkP?ibtGc3&0l*%fv+$e(KzBt6a~`g%F#BTy ziJ|dqa1tdvs2>T9P!Iqpk*J`cBXkH=Og_TU6g14A#Oy+Ra_)^xu27+OQ^&tpB5!{7 z$P(})-m&WQH{zfwB7fmF8uZci3#gwOLJwEM*BTliI?=BJN^KwCl~rPtbT~^#WJK!F zO^z#)3}ec&Mx1C7(*e!W`<}zwBX#ye* zhvr3N=(2=Puexs1YnUeXcuvI8p?D$Q8xu%kHPC@vfBu~Mp&E0}u4LU#=Lefklk|h> zUETIaSJoP8LKjkrP}6|A?XtqP1tlcs*At{+??Sw~7`Y4m@> zg>RgioryDeJQp<7ps8?~WJ_5`?|?AVr8jg7+M!X!p+B$*U8~lJ8`0mgM+mJWS!Y$3 zx`KwS)cPY7;U<~V<7$_+b&c-VCN=D;!ZPLblvNJY2lbkCfb{p^k)flbrNfI2kaW2s z7=BzXLlQN#peb*{<6Q~d^JjQuX(|BVwGq~92gUojHl+DqXBN~70niJ!ZMrOnBcl3n zYDV0=6cruoY4}sR?Ys^aq-$wJJ1B{570n*AHuzY7ouu0?u%x?sBnDy}X^f7%Vx@lR zA_p~M>28h=w6DhGSyljwbu|yhQB9N2TfR}<(hvy-JeLU7WShu*Q5yj=02L!G5}1;7 zy=NgzbY+4Sbxoh@b~&}HY7Us1sq=)Oi3e?m+Gsk(DY{EhAkVR9brphAPdnZrBIvsAHi6HCacEVw zZ}_Y!3s{amF-O;{@Iw{qRRlmrW$GyByr0{e=pzkufvM`;sf3G=O;FCG8&4BxT1CmWq}fer+M;5i+ek@wIPX*|k!9&r6*<_*l8g+TO>;_Ow=?O& zKg1O#r9mbzuc&Gq4M$(VNl$u{3u;lKt1blyL>q4o=$0ZG&tr|Br4B9Kq6F&PSUQ!L zpivrXcJgQ(L?0Cb=w{9JpA08>wN1D8-)s_~wwJCMl{bS7BXasI4oHFOtqn~CKfKe& zE$pPZ;H7&cqHw^CrZx4EEE>>MZw0||>|N+JbMSY?#96|Tm?gCEqi9AcqVJ7wPLOwN z2EufY={2j$6RuydOW>_r0k1?|j!xc=Zpg4jbyPGlOLBnRJ+^m2PV+jazfV!ZH2xVv zBY@gW(5Yx4RS{Pa4p+!isZ9HHtS010Gp~Vg05hX5_T8khY=5L#0ZXW3q;eh?qi**f zLMQL4^Ich#m{$uPn-uE*mEK%$ezf!daaT3rB*t6%tPveI9_NiD(`_tVER~G{MONj| zq`PFAElHqBRo>|8QwKB~^(;et>l&wNcJ4SZ=!!gOYCzlze5T6OPy2zwmfvR}e8yV& z9tIrY(UrP2sfCKEZ$eDxYcMq3zw2sWc=aD2)VELl-WufFeM%iYnAe03VX*5&KXiOSDx@w*tW=i+vl0NIM#8>F)?-ydCfD*D_SSkg%PaJ-Cnbua8q=2J0s@pz_M zbSJeze!T9BZPrSvV{EvvKH(1E;dj)oK1%}}1Nig1=>DieB&RP6X=w` z+KbS%>wHTMIixzTdr{GKdP*_Z#|A)?Rn<1k#~`hqOkp1yo4CoTFQe``I8W^CqED_W znhl3QM%{-Z({!^UR^92HrrSySR2T9D!L6dA8zM2d0FBX2#@=;_vdG^-X8=os{P6bp zZjh#wy;Nmx@8`_(>XVQkX?(-NeGGxDECe81oJe+=14YK$m#N#G<9)IY1O_^;_MrGk zdmjO$t4yEpa0TK7=A{rY8nqq*M}hub(*veWpAt}XQ%qAV>X{&A0ekXFLdTbw+wQ~c~_dkV5dT9;f&b9ym002ovPDHLkV1f$BoSFat literal 0 HcmV?d00001 diff --git a/doc/graphviz/.gitignore b/doc/graphviz/.gitignore new file mode 100644 index 0000000000..b134fdb6f1 --- /dev/null +++ b/doc/graphviz/.gitignore @@ -0,0 +1,3 @@ +/*.png +/*.svg +/*.pdf diff --git a/doc/graphviz/Makefile b/doc/graphviz/Makefile new file mode 100644 index 0000000000..fb6411379d --- /dev/null +++ b/doc/graphviz/Makefile @@ -0,0 +1,30 @@ +# Makefile for generating images with graphviz +# +SHELL = /bin/bash +BUILDDIR = ${CURDIR}/.. +IMGDIR = $(BUILDDIR)/src/JPG +IMGSRC = $(wildcard *.dot) +IMGPNG = $(IMGSRC:%.dot=$(IMGDIR)/%.png) + +HAS_DOT = NO +ifeq ($(shell which dot >/dev/null 2>&1; echo $$?), 0) +HAS_DOT = YES +endif + +all: $(IMGPNG) + +clean: + rm -f $(IMGSVG) $(IMGPDF) $(IMGPNG) *~ + +ifeq ($(HAS_DOT),YES) +$(IMGDIR)/%.png: %.dot + dot -Tpng -o $@ $< +endif + +ifeq ($(HAS_DOT),NO) +$(IMGDIR)/%.png: %.dot + @echo '###################################################' + @echo '# Need to install "graphviz" to regenerate graphs #' + @echo '###################################################' +endif + diff --git a/doc/graphviz/lammps-classes.dot b/doc/graphviz/lammps-classes.dot new file mode 100644 index 0000000000..408ab36f65 --- /dev/null +++ b/doc/graphviz/lammps-classes.dot @@ -0,0 +1,90 @@ +// LAMMPS Class topology +digraph lammps { + rankdir="LR" + La [shape=circle label="LAMMPS"] + At [shape=box label="Atom" color=blue] + Ci [shape=box label="CiteMe"] + Co [shape=box label="Comm" color=blue] + Do [shape=box label="Domain" color=blue] + Er [shape=box label="Error" color=blue] + Fo [shape=box label="Force" color=blue] + Gr [shape=box label="Group" color=blue] + In [shape=box label="Input" color=blue] + Ko [shape=box label="KokkosLMP"] + Ak [shape=box label="AtomKK" color=blue] + Mk [shape=box label="MemoryKK" color=blue] + Me [shape=box label="Memory" color=blue] + Mo [shape=box label="Modify" color=blue] + Ne [shape=box label="Neighbor" color=blue] + Ou [shape=box label="Output" color=blue] + Py [shape=box label="Python" color=blue] + Up [shape=box label="Update" color=blue] + Un [shape=box label="Universe" color=blue] + Ti [shape=box label="Timer" color=blue] + Rg [label="Region" color=red] + Rb [shape=box label="RegionBlock"] + Rs [shape=box label="RegionSphere"] + Av [label="AtomVec" color=red] + It [label="Integrate" color=red] + Mi [label="Min" color=red] + Pa [label="Pair" color=red] + Bo [label="Bond" color=red] + An [label="Angle" color=red] + Di [label="Dihedral" color=red] + Im [label="Improper" color=red] + Ks [label="Kspace" color=red] + Du [label="Dump" color=red] + Fi [label="Fix" color=red] + Cp [label="Compute" color=red] + Th [label="Thermo"] + Va [label="Variable"] + Ew [shape=box label="Ewald"] + Pp [shape=box label="PPPM"] + Ff [label="FFT3d"] + Re [label="Remap"] + Gc [label="GridComm"] + Cb [shape=box label="CommBrick"] + Ct [shape=box label="CommTiled"] + Aa [shape=box label="AtomVecAtomic"] + Am [shape=box label="AtomVecMolecular"] + Lj [shape=box label="PairLJCut"] + Lo [shape=box label="PairLJCutOMP"] + Lg [shape=box label="PairLJCutGPU"] + Te [shape=box label="PairTersoff"] + Bh [shape=box label="BondHarmonic"] + Bf [shape=box label="BondFENE"] + Fa [shape=box label="FixAveTime"] + Fn [shape=box label="FixNVE"] + Fh [shape=box label="FixNH"] + Fp [shape=box label="FixNPT"] + Ft [shape=box label="FixNVT"] + Da [shape=box label="DumpAtom"] + Dc [shape=box label="DumpCustom"] + Dg [shape=box label="DumpCFG"] + Ve [shape=box label="Verlet"] + Rr [shape=box label="Respa"] + Po [shape=box label="PPPMOmp"] + La -> {At Ci Co Do Er Fo Gr In Ko Ak Mk Me Mo Ne Ou Py Ti Up Un} [penwidth=2] + Do -> {Rg} [penwidth=2] + Co -> {Cb Ct} [style=dashed penwidth=2] + Rg -> {Rb Rs} [style=dashed penwidth=2] + In -> Va [penwidth=2] + Mo -> {Fi Cp} [penwidth=2] + Fo -> {Pa Bo An Di Im Ks} [penwidth=2] + Ks -> {Ew Pp} [style=dashed penwidth=2] + Pp -> {Ff Re Gc} [penwidth=2] + Pp -> {Po} [style=dashed penwidth=2] + Up -> {It Mi} [penwidth=2] + It -> {Ve Rr} [style=dashed penwidth=2] + Ou -> {Du Th} [penwidth=2] + Du -> {Da Dc} [style=dashed penwidth=2] + Dc -> {Dg} [style=dashed penwidth=2] + At -> Av [penwidth=2] + Av -> {Aa Am} [style=dashed penwidth=2] + Pa -> {Lj Te} [style=dashed penwidth=2] + Lj -> {Lo Lg} [style=dashed penwidth=2] + Bo -> {Bh Bf} [style=dashed penwidth=2] + Fi -> {Fa Fn Fh} [style=dashed penwidth=2] + Fh -> {Fp Ft} [style=dashed penwidth=2] +} + diff --git a/doc/requirements.txt b/doc/requirements.txt deleted file mode 100644 index 045559d8c4..0000000000 --- a/doc/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -Sphinx -sphinxcontrib-spelling -breathe -Pygments diff --git a/doc/src/JPG/lammps-classes.png b/doc/src/JPG/lammps-classes.png new file mode 100644 index 0000000000000000000000000000000000000000..e673299e9dc15c240a720820590c7e5620269e0c GIT binary patch literal 250470 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 literal 0 HcmV?d00001 diff --git a/doc/utils/requirements.txt b/doc/utils/requirements.txt index 2806c16498..b86522baf4 100644 --- a/doc/utils/requirements.txt +++ b/doc/utils/requirements.txt @@ -1 +1,5 @@ Sphinx +sphinxcontrib-spelling +sphinx-fortran +breathe +Pygments diff --git a/doc/utils/sphinx-config/_static/css/lammps.css b/doc/utils/sphinx-config/_static/css/lammps.css index 751bba3900..d2aa8a975d 100644 --- a/doc/utils/sphinx-config/_static/css/lammps.css +++ b/doc/utils/sphinx-config/_static/css/lammps.css @@ -7,3 +7,10 @@ display: block; margin-bottom: 0.809em; } + +.lammps_release { + text-align: center; + font-size: 11px; + display: block; + margin-bottom: 0.405em; +} diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/layout.html b/doc/utils/sphinx-config/_themes/lammps_theme/layout.html index 9344063304..8e0d235d55 100644 --- a/doc/utils/sphinx-config/_themes/lammps_theme/layout.html +++ b/doc/utils/sphinx-config/_themes/lammps_theme/layout.html @@ -103,6 +103,12 @@ {%- endif %} {%- endblock %} {%- block extrahead %} {% endblock %} + + {# Keep modernizr in head - http://modernizr.com/docs/#installing #} + + + {# for improved browser compatibility #} + @@ -135,9 +141,8 @@ {%- set nav_version = current_version %} {% endif %} {% if nav_version %} -

- {{ nav_version }} -
+
Version: {{ nav_version }}
+
git info: {{ release }}
{% endif %} {% endif %} diff --git a/doc/utils/sphinx-config/conf.py b/doc/utils/sphinx-config/conf.py.in similarity index 90% rename from doc/utils/sphinx-config/conf.py rename to doc/utils/sphinx-config/conf.py.in index cc7dc0741f..92ba10a341 100644 --- a/doc/utils/sphinx-config/conf.py +++ b/doc/utils/sphinx-config/conf.py.in @@ -27,7 +27,7 @@ except: # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. #sys.path.insert(0, os.path.abspath('.')) -sys.path.append(os.path.join(os.path.dirname(__file__), '../../src/_ext')) +sys.path.append(os.path.join('@LAMMPS_DOC_DIR@', 'src', '_ext')) # -- General configuration ------------------------------------------------ @@ -41,7 +41,9 @@ extensions = [ 'sphinx.ext.mathjax', 'sphinx.ext.imgmath', 'sphinx.ext.autodoc', + 'sphinxfortran.fortran_domain', 'table_from_list', + 'breathe', ] # 2017-12-07: commented out, since this package is broken with Sphinx 16.x # yet we can no longer use Sphinx 15.x, since that breaks with @@ -72,12 +74,24 @@ copyright = '2003-2020 Sandia Corporation' def get_lammps_version(): import os script_dir = os.path.dirname(os.path.realpath(__file__)) - with open(os.path.join(script_dir, '../../../src/version.h'), 'r') as f: + with open(os.path.join('@LAMMPS_SOURCE_DIR@', 'version.h'), 'r') as f: line = f.readline() start_pos = line.find('"')+1 end_pos = line.find('"', start_pos) return line[start_pos:end_pos] +def get_git_info(): + import subprocess,time + + git_n_date = '' + try: + gitinfo = subprocess.run(['git','describe'],stdout=subprocess.PIPE,stderr=subprocess.PIPE) + if gitinfo.returncode == 0: + git_n_date = gitinfo.stdout.decode().replace('_',' ') + except: + pass + return git_n_date + # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the # built documents. @@ -85,7 +99,7 @@ def get_lammps_version(): # The short X.Y version. version = get_lammps_version() # The full version, including alpha/beta/rc tags. -release = '' +release = get_git_info() # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. @@ -342,13 +356,29 @@ if spelling_spec and has_enchant: spelling_lang='en_US' spelling_word_list_filename='false_positives.txt' -sys.path.append(os.path.join(os.path.dirname(__file__), '.')) +conf_script_dir = os.path.dirname(os.path.realpath(__file__)) +sys.path.append(os.path.join(conf_script_dir, '.')) import LAMMPSLexer from sphinx.highlighting import lexers lexers['LAMMPS'] = LAMMPSLexer.LAMMPSLexer(startinline=True) -sys.path.append(os.path.join(os.path.dirname(__file__), '../../../python')) +sys.path.append('@LAMMPS_PYTHON_DIR@') # avoid syntax highlighting in blocks that don't specify language highlight_language = 'none' + +# autodoc configuration + +autodoc_member_order = 'bysource' +#autoclass_content = 'both' + +# breathe configuration + +breathe_projects = { 'progguide' : '@DOXYGEN_XML_DIR@' } +breathe_default_project = 'progguide' +breathe_show_define_initializer = True +breathe_domain_by_extension = { 'h' : 'cpp', + 'cpp' : 'cpp', + 'c' : 'c', + }