Page MenuHomec4science

README.md
No OneTemporary

File Metadata

Created
Thu, Nov 21, 12:21

README.md

SpecMiCP
========
Overview
--------
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.
Modules
-------
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 :
- **database** : manage the database, parse it from a file, swap the basis,
select the correct species, ...
- **micpsolver** : Solve a Mixed Complementarity problem
- **odeint** : integration methods for the solving ordinary differential
equations (for problem involving kinetics for example)
- **specmicp** : *core* of the library, set the system, solve it, solve a
reaction path model, ...
- **data** : contains two example of database in JSON format. 'specmicp_database.js' is just an example, mainly for the tests. 'cemdata_specmicp.js' is a partial translation of the [CEMDATA07][2] database.
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.
About
-----
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
[2] http://www.empa.ch/plugin/template/empa/*/62204/---/l=1

Event Timeline