Developed by Luke P. Frash
This Geothermal Design Tool (GeoDT) is a fast multi-well flow and heat transfer model intended to aid high-level decision making for enhanced geothermal systems - geothermal energy development. This tool:
- Generates a 3D geometry that includes wells and fractures
- Assigns dimensionally-scaled properties these wells and fractures
- Creates a mesh of 1D pipes and nodes to represent hydraulic connectivity in the 3D well and fracture network
- Solves this 1D network for fluid flow based on user assigned boundary conditions
- Predicts natural fracture and hydraulic fracture stimulation by fluid injection
- Solves this 1D network for time-dependent heat production
- Estimates transient net electrical power production from the network
- Outputs a
.csv
file that summarizes the input and output parameters - Outputs
.vtk
files for visualizing the system geometry - Provides statistical data visualization example scripts and plots
This code is in active development. We appreciate comments and questions that will help to improve this project.
GeoDT.py
: main program to create and analyze fracture-well system geothermal productivityGeoDTviewer.py
: supporting scripts for statistical analysis and plotting of multiple GeoDT runs using the csv file output from GeoDT and an inputdocumentation/
: information about the input and output variables and the model's methodsexamples/
: example scripts that run GeoDT using the input values as specified in the example scriptslibs/
: GeoDT subroutines
Set up Virtual Environment (strongly recommended)
python -m venv ./venv
pip install --upgrade pip
pip install -r requirements.txt
source venv/bin/activate
If you do not set up virtualenv, you will need to ensure that the dependencies in requirements.txt
are installed
in global site-packages (pip install -r requirements.txt
)
- Pick an example script from
examples/
:validation_
files generally specify deterministic geometries and boundary conditionsexample_
files are generally stochastic multi-run models that focus on EGS design optimization
- Softlink or copy from package root to script i.e.
ln -s examples/validation_2inj_2pro_2nf.py
orcp examples/validation_2inj_2pro_2nf.py .
- Run the example script i.e.
python validation_2inj_2pro_2nf.py
- View the result
.vtk
files using a compatible visualization software (e.g., ParaView) - Inspect the example script and edit as needed to customize to your modeling goals