Skip to main content

ogs5py: a python API for OpenGeoSys5

Project description

Welcome to ogs5py

DOI PyPI version Build Status Documentation Status Code style: black

ogs5py-LOGO

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

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()

Drawdown

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ogs5py-0.6.1.tar.gz (200.6 kB view details)

Uploaded Source

Built Distributions

ogs5py-0.6.1-py3-none-any.whl (117.1 kB view details)

Uploaded Python 3

ogs5py-0.6.1-py2-none-any.whl (129.8 kB view details)

Uploaded Python 2

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

Hashes for ogs5py-0.6.1.tar.gz
Algorithm Hash digest
SHA256 3148e35d7112c21a38f15bf931b666de8723137d64eed44c7cd0a9d58b042c5f
MD5 d47105d6ec07d9dc0cf861846871625c
BLAKE2b-256 e0748d384967eaab5810183c015baec05e44c8fe28b805de4b2fb2d37b0fe087

See more details on using hashes here.

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

Hashes for ogs5py-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 297f7a1a75f068c3b43cedfd7346492b4730cb2e4913528c3d97d0bc18361a93
MD5 ff935216cef6c562de97b730d1c570d1
BLAKE2b-256 dd6f5ae1d32e6c88f14314ea0889ecb68c414bb76e26bac0fb6d169f5cb8a92b

See more details on using hashes here.

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

Hashes for ogs5py-0.6.1-py2-none-any.whl
Algorithm Hash digest
SHA256 7afc7015bfbc9d869dd68c1d51815508e44433fa47295b7843b71aa884b17de3
MD5 1106763db596cf8ae576b19ada7c325e
BLAKE2b-256 aedccd9164b5da8a2093311bdbd7859c29796acd3ab4edd827593e36d75d0e9e

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page