コード例 #1
0
    def initialise(self, componentName=None):
        """
        As in a fairy tale, if the emse software is introduced
        """
        self.component = Phreeqc()
        self.solver = self.component  # To evolve to solver

        self.componentName = "phreeqc"  # We only have phreeqc as solver. Thoughreact 1.5 isn't validated
        if self.componentName == "phreeqc":
            #self.dB = self.component.fileRecognition(self.dB)
            self.component.setDataBase(self.dB)
            pass

        self.component.setChemicalState(self.chemicalState)

        if self.activityLaw:
            self.component.setActivityLaw(self.activityLaw)
            pass
        if self.kineticLaws:
            self.component.setKineticLaws(self.kineticLaws)
            pass
        if self.outputs:
            self.component.setExpectedOutputs(self.outputs)
            pass
        if self.speciesBaseAddenda:
            self.component.setSpeciesBaseAddenda(self.speciesBaseAddenda)
            pass
        if self.timeStep:
            self.component.setTimeStep(self.timeStep)
            pass
        if isinstance(self.simulationTime, Time):
            self.component.setSimulationTime(self.simulationTime)
        if self.timeStep and self.simulationTime:
            self.component.batch == True
        return None
コード例 #2
0
ファイル: chemicaldata.py プロジェクト: apdimier/Etumos
from __future__ import division
from phreeqc import Phreeqc
from species import molarMassStringEval
from species import *
import numpy as np
import os
chemistrySolver = Phreeqc()
#
databaseFile = os.getenv("PHREEQCDAT") + "/phreeqc.dat"
molarMassDico = chemistrySolver.getMolarMassList(databaseFile, typ={})
#
caCl2SSp = AqueousSecondarySpecies(symbol = "CaCl2",\
                                   formationReaction = [("Ca++",1),("2Cl-",1)],\
                                   logK25 = -0.64,\
                                   logK = [1.56212e+03, 2.55796e-01, -8.58012e+04, -5.69819e+02, 5.22119e+06],\
                                   name = "CaCl2",)
molarMassCaCl2 = caCl2SSp.getMolarMass(molarMassDico)
naClSSp = AqueousSecondarySpecies(symbol = "NaCl",\
                                   formationReaction = [("1Cl-",1),("1Na+",1)],\
                                   logK25 = -0.5,\
                                   name = "NaCl",)
molarMassNaCl = naClSSp.getMolarMass(molarMassDico)
#
h2OSSp = AqueousSecondarySpecies(symbol = "H2O",\
                                   formationReaction = [("H+",2),("0--",1)],\
                                   logK25 = 0.0,\
                                   name = "H2O",)
molarMassH2O = h2OSSp.getMolarMass(molarMassDico)
#
kClSSp = AqueousSecondarySpecies(symbol = "KCl",\
                                 formationReaction = [("1Cl-",1),("1K+",1)],\