title: ORCHESTRA: an object-oriented framework for implementing chemical equilibrium models.
abstract: This work presents a new object-oriented structure for chemical equilibrium calculations that is used in the modeling framework ORCHESTRA (Objects Representing CHEmical Speciation and TRAnsport). In contrast to standard chemical equilibrium algorithms, such as MINEQL, MINTEQ2A, PHREEQC, and ECOSAT, model equations are not hard-coded in the source code, but instead all equations are defined in text format and read by the ORCHESTRA calculation kernel at run time. This makes model definitions easily accessible and extendible by users. Furthermore, it results in a very compact and efficient calculation kernel that is easy to use as a submodel within mass transport or kinetic models. Finally, the object-oriented structure of the chemical model definitions makes it possible to implement a new object-oriented framework for implementing chemical models. This framework consists of three basic object types, entities, reactions, and phases, that form the building blocks from which other chemical models are composed. The hierarchical approach ensures consistent and compact model definitions and is illustrated here by discussing the implementation of a number of commonly used chemical models such as aqueous complexation, activity correction, precipitation, surface complexation ion exchange, and several more sophisticated adsorption models including electrostatic interactions, NICA, and CD-MUSIC. The ORCHESTRA framework is electronically available from www.macaulay.ac.uk/ORCHESTRA.
authors.affiliation: Soil Science Group, Macaulay Institute, Craigiebuckler, Aberdeen, AB15 8QH, UK. meeussen@ecn.nl
authors.forename: Johannes C L
authors.initials: JC
authors.lastname: Meeussen
mesh_terms: D000327:Adsorption; D004785:Environmental Pollutants / Q000032:analysis*; D005544:Forecasting; D007700:Kinetics; D008956:Models, Chemical
chemical_list: D004785:Environmental Pollutants