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 | ||||
---|---|---|---|---|---|---|---|
998871ce7287 | fabien | Update examples : Leaching and MoMas speciation computation | Feb 23 2015 | ||||
602cfb4f2886 | fabien | Use the immobile concentration instead of the solid concentration, include the… | Feb 23 2015 | ||||
f0c4c3073b56 | fabien | Add an example for the reactive transport solver : solve the MoMas reactive… | Feb 23 2015 | ||||
6a53d7d1a970 | fabien | Add the possibility to use a different constraints for each node | Feb 23 2015 | ||||
7c8016b56303 | fabien | Do not compute speciation for a component if the total concentration is <1e-10 | Feb 23 2015 | ||||
912b33a4f6ec | fabien | Solve the advection problem with the upstream scheme | Feb 23 2015 | ||||
3013f5ef096c | fabien | Add the possibility to add slave nodes to the problem in saturated_react. Slave… | Feb 23 2015 | ||||
8c6fd9361771 | fabien | Prepare the saturated_react system to solve advection problem | Feb 23 2015 | ||||
a162fe6f75cd | fabien | Initialise the reactive transport solver Preformance struct | Feb 23 2015 | ||||
6773a29706c7 | fabien | add an error message when linesearch cannot find a step bigger than the minimum… | Feb 23 2015 | ||||
d76c3f21bd38 | fabien | Improve AdimensionalSystemSolver, initialisation of pcfm solver, debug messages… | Feb 23 2015 | ||||
8b5357988ba5 | fabien | Correct jacobian computation (both analytical and finite difference) in… | Feb 23 2015 | ||||
aa478c67960b | fabien | correct tests for AdimensionalSystem &co, add test for the PCFM method | Feb 23 2015 | ||||
d39cf3d5d38a | fabien | Improve initialisation of surface model in AdimensionalSystemConstraints | Feb 23 2015 | ||||
59f0bfff78d5 | fabien | AdimensionalSystemSolver variable initalization : change… | Feb 23 2015 |
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 number of moles "nl", the equilibrium condition is :
nl >= 0, 1-(IAP/K) >= 0, nl*(1-(IAP/K) = 0
where IAP is the ion activity product and K the equilibrium constant. This condition is reformulated using [C-function][1] and the system is solved using a semismooth method.
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 tests. In particular, files in tests/specmicps/ show some reaction paths modeling and a kinetic example.
SpecMiCP is developped by F. Georget (fabieng aT princeton DoT edu). It is part of my PhD 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.
[1] Finite-Dimensional Variational Inequalities and Complementarity Problems, Facchinei and Pang, Springer, 2003