1#ifndef CHEMMISOL_SPECIES_H
2#define CHEMMISOL_SPECIES_H
19 SOLVENT, AQUEOUS, MINERAL
54 : name(name), index(index) {
176 virtual std::complex<double>
quantity(std::complex<double>
activity)
const = 0;
230 const std::string& name, std::size_t index,
231 double C,
double A,
double Q
267 std::complex<double>
quantity(std::complex<double> )
const override {
316 static const double V;
328 const std::string& name, std::size_t
id,
353 std::complex<double>
quantity(std::complex<double>
activity)
const override {
382 const std::string& name, std::size_t index,
404 Solvent(
const std::string& name, std::size_t
id)
485 double solid_concentration,
486 double specific_surface_area,
487 double site_concentration);
532 const std::string& name, std::size_t index,
533 double solid_concentration,
534 double specific_surface_area,
535 double site_concentration,
538 N(
sites_quantity(solid_concentration, specific_surface_area, site_concentration)) {
561 std::complex<double>
quantity(std::complex<double>
activity)
const override {
597 const std::string& name, std::size_t index,
598 double solid_concentration,
599 double specific_surface_area,
600 double site_concentration,
605 solid_concentration, specific_surface_area,
686 double total_quantity;
701 std::size_t index,
double total_quantity)
702 : species(species), index(index), total_quantity(total_quantity) {
740 return total_quantity;
757 total_quantity = quantity;
double activity(double concentration) const override
Definition species.h:357
double concentration(double quantity) const override
Definition species.h:345
void setActivity(double activity) override
Definition species.h:361
double quantity(double activity) const override
Definition species.h:349
Phase getPhase() const override
Definition species.h:333
AqueousSpecies(const std::string &name, std::size_t id, double C)
Definition species.h:327
void incrementConcentration(double extent) override
Definition species.h:337
static const double V
Definition species.h:316
double concentration() const override
Definition species.h:341
double getTotalQuantity() const
Definition species.h:739
void setTotalQuantity(double quantity)
Definition species.h:756
ChemicalComponent(ChemicalSpecies *species, std::size_t index, double total_quantity)
Definition species.h:699
ChemicalSpecies * getSpecies()
Definition species.h:708
const ChemicalSpecies * getSpecies() const
Definition species.h:715
void setTotalConcentration(double concentration)
Definition species.h:773
std::size_t getIndex() const
Definition species.h:724
virtual bool isFixed() const
Definition species.h:732
double quantity() const
Definition species.h:159
virtual void incrementConcentration(double extent)=0
virtual double concentration() const =0
double activity() const
Definition species.h:128
ChemicalSpecies(const std::string &name, std::size_t index)
Definition species.h:53
virtual double quantity(double activity) const =0
virtual double concentration(double quantity) const =0
std::size_t getIndex() const
Definition species.h:70
virtual Phase getPhase() const =0
virtual void setActivity(double activity)=0
const std::string & getName() const
Definition species.h:61
virtual double activity(double concentration) const =0
FixedAqueousSpecies(const std::string &name, std::size_t index, double C)
Definition species.h:381
Phase getPhase() const override
Definition species.h:387
FixedChemicalComponent(FixedChemicalSpecies *species, std::size_t index)
Definition species.h:814
virtual bool isFixed() const override
Definition species.h:820
void setActivity(double) override
Definition species.h:283
double activity(double) const override
Definition species.h:275
double concentration() const override
Definition species.h:247
double concentration(double) const override
Definition species.h:255
FixedChemicalSpecies(const std::string &name, std::size_t index, double C, double A, double Q)
Definition species.h:229
void incrementConcentration(double) override
Definition species.h:241
double quantity(double) const override
Definition species.h:263
FixedMineralSpecies(const std::string &name, std::size_t index, double solid_concentration, double specific_surface_area, double site_concentration, double F)
Definition species.h:596
Phase getPhase() const override
Definition species.h:610
void incrementConcentration(double extent) override
Definition species.h:545
double quantity(double activity) const override
Definition species.h:557
MineralSpecies(const std::string &name, std::size_t index, double solid_concentration, double specific_surface_area, double site_concentration, double fraction)
Definition species.h:531
double concentration() const override
Definition species.h:549
static double sites_quantity(double solid_concentration, double specific_surface_area, double site_concentration)
void setActivity(double activity) override
Definition species.h:569
double concentration(double quantity) const override
Definition species.h:553
double activity(double concentration) const override
Definition species.h:565
Phase getPhase() const override
Definition species.h:541
Phase getPhase() const override
Definition species.h:408
Solvent(const std::string &name, std::size_t id)
Definition species.h:404
Definition chemmisol.h:31
std::ostream & operator<<(std::ostream &o, const Phase &phase)
Phase
Definition species.h:18