SkillAgentSearch skills...

Xpm

xpm (Extensive Pore Modelling) is a software for predicting flow properties in multi-scale porous media

Install / Use

/learn @dp-69/Xpm
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Extensive Pore Modelling (xpm)

xpm is a software for predicting flow properties of the multi-scale pore space.

xpm uses pnextract to acquire a network model from an image.

Publications

  • Poster presented at Interpore 2024, Qingdao, China

Build instructions

xpm uses vcpkg for dependency management.

<!-- > [!NOTE] > The decimal separator in your system (see region or locale settings) must be a period (.) and not a comma (,). This issue is typical of Cyrillic-based Windows or Ubuntu operating systems. -->

Windows

Commands are issued in an x64 Native Tools Command Prompt for VS 2022, which is part of the Microsoft Visual Studio toolset.

  1. Download and install Microsoft MPI

  2. <a id="W2"></a> Clone vcpkg and install xpm dependencies

[!IMPORTANT] Assumes C:\ as the starting directory. May take at least an hour to complete.

git clone https://github.com/microsoft/vcpkg
cd vcpkg
git clone -b xpm https://github.com/dp-69/vcpkg-ports ports-xpm
bootstrap-vcpkg.bat
vcpkg.exe install vtk[qt] qtcharts hypre boost-intrusive boost-iostreams boost-graph fmt argh --overlay-ports=ports-xpm --clean-after-build
  1. <a id="W3"></a> Clone and build xpm

[!NOTE] Can be performed from any location.<br/>

[!IMPORTANT] Modify the path "C:/vcpkg/scripts/buildsystems/vcpkg.cmake" in the xpm/CMakePresets.json file accordingly if Step 2 is not performed in C:\.

git clone https://github.com/dp-69/xpm
cd xpm
cmake --preset=win-rel
cmake --build --preset=win-rel
  1. Execute xpm
cd build/Release/bin
xpm.exe

Ubuntu

Commands are issued from a terminal.

  1. Install required Ubuntu packages
sudo apt install     \
  build-essential    \
  git                \
  tar curl zip unzip \
  pkg-config         \
  meson              \
  libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev \
  gfortran           \
  autoconf autoconf-archive \
  libtool            \
  '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev \
  cmake              \
  linux-libc-dev     \
  python3-jinja2     \
  bison flex         \
  openmpi-bin        
  1. <a id="U2"></a> Clone vcpkg and install xpm dependencies

[!IMPORTANT] Assumes home directory ~ as the starting directory. May take at least an hour to complete.

git clone https://github.com/microsoft/vcpkg
cd vcpkg
git clone -b xpm https://github.com/dp-69/vcpkg-ports ports-xpm
./bootstrap-vcpkg.sh
./vcpkg install vtk[qt] qtcharts hypre boost-intrusive boost-iostreams boost-graph fmt argh --overlay-ports=ports-xpm --clean-after-build
  1. <a id="U3"></a> Clone and build xpm

[!NOTE] Can be performed from any location.<br/>

[!IMPORTANT] Modify the value "~/vcpkg/scripts/buildsystems/vcpkg.cmake" in the xpm/CMakePresets.json file accordingly if Step 2 is not performed in home directory ~.

git clone https://github.com/dp-69/xpm
cd xpm
cmake --preset=lin-rel
cmake --build --preset=lin-rel
  1. Execute xpm
cd build/Release/bin
./xpm config.json

Copyright

The xpm project's research results are a copyright of the respective members and associates.

Dmytro Petrovskyy <sup>1</sup><br/> Julien Maes <sup>2</sup><br/> Hannah Menke <sup>2</sup><br/> Kamaljit Singh <sup>2</sup><br/>

<sup>1</sup> Independent Consultant, Ivano-Frankivsk, Ukraine<br/> <sup>2</sup> Heriot-Watt University, Edinburgh, UK

Tom Bultreys (Ghent University, Belgium) is thanked for their advisory in multi-scale pore-network modelling.

License

xpm is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

xpm is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with xpm. If not, see http://www.gnu.org/licenses/.

View on GitHub
GitHub Stars12
CategoryDevelopment
Updated1mo ago
Forks1

Languages

C

Security Score

95/100

Audited on Feb 5, 2026

No findings