The idea of the program is to simulate the core of a nuclear reactor with a low level (but not no) realism using differential equations. This repo was orginally created as a source for code that simulates divergence-gradient diffision of one variable over a hexagonal grid.
The program allows the user to change a variety of factors in params.json aswell assign certain hexagons special properties. These being nuclear fuel rods, control rods, or coolant channels as well as neutron source locations. Example images can be found in images
The model is heavily dependant on the mathplot library installed in-tree with the code.
This project requires an installation of Mathplot's dependancies.
Extract from Mathplot/README.md
# Install dependencies for building graph1.cpp and (almost) all the other examples (assuming Debian-like OS)
sudo apt install build-essential cmake git wget \
nlohmann-json3-dev librapidxml-dev \
freeglut3-dev libglu1-mesa-dev libxmu-dev libxi-dev \
libglfw3-dev libfreetype-dev libarmadillo-dev libhdf5-devInstallation guide for Debian/Ubuntu Linux using ssh. It has not been tested on any other linux distros.
(these insturctions include installation of mathplot in-tree)
#cloning my code
git clone [email protected]:MJ6Z/diffusion.git
#cloning mathplot in tree.
cd diffusion/
git clone --recurse-submodules [email protected]:sebsjames/mathplot
#building the makefile.
cmake -B build/
#compliling my code.
cd build/
makeFrom your install directory (not your build directory) run:
./build/model params.jsonThe parameters the model runs off are all based in params.json they have brief descriptions.
This is an student project, and is not intented for real world use or development. But you're still welcome to have a look at what I've been getting up to!