ReactMiCP is a reactive transport simulator for variable porosity problem
SpecMiCP is a speciation solver
ReactMiCP is a reactive transport simulator for variable porosity problem
SpecMiCP is a speciation solver
Commit | Author | Details | Committed | ||||
---|---|---|---|---|---|---|---|
85239b62bc3c | fabien | bin:unsaturated run from a to z ! | Jan 31 2016 | ||||
63bd55df316f | fabien | feat:utils parse simple algebraic expressions with variables | Jan 30 2016 | ||||
516c1b471dc3 | fabien | fix:test correct linking of test_common | Jan 30 2016 | ||||
08c0a28a83fd | fabien | feat:unsaturated reactmicp unsaturated binary | Jan 29 2016 | ||||
ef65ccdd261e | fabien | fix:unsaturated include variables in main reactmicp/unsaturated header | Jan 29 2016 | ||||
8a72d916b76a | fabien | fix:plugins fix error handling | Jan 29 2016 | ||||
18bd3c9cb18b | fabien | fix:tests Cmake files corrections | Jan 29 2016 | ||||
07cf02484278 | fabien | feat:unsaturated add plugin base class for UpscalingStagger | Jan 29 2016 | ||||
c906d2dfe281 | fabien | fix:unsaturated Const-correctness for a few members of UnsaturatedVariables | Jan 29 2016 | ||||
38fcc4f2a0c0 | fabien | fix:unsaturated API of ItizializeVariables plugin | Jan 29 2016 | ||||
10d3d5f12060 | fabien | fix:io:unsaturated Export configuration symbols | Jan 29 2016 | ||||
5a0ff54ef63c | fabien | feat:unsaturated share simulation data through a unified struct | Jan 29 2016 | ||||
3e29b51167ae | fabien | impr:io:reactmicp add conservative DFPMoptions conf parser | Jan 29 2016 | ||||
ac55e834f6f0 | fabien | feat:io unsaturated configuration of EquilibriumOptions | Jan 28 2016 | ||||
bc5618abee40 | fabien | impr:io specmicp options, add conservative configuration | Jan 28 2016 |
SpecMiCP is a speciation solver to find the equilibrium state of a chemical system. The system is based on a mixed complementarity formulation of the equilibrium condition for minerals.
For a mineral with volume fraction Sm, the equilibrium condition is :
Sm >= 0, -log(IAPm/K) >= 0, -Sm*log(IAPm/K) = 0
where IAPm is the ion activity product and K the equilibrium constant. This condition is reformulated using the penalized Fischer-Burmeister C-function and the system is solved using a semismooth method.
ReactMiCP is a reactive transport solver built on top of specmicp. It uses the operator splitting approach to couple transport and chemistry.
SpecMiCP is not (yet) a program but a set of libraries that can be used to solve specific problems.
The following modules are already available :
The micpsolver and odeint modules can be use independantly.
Examples of use are provided in the examples directory.
To build and install SpecMiCP/ReactMiCP see the INSTALL file. To learn how to use the API the best is to look at the examples. The starting point should be the leaching in CO2-saturated examples : examples/reactmicp/saturated_react/carbonation.cpp. This file is heavily commented. Example of use of the Python interface can be found in the tests/cython directory.
A cmake module can be used to find SpecMiCP in your own project. It will be installed at
<prefix>/share/specmicp/cmake/FindSpecMiCP.cmake
The python module can be used directly if it is in your python path.
The API is documented with Doxygen and the documentation can be generated with the command :
make doc
A (maybe outdated) version of the doc can be found [here][3].
The code is in development and the API is not considered stable yet.
A python binding is available at the following address :
https://bitbucket.org/specmicp/specmicppy
SpecMiCP is developped by F. Georget (fabieng aT princeton DoT edu). It is part of my Ph.D. work. The purpose of the PhD is to develop a reactive transport model to model the coupling between hydration, drying and carbonation in cement paste.
This Ph.D. is funded by [Princeton university][6], [Lafarge][4] and the [CSTB][5].
References :
A list of the references used in the code can be found in the [documentation][7].
[2]: http://www.empa.ch/plugin/template/empa/*/62204/---/l=1
[3]: http://www.princeton.edu/~fabieng/specmicpdoc/index.html
[4]: http://www.lafarge.com/en
[5]: http://www.cstb.fr/
[6]: http://princeton.edu
[7]: http://www.princeton.edu/~fabieng/specmicpdoc/citelist.html