GithubHelp home page GithubHelp logo

sintef-appliedcompsci / mrst Goto Github PK

View Code? Open in Web Editor NEW
36.0 5.0 14.0 334.96 MB

Official GitHub mirror of MRST

Home Page: http://www.mrst.no

License: GNU General Public License v3.0

Shell 0.02% MATLAB 87.99% C++ 5.56% TeX 0.59% HTML 0.13% POV-Ray SDL 0.26% C 3.60% M 0.06% Mathematica 0.31% Python 0.08% GLSL 1.34% Common Lisp 0.01% Makefile 0.01% XSLT 0.01% CMake 0.02% Forth 0.01% BitBake 0.02%
automatic-differentiation co2-sequestration compositional finite-volume multiscale porous-media-flow reservoir-simulation blackoil

mrst's Introduction

MRST Logo

What is this?

This is the official GitHub mirror of the Matlab Reservoir Simulation Toolbox (MRST), an open source toolbox for simulation of flow, mechanics and transport in porous media developed at group for Computational Geosciences at SINTEF Digital. We only recommend getting MRST from the repositories for users who are interested in following the development actively and tolerate the occasional bug or broken feature. For most users, the MRST releases released twice each year are a better option, which comes pre-packaged and tested.

For more details on MRST, please see our website at www.mrst.no and the MRST repositories on Bitbucket.

Getting started with MRST

Clone this repository:

git clone https://github.com/SINTEF-COMG/MRST.git

Once the repository has been cloned, navigate MATLAB or GNU Octave to the checked out repository

cd MRST;
run startup.m

This should initialize MRST and produce a welcome message:

Welcome to the MATLAB Reservoir Simulation Toolbox (MRST)!
You are using the release version 2022b. To download other versions of MRST
and view examples and relevant publications, please visit www.mrst.no

Useful commands for getting started:
 - List all introductory examples:   mrstExamples()
 - List all modules:                 mrstPath('list')
 - Load modules using GUI:           mrstModule('gui')
 - Explore all available data sets:  mrstDatasetGUI()
 - List examples of a module:        mrstExamples('ad-blackoil')
 - Explore modules and publications: mrstExploreModules()
 - Show all examples in all modules: mrstExamples('all')
 - Show settings for MRST:           mrstSettings()
 - Display this message:             mrstStartupMessage()

For assistance and discussions about MRST, please visit our mailing list at
   www.sintef.no/projectweb/mrst/forum/ ([email protected])
For some common queries, see our FAQ: www.sintef.no/projectweb/mrst/faq/

You can verify your installation by running a basic tutorial that produces a plot:

flowSolverTutorial1

Note that MRST takes care not to modify files outside the checked out directory. For this reason, you will have to re-run the startup.m function if you restart MATLAB/Octave.

Additional resources

To learn more about MRST, we suggest that you check out the documentation that includes two free open-access books.

Access to repositories

MRST is currently organized into several repositories. These are added to this repository using git subtree for your convenience together with a startup.m script that can be run with MATLAB and GNU Octave to load these files into your path. This is primarily intended as a mirror for getting access to the development version through a single git clone. If you would rather work directly with individual repositories, please follow the instructions at the MRST core wiki at Bitbucket.

Name Description URL
core Core functionality for MRST https://bitbucket.org/mrst/mrst-core
autodiff Solvers based on automatic differentiation: Black-oil, compressible flow, compositional and the AD framework https://bitbucket.org/mrst/mrst-autodiff
solvers Different solvers without automatic differentiation: Consistent discretizations, fractured media and geomechanics. https://bitbucket.org/mrst/mrst-solvers
co2lab Numerical CO2 laboratory: Solvers and utilities for large-scale CO2 injection. https://bitbucket.org/mrst/mrst-co2lab
model-io Different utilities and modules for input and output to MRST. https://bitbucket.org/mrst/mrst-model-io
multiscale Solvers and routines for scale transitions, including multiscale and upscaling implementations. https://bitbucket.org/mrst/mrst-multiscale
visualization Modules with a focus on visualization and graphical user interfaces. https://bitbucket.org/mrst/mrst-visualization
thirdparty-modules Third-party modules for MRST. This repository contains a set of git submodules which link to other git repositories with useful modules. https://bitbucket.org/mrst/mrst-thirdparty-modules

The remaining modules are individual repositories and can be found in the add_remotes.sh file.

Updating the subtree

Normally you can pull this repository to get updates to MRST. There is some delay between pushes to the individual module repositories and this repository as it is a manual process.

Advanced usage - updating subtrees manually

If you want to update manually, or if you have a local fork of this repository and you want to update the files, you should first do the following:

./add_remotes.sh

This needs only to be done once for a given clone of MRST. Once the remotes are set up and the files are executable you can update the subtrees :

./update_subtrees.sh

Note that updating the subtrees create merge commits. If you want to go back in sync with the repository (e.g. to do a git pull) you can run the following.

This will delete any local changes you have and reset it like a fresh clone had been performed.

git fetch origin
git reset --hard origin/master

mrst's People

Contributors

92runarlb avatar allengitcode avatar andrescodas avatar atgeirr avatar augustjohansson avatar bska avatar cmcneece avatar daavid00 avatar daniel170388 avatar elyesahmed avatar francescawatson avatar gautelinga avatar gitpaean avatar haamer1997 avatar havahol avatar hnil avatar jhabriel avatar kaliegh avatar keileg avatar kveite avatar linzhaocupb avatar moyner avatar nikolai-andrianov avatar oddan avatar steink avatar strene avatar swej91 avatar tayloris avatar unconvrs avatar xavierr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mrst's Issues

Questions regarding computation

Hi.
I've been using Octave and it is good and working well. I've noticed more than 99% of the computational intensity comes from the mldivide function (or the "backslash" solver) computation: A\b from ad-core/solvers/BackslashSolverAD.m

Is there an option to run this with GPU with CUDA support?

So far, I've been looking into some linear algebra and other libraries like superlu or umfpack. In this case, A is a sparse matrix and likely singular (even though Octave does not prompt warning about this, it seems like it simply is computing minimum redisual ||Ax-b||). At first it looked like the mldivide is a series of dependent compuations, so the parellelizing it seemed impossible, but then I've looked more and it is also plausible that it can be done, thus GPU support might help.
Any ideas on this?

Thank you

Issues with VEmex solver in CO2-lab legacy

Hi,

I am trying to run the runJohansenVE.m script. But I am having issues creating the Mex file. I followed the steps in the README file. But I had an error after running the make command.

      ...
ld: symbol(s) not found for architecture arm64
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libVETransportCPU.dylib] Error 1
make[1]: *** [mexInterface/CMakeFiles/VETransportCPU.dir/all] Error 2
make: *** [all] Error 2

I am using a Mac with M2 chip. Any ideas why this is happening and how can I fix this?

Thanks,
Reinaldo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.