Page MenuHomec4science

data_container.hpp
No OneTemporary

File Metadata

Created
Fri, Dec 27, 06:32

data_container.hpp

/*-------------------------------------------------------
- Module : database
- File : data_container.hpp
- Author : Fabien Georget
Copyright (c) 2014, Fabien Georget, Princeton University
---------------------------------------------------------*/
#ifndef SPECMICP_DATABASE_DATACONTAINER_HPP
#define SPECMICP_DATABASE_DATACONTAINER_HPP
//! \file data_container.hpp Storage class for thermodynamics database
#include "common_def.hpp"
#include <map>
namespace specmicp {
namespace database {
//! \brief Storage class - Contains the database
//!
//! - Should not be accessed directly but through interfaces
//! - Should be shared with a smart pointer
struct DataContainer
{
int nb_component; //!< Number of components == size of the basis
int nb_aqueous; //!< Number of aqueous species (not taking into acount the basis)
int nb_mineral; //!< Number of minerals
vector_labels_t labels_basis; //!< labels of the components
std::map<std::string, int> map_labels_basis; //!< map labels <-> id
vector_labels_t labels_aqueous; //!< labels of the aqueous species
vector_labels_t labels_minerals; //!< labels of the minerals
reaction_mat_t nu_aqueous; //!< Stoechiometric coefficient for aqueous species
logK_vector_t logk_aqueous; //!< LogK for aqueous species
reaction_mat_t nu_mineral; //!< Stoichiometric coefficient for minerals
logK_vector_t logk_mineral; //!< LogK for minerals
Eigen::Matrix<double, Eigen::Dynamic, 3> param_aq; //!< Aqueous parameters
};
} // end namespace database
} // end namespace specmicp
#endif // SPECMICP_DATABASE_DATACONTAINER_HPP

Event Timeline