##################################
The Pencil Code documentation
##################################


.. The Pencil Code is primarily designed to deal with weakly compressible turbulent flows,  which is why we use high-order first and second derivatives. To achieve good parallelization, we use explicit (as opposed to compact) finite differences. Typical scientific targets include driven MHD turbulence in a periodic box, convection in a slab with non-periodic upper and lower boundaries, a convective star embedded in a fully nonperiodic box, accretion disc turbulence in the shearing sheet approximation, self-gravity, non-local radiation transfer, dust particle evolution with feedback on the gas, etc. A range of artificial viscosity and diffusion schemes can be invoked to deal with supersonic flows. For direct simulations regular viscosity and diffusion is being used.




Welcome to the documentation for the Pencil Code — a high-order finite-difference code for weakly compressible turbulence and beyond.
Please find `more details on our website <http://pencil-code.nordita.org/>`_.

Explore the sections below to get started, contribute, or run simulations with Pencil Code.


.. toctree::
   :maxdepth: 1
   :caption: Getting Started Quickly

   Ultra Quick Start Guide <manuals/ultra-quick-guide>
   Quick Start Guide <manuals/quick-guide>
   Full User Manual <manuals/fmanual-index>

.. toctree::
   :maxdepth: 1
   :caption: Community & Resources 

   Useful links <intro/links>
   Discussion groups <intro/discussion>
   Scientific usage <intro/scientific>
   Python postrocessing meetings <python-meetings/python-index.rst>

.. toctree::
   :maxdepth: 1
   :caption: Developing Pencil Code

   Download the code <pcdevelopment/download>
   Git guide <pcdevelopment/howtogit>
   svn guide <pcdevelopment/howtosvn>
   General commit guideline <pcdevelopment/tutpencil>
   <pcdevelopment/gpuimplementation>
   Coding style <pcdevelopment/pccodingstyle>
   pcdevelopment/social_rules  

.. toctree::
   :maxdepth: 1
   :caption: Working with Simulations / Extra Tools

   CVS guide <tools/howtocvs>
   tools/howtodocker

.. toctree::
   :maxdepth: 1
   :caption: Postprocessing & Tutorials

   tutorials/samples/samples-index.rst
   tutorials/python/tutpython
   tutorials/python/IDL_to_Python_Translation_Guide
   tutorials/mathematica/tutmathematica
   tutorials/python/devpcpython


.. toctree::
   :maxdepth: 1
   :caption: Contributing to Documentation

   Using Sphinx <dochowto/sphinx>
   dochowto/usingrst
   dochowto/doccodetips
   dochowto/fortranautodochowto
   dochowto/addcitations

.. toctree::
   :maxdepth: 1
   :caption: Autogenerated Documentation

   Python packages <code/sourcePython/index>
   code/sourceFortran/index
   code/tables/index
   code/tables/bin
