README.md
June 1, 2026 · View on GitHub
Changelog and Features
Conductivity Solver v1.2 (27.4.26)
A numerical solver for the calculation of thermal and electrical conductivity in heterogenous media. Full tensor support and arbitrary geometry handling.
Features
- Full Thermal Conductivity Tensor
- Periodic Boundary Conditions (PBC): Implementation of PBCs in all spatial directions.
- Full Tensor Support: Unlike previous versions limited to Dirichlet/Neumann conditions, v1.2 can now compute the complete effective conductivity tensor .
- Arbitrary Geometries
- Beyond Cubic Domains: Support for non-cuboid geometries (e.g., spheres, irregular rock cuttings).
- Backward and Forward Search: A newly implemented routine ensures that the solver correctly identifies domain boundaries in non-standard geometries.
- Reference: This methodology is based on the research presented in [xxxxxxx].
- Solver Optimization & CSR Migration: To accommodate the complexity of periodic boundaries and larger datasets, the internal matrix logic has been refactored
- CSR Matrix Format: Transitioned from diagonal vector storage to Compressed Sparse Row (CSR) format for the system matrix.
- Refactored Linear Algebra: All core functions for matrix-vector multiplication and algebra have been optimized for the CSR format.
Conductivity Solver v1.1 (24.01.24):
-
code is organized in seperate files
-
added flux field computation for postprocessing
-
added automated paraview load file for postprocessing
-
adjustments for user-friendliness
-
preprocessing tutorial video: https://youtu.be/RUQssngar3Y
-
postprocessing tutorial video: https://youtu.be/coOlP0cAj5g
Tutorial
Prerequisite: You will need a Fortran compiler (e.g., gfortran) to run this tool. This guide is written for Linux systems, similar steps apply to Windows machines.
Follow these steps to set up and run your simulation:
- Download: Download all files from this repository and place them together in a directory.
- Configure: Open the
settings.f90file in a text editor, adjust the parameters for your specific case, and save the file. - Compile: Open your terminal in the case directory and compile the code using the following command:
gfortran -fopenmp -O3 conductivitySolver.f90 -o solverRun
- Set Number of CPUs: Define the number of CPU cores you want to use for parallel computations (e.g. nCPU=8):
export OMP_NUM_THREADS=8
- Run: Execute the compiled program to start the simulation:
./solverRun
Videotutorial
Click the image below to watch the tutorial on YouTube:
