From 98e400f75a49a52100bdea05b116c9cb4a45f7f1 Mon Sep 17 00:00:00 2001 From: ifilot Date: Sun, 30 Apr 2023 22:01:15 +0200 Subject: [PATCH] Improving documentation and adding CI --- .github/workflows/build.yml | 21 +++++++++++++++++++++ README.md | 27 +++++++++++++++++++++++---- 2 files changed, 44 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..72ec0ec --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,21 @@ +name: build + +on: + push: + branches: [ "master", "develop" ] + pull_request: + branches: [ "master", "develop" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Install dependencies + run: sudo apt install -y build-essential cmake libboost-all-dev pkg-config libeigen3-dev libpng-dev libtclap-dev + - name: Configure CMake + run: mkdir build && cd build && cmake ../src + - name: Build + run: cd build && make -j3 diff --git a/README.md b/README.md index 352635d..c793e5e 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,33 @@ # DFTCXX -DFTCXX calculates the electronic structure of simple molecules within the framework of Density Functional Theory (DFT) at the LDA level of theory. It is mainly written for educational purposes. The source code has been documented (i.e. commented) relatively extensively to provide students the opportunity to read and understand the algorithm. +[![Build](https://github.com/ifilot/dftcxx/actions/workflows/build.yml/badge.svg)](https://github.com/ifilot/dftcxx/actions/workflows/build.yml) + +DFTCXX calculates the electronic structure of simple molecules within the +framework of Density Functional Theory (DFT) at the LDA level of theory. It is +mainly written for educational purposes. The source code has been documented +(i.e. commented) relatively extensively to provide students the opportunity to +read and understand the algorithm. + +> **Note**: Want to know more about electronic structure calculations? Have a look at my +> [free lecture book](https://ifilot.pages.tue.nl/elements-of-electronic-structure-theory/). + ## Compilation DFTCXX depends on a couple of libraries, which are normally directly available by your favorite package manager. -* Boost -* TCLAP -* Eigen3 +* [Boost](https://www.boost.org/) +* [TCLAP](https://tclap.sourceforge.net/) +* [Eigen3](https://eigen.tuxfamily.org/index.php?title=Main_Page) +* [libPNG](http://www.libpng.org/pub/png/libpng.html) + +To ensure you have the right packages on a (Debian-type) of operating system, +you can run the following + +``` +sudo apt install build-essential cmake libboost-all-dev pkg-config libeigen3-dev \ +libpng-dev libtclap-dev +``` To compile the program: ```