This is a shell repository to test the integration of codes I maintain: build scripts, C++ utilities, and libvoxel, and other dependencies with open-source software I worked on at Imperial College London: pore network modelling, contact angle calculation and direct single- and two-phase flow simulation.
To clone all modules at once, run:
git clone --recurse-submodules https://github.com/aliraeini/porescale.gitA serial build of the downloaded code can take about an hour.
First clone this shell repository and update the common modules:
git clone https://github.com/aliraeini/porescale.git
git submodule update --init src/script src/include pkgs/zlib pkgs/libtiff src/libvoxelThen, run any combination of the following commands:
- Pore-network model, pnextract and pnflow:
git submodule update --init pkgs/hypre src/pnm- Contact angle code:
git submodule update --init pkgs/foamx4m src/ContAngle- Porefoam two-phase flow solver:
git submodule update --init pkgs/foamx4m src/porefoam2f- Porefoam single-phase flow solver:
git submodule update --init pkgs/foamx4m src/porefoam1fInstead of running the git commands above, you can run the contents of setup_from_scratch.sh to generate this repository from scratch.
Compilation requires: GNU Make, CMake, a C++ compiler.
Compilation of Porefoam and ContactAngle codes also requires libscotch-dev and
openmpi-dev, on Debian/Ubuntu Linux; see build_test.yml.
Running the tests additionally depends on Python3.
Once you have the prerequisites run the following commands to build and test the compilation:
make -j 4
make testChange the
4based on the number of processors on your computer.
For a pre-compiled release of these apps in a Ubuntu Docker image, visit https://hub.docker.com/r/aliraeini/porescale.
For contact information and references, see README files in the original repository, and in the linked modules.
You can contact me via email at: [email protected]