Coder Social home page Coder Social logo

softwareengineerprogrammer / geodt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from geodesigntool/geodt

1.0 0.0 0.0 6.36 MB

Analysis tools for designing geothermal power systems in uncertain subsurface conditions

License: Other

Python 100.00%

geodt's Introduction

GeoDT

Developed by Luke P. Frash

General:

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:

  1. Generates a 3D geometry that includes wells and fractures
  2. Assigns dimensionally-scaled properties these wells and fractures
  3. Creates a mesh of 1D pipes and nodes to represent hydraulic connectivity in the 3D well and fracture network
  4. Solves this 1D network for fluid flow based on user assigned boundary conditions
  5. Predicts natural fracture and hydraulic fracture stimulation by fluid injection
  6. Solves this 1D network for time-dependent heat production
  7. Estimates transient net electrical power production from the network
  8. Outputs a .csv file that summarizes the input and output parameters
  9. Outputs .vtk files for visualizing the system geometry
  10. 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.

File descriptions:

  • GeoDT.py: main program to create and analyze fracture-well system geothermal productivity
  • GeoDTviewer.py: supporting scripts for statistical analysis and plotting of multiple GeoDT runs using the csv file output from GeoDT and an input
  • documentation/: information about the input and output variables and the model's methods
  • examples/: example scripts that run GeoDT using the input values as specified in the example scripts
  • libs/: GeoDT subroutines

Instructions for first run (assumes that you are working from install directory):

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)

Steps

  1. Pick an example script from examples/:
    • validation_ files generally specify deterministic geometries and boundary conditions
    • example_ files are generally stochastic multi-run models that focus on EGS design optimization
  2. Softlink or copy from package root to script i.e. ln -s examples/validation_2inj_2pro_2nf.py or cp examples/validation_2inj_2pro_2nf.py .
  3. Run the example script i.e. python validation_2inj_2pro_2nf.py
  4. View the result .vtk files using a compatible visualization software (e.g., ParaView)
  5. Inspect the example script and edit as needed to customize to your modeling goals

geodt's People

Contributors

softwareengineerprogrammer avatar lfrash avatar msweeney2796 avatar

Stargazers

Hu Hanyu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.