ogs5py: a python API for OpenGeoSys5
Project description
Welcome to ogs5py
Purpose
ogs5py is A python-API for the OpenGeoSys 5 scientific modeling package.
Installation
You can install the latest version with the following command:
pip install ogs5py
Documentation for ogs5py
You can find the documentation under geostat-framework.readthedocs.io.
Further Information
- General homepage: https://www.opengeosys.org/ogs-5
- OGS5 Repository: https://github.com/ufz/ogs5
- Keyword documentation: https://ogs5-keywords.netlify.com
- OGS5 Benchmarks: https://github.com/ufz/ogs5-benchmarks
- ogs5py Benchmarks: https://github.com/GeoStat-Framework/ogs5py_benchmarks
Tutorials and Examples
In the following a simple transient pumping test is simulated on a radial symmetric mesh. The point output at the observation well is plotted afterwards.
from ogs5py import OGS
from matplotlib import pyplot as plt
model = OGS(task_root="pump_test", task_id="model")
# generate a radial mesh
model.msh.generate("radial", dim=2, rad=range(51))
# generate a radial outer boundary
model.gli.generate("radial", dim=2, rad_out=50.)
model.gli.add_points([0., 0., 0.], "pwell")
model.gli.add_points([1., 0., 0.], "owell")
model.bc.add_block( # boundary condition
PCS_TYPE='GROUNDWATER_FLOW',
PRIMARY_VARIABLE='HEAD',
GEO_TYPE=['POLYLINE', "boundary"],
DIS_TYPE=['CONSTANT', 0.0],
)
model.st.add_block( # source term
PCS_TYPE='GROUNDWATER_FLOW',
PRIMARY_VARIABLE='HEAD',
GEO_TYPE=['POINT', "pwell"],
DIS_TYPE=['CONSTANT_NEUMANN', -1.0e-04],
)
model.ic.add_block( # initial condition
PCS_TYPE='GROUNDWATER_FLOW',
PRIMARY_VARIABLE='HEAD',
GEO_TYPE='DOMAIN',
DIS_TYPE=['CONSTANT', 0.0],
)
model.mmp.add_block( # medium properties
GEOMETRY_DIMENSION=2,
STORAGE=[1, 1.0e-04],
PERMEABILITY_TENSOR=['ISOTROPIC', 1.0e-4],
)
model.num.add_block( # numerical solver
PCS_TYPE='GROUNDWATER_FLOW',
LINEAR_SOLVER=[2, 5, 1.0e-14, 1000, 1.0, 100, 4],
)
model.out.add_block( # point observation
PCS_TYPE='GROUNDWATER_FLOW',
NOD_VALUES='HEAD',
GEO_TYPE=['POINT', "owell"],
DAT_TYPE='TECPLOT',
TIM_TYPE=['STEPS', 1],
)
model.pcs.add_block( # set the process type
PCS_TYPE='GROUNDWATER_FLOW', NUM_TYPE='NEW'
)
model.tim.add_block( # set the timesteps
PCS_TYPE='GROUNDWATER_FLOW',
TIME_START=0,
TIME_END=600,
TIME_STEPS=[[10, 30], [5, 60]],
)
model.write_input()
success = model.run_model()
point = model.readtec_point(pcs='GROUNDWATER_FLOW')
time = point['owell']["TIME"]
head = point['owell']["HEAD"]
plt.plot(time, head)
plt.show()
OGS5 executable
To obtain an OGS5 executable, ogs5py
brings a download routine:
from ogs5py import download_ogs
download_ogs()
Then a executable is stored in the ogs5py config path and will be called when a model is run.
You can pass a version
statement to the download_ogs
routine, to
obtain a specific version (5.7, 5.7.1 (win only) and 5.8).
Also "latest" and "stable" are possible.
For OGS 5.7 there are executables for Windows/Linux and MacOS.
For "5.8", "latest" and "stable" there are no MacOS pre-builds.
Have a look at the documentation for all options.
If you have compiled your own OGS5 version, you can add your executable to the ogs5py config path with:
from ogs5py import add_exe
add_exe("path/to/your/ogs/exe")
Otherwise you need to specify the path to the executable within the run command:
model.run_model(ogs_exe="path/to/ogs")
Requirements:
Contact
You can contact us via info@geostat-framework.org.
License
MIT © 2018-2019 (inspired by Falk Hesse and Miao Jing)
This project is based on OGSPY.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ogs5py-1.0.1.tar.gz
.
File metadata
- Download URL: ogs5py-1.0.1.tar.gz
- Upload date:
- Size: 240.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c3aa6768fb1a555f98fe2bf8aeab85fac5db30cd453338ce9dff561effc0e35 |
|
MD5 | f408240e070a5fcce531c26dad0ce1a2 |
|
BLAKE2b-256 | f1690cf9a27c81e08d8a56b6f0859418565d8ecd6170339cfc690818b654b1aa |
Provenance
File details
Details for the file ogs5py-1.0.1-py2.py3-none-any.whl
.
File metadata
- Download URL: ogs5py-1.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 130.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f45845b140da7918250307c949715c52a7728e9c5da25004fcdc204e42244e5 |
|
MD5 | a857fd60b4dd69ee7ad67f069ccaf762 |
|
BLAKE2b-256 | ef2b959833b0230a582b409cc5810e5893a17aebc86a5bb25d59c39bb2ed84a2 |