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 ogs5py.reader import readtec_point
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],
POROSITY=0.2,
)
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 = readtec_point(
task_root="pump_test",
task_id="model",
pcs='GROUNDWATER_FLOW',
)
time = point['owell']["TIME"]
head = point['owell']["HEAD"]
plt.plot(time, head)
plt.show()
Reader
It comes along with a set of handy readers for almost all output formats:
-
VTK Domain output
from ogs5py.reader import readvtk
-
PVD Domain output
from ogs5py.reader import readpvd
-
TECPLOT point output
from ogs5py.reader import readtec_point
-
TECPLOT polyline output
from ogs5py.reader import readtec_polyline
OGS5 executable
The OGS5 executable needs to be in your sys-path under ogs[.exe]
.
Otherwise you need to specify the path to the executable within the run command:
model.run_model(ogs_root="path/to/ogs")
Requirements:
Contact
You can contact us via info@geostat-framework.org.
License
GPL © 2018-2019 (inspired by Falk Hesse and Miao Jing)
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 Distributions
File details
Details for the file ogs5py-0.6.1.tar.gz
.
File metadata
- Download URL: ogs5py-0.6.1.tar.gz
- Upload date:
- Size: 200.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3148e35d7112c21a38f15bf931b666de8723137d64eed44c7cd0a9d58b042c5f |
|
MD5 | d47105d6ec07d9dc0cf861846871625c |
|
BLAKE2b-256 | e0748d384967eaab5810183c015baec05e44c8fe28b805de4b2fb2d37b0fe087 |
Provenance
File details
Details for the file ogs5py-0.6.1-py3-none-any.whl
.
File metadata
- Download URL: ogs5py-0.6.1-py3-none-any.whl
- Upload date:
- Size: 117.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/38.2.4 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.6.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 297f7a1a75f068c3b43cedfd7346492b4730cb2e4913528c3d97d0bc18361a93 |
|
MD5 | ff935216cef6c562de97b730d1c570d1 |
|
BLAKE2b-256 | dd6f5ae1d32e6c88f14314ea0889ecb68c414bb76e26bac0fb6d169f5cb8a92b |
Provenance
File details
Details for the file ogs5py-0.6.1-py2-none-any.whl
.
File metadata
- Download URL: ogs5py-0.6.1-py2-none-any.whl
- Upload date:
- Size: 129.8 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7afc7015bfbc9d869dd68c1d51815508e44433fa47295b7843b71aa884b17de3 |
|
MD5 | 1106763db596cf8ae576b19ada7c325e |
|
BLAKE2b-256 | aedccd9164b5da8a2093311bdbd7859c29796acd3ab4edd827593e36d75d0e9e |