1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-30 00:44:52 +02:00
qmckl/src
2020-10-14 09:55:08 +02:00
..
.gitignore Initial commit : context 2020-10-14 00:52:50 +02:00
Makefile Removed iso-c-bindings in C. Will be done for Fortran 2020-10-14 09:54:12 +02:00
qmckl_context.org Removed iso-c-bindings in C. Will be done for Fortran 2020-10-14 09:54:12 +02:00
README.org Update README.org 2020-10-14 09:55:08 +02:00

QMCkl source code

Introduction

The main objective of present library is documentation. Therefore, literate programming is particularly adapted in this context. Source files are written in org-mode format, to provide useful comments and LaTex formulas close to the code. There exists multiple possibilities to convert org-mode files into different formats such as HTML or pdf. For a tutorial on literate programming with org-mode, follow this link.

The code is extracted from the org files using Emacs as a command-line tool in the Makefile, and then the produced files are compiled.

Source code editing

Any text editor can be used to edit org-mode files. For a better user experience Emacs is recommended. For users hating Emacs, it is good to know that Emacs can behave like Vim when switched into ``Evil'' mode. There also exists Spacemacs which is particularly well adapted to Vim users.

For users with a preference for Jupyter notebooks, the following script can convert jupyter notebooks to org-mode files:

#!/bin/bash
# $ nb_to_org.sh notebook.ipynb 
# produces the org-mode file notebook.org 

set -e

nb=$(basename $1 .ipynb)
jupyter nbconvert --to markdown ${nb}.ipynb --output ${nb}.md
pandoc ${nb}.md -o ${nb}.org
rm ${nb}.md

And pandoc can convert multiple markdown formats into org-mode.

Writing in Fortran

The Fortran source files should provide a C interface using iso-c-binding. The name of the Fortran source files should end with _f.f90 to be properly handled by the Makefile.

Documentation