============= User's Manual ============= The MRChem program comes as two executables:: /bin/mrchem # Python input parser and launcher /bin/mrchem.x # MRChem main executable where the former is a Python script that reads and validates the *user input file* and produces a new *program input file* which is then passed as argument to the latter, which is the actual C++ executable. The input and output of the program is thus organized as *three* separate files: +-------------------+---------------------------+---------------+ | File extension | Description | Format | +===================+===========================+===============+ | ``.inp`` | User input file | GETKW/JSON | +-------------------+---------------------------+---------------+ | ``.json`` | Program input/output | JSON | +-------------------+---------------------------+---------------+ | ``.out`` | User output file | Text | +-------------------+---------------------------+---------------+ The name of the user input file can be anything, as long as it has the ``.inp`` extension, and the corresponding ``.json`` and ``.out`` files will get the same name prefix. The JSON program file will get both an ``"input"`` and an ``"output"`` section. This ``"input"`` section is rather detailed and contains very implementation specific keywords, but it is automatically generated by the ``mrchem`` script, based on the more generic keywords of the user input file. The ``mrchem`` script will further launch the ``mrchem.x`` main executable, which will produce the text output file as well as the ``"output"`` section of the JSON in/out file. The contents of all these files will be discussed in more detail in the sections below. .. toctree:: :maxdepth: 1 running user_inp user_ref qcengine program_json geometry_optimization.rst pseudopotentials.rst