Simulate the CSP11 CO2 storage benchmark using JutulDarcy.jl on meshes made in MRST. Currently contains scripts for case B and C only.
To use, check out this repository, do git lfs pull
and open a Julia 1.9+ session in the local environment:
julia --project=/path/to/CSP11_JutulDarcy.jl
Add the local module with various helper functions:
] # Enter package mode
dev ./CSP11 # Add local package
instantiate # Add dependencies and precompile
You can now run the example:
include("run_mrst_grid_spe11.jl")
To run it inside a Docker image, either build the image described uner docker/jutul-spe11csp-juliaimg.Dockerfile or pull it from public docker repository
docker build --build-arg VERSION=v0 -t jutul-juliaimg-spe11csp -f jutul-spe11csp-juliaimg.Dockerfile .
or
docker push jafranc/jutul-juliaimg-spe11csp:latest
Then, as docker environement cannot easily be used with Cairo-GUI, Project.toml has to be adjusted discarding inaccessible deps. It is done under the folder docker/Project.toml and copied into root in the docker image building step.
Eventually you can run it
docker run -it --rm -v /path/to/output:/tmp image_name julia -e "import Pkg;Pkg.add([\"Jutul\",\"JutulDarcy\",\"HYPRE\"]);Pkg.develop(path=\"/opt/spe11csp/CSP11\");include(\"docker_run_mrst_grid_spe11.jl\")"
where image_name is to be replaced either by name taken during local build step (suggested above jutul-juliaimg-spe11csp) or by pulled image name jafranc/jutul-juliaimg-spe11csp. /path/to/output to be replaced by the path to a local folder. Note that generated results will be root-owned as per vanilla docker logic.