iphreeqc/SurfaceComp.h
David L Parkhurst 2b76f04a8b Cleaned up header files to remove unnecessary includes of .h files. Moved includes to source code where possible.
Moved some methods for .h to source files to avoid need for includes.

Debug and Release compile. 

Still need to get class version working. 

git-svn-id: svn://136.177.114.72/svn_GW/phreeqcpp/trunk@3868 1feff8c3-07ed-0310-ac33-dd36852eb9cd
2009-12-07 19:49:38 +00:00

62 lines
1.6 KiB
C++

#if !defined(SURFACECOMP_H_INCLUDED)
#define SURFACECOMP_H_INCLUDED
#include <cassert> // assert
#include <map> // std::map
#include <string> // std::string
#include <list> // std::list
#include <vector> // std::vector
#include "NameDouble.h"
class cxxSurfaceComp
{
public:
cxxSurfaceComp();
cxxSurfaceComp(struct surface_comp *);
~cxxSurfaceComp();
struct master *get_master();
const std::string &get_phase_name() const;
void set_phase_name(char * f);
const std::string &get_rate_name() const;
void set_rate_name(char * f);
const std::string &get_formula() const;
void set_formula(char * f);
double get_charge_balance() const;
void set_charge_balance(double d);
static struct surface_comp *cxxSurfaceComp2surface_comp(std::map < std::string, cxxSurfaceComp > &el);
void dump_xml(std::ostream & os, unsigned int indent = 0) const;
void dump_raw(std::ostream & s_oss, unsigned int indent) const;
void read_raw(CParser & parser, bool check = true);
const cxxNameDouble & get_totals() const;
void add(const cxxSurfaceComp & comp, double extensive);
void multiply(double extensive);
std::string charge_name();
static std::string get_charge_name(char *token);
#ifdef USE_MPI
void mpi_pack(std::vector < int >&ints, std::vector < double >&doubles);
void mpi_unpack(int *ints, int *ii, double *doubles, int *dd);
#endif
protected:
std::string formula;
cxxNameDouble formula_totals;
double formula_z;
double moles;
cxxNameDouble totals;
double la;
//int charge_number;
double charge_balance;
std::string phase_name;
double phase_proportion;
std::string rate_name;
double Dw;
public:
};
#endif // !defined(SURFACECOMP_H_INCLUDED)