I am a new learner to OGS. I would like to give a nonlinear function as a source/ decay term (Q) in the component transport module—for example, the source term as a function of concentration itself.
Q = -(C/(Km+C)), where Km is some constant, and C is the concentration of the component.
Please help me in finding out the ways to do that.
if source terms depend on primary variables then python source terms are the way to go: Poisson equation using Python for source term specification
When I try to run the code built with python source terms, I get the following error from OGS.
“OpenGeoSys has not been built with Python support”
Please help in including python support in OGS.
this error means that in your compilation of OGS, the support for Python boundary conditions is not enabled.
In order to enable it, you need to recompile OGS with flag
You can have a look at this page for more details: Python boundary conditions - prerequisits.
I hope this helps.
I couldn’t utilise the python module even after building with cmake successfully.
Still, I am getting the following error when I run an example from elliptic module.
Please help me in this regard.
you have successfully run the configuration step. Now you need to update your OGS build.
To do so, go to the release folder. Based on what I see in your screenshots, for you this would be:
and use ninja to rerun the build process:
This time it should take less time than the original compilation.
For more details, have a look at the page describing build step in our Developer Guide.
Let us know if you have any further problems.
I have successfully build with ninja. But, still, I couldn’t run python binding-based .prj files.
Please let me know the issue!
From what I see, Python boundary conditions should work now.
I see that you run OGS with
ogs command. So there is some OGS included in your path. Is it possible that
ogs command points to different executable, than the one compiled with support for Python BC (e.g.: different build folder, pip install, etc)? Can you check with
which ogs if it points to the correct executable?
Yes, I found another ogs on which the files are running, different from the compiled ogs.
The working ogs was installed from “pip install ogs” command. But, compiled ogs is downloaded using git cloning.
I am running my files on WSL-based ubuntu. Now how to change my path to the compiled ogs?
Also, what are the other possibilities to solve this issue?
You can call specific executable by calling it with its full path pointing to it. Based on your screenshots it may be for your local build of OGS with Python boundary conditions look as follows:
For convenience, you can add an alias to your
where ogs_p_bc is a command you will type to call binary specified on the right side of the = sign. You can choose it as you like, but you should avoid using the same names as commends already existing in your system. This is why in this example I have appended ogs with _p_bc, to indicate that this is your build with Python boundary conditions enabled.
Thank you very much. It worked finally.