Plugins
Loading...
Searching...
No Matches
ug::smile Namespace Reference

Classes

class  Cloud
 
struct  Functionality
 
class  SmartKd
 
class  SmartRescaler
 
struct  t_gamma
 

Functions

static double Al_Cc (double D, double pH)
 
void Compute_I_D (double s, double Ca, double Al, double DIC, double SO4, double *I, double *D, t_gamma *gamma)
 
void Compute_I_pH (number s, number H, number Ca, number Al, number DIC, number SO4, number &I, number &pH)
 
static double Compute_pH (double H, double OH, double Delta_H, double Delta_OH, double *logIWc, const t_gamma *gamma)
 
static double logIAP_Cc (double Ca, double DIC, double pH, const t_gamma *gamma)
 
static double logIAP_gG (double Al, double pH, const t_gamma *gamma)
 
number pH_of_sHD (number s, number H, number D)
 
static double Sig_Al_OH (double pH)
 
static double Sig_CO3_H (double pH)
 
template<typename TGridFunction >
static void SmartChem (SmartPtr< TGridFunction > spGF, SmartPtr< TGridFunction > spGF2, const char *nuclides, Cloud *cloud, number porosity, number rock_density)
 
template<typename TGridFunction >
static void SmartChemEquilibrate (SmartPtr< TGridFunction > spGF, SmartPtr< TGridFunction > spGF2)
 
int SmartEquilibrate (double &H_T, double &OH_T, double &s, double &Ca_T, double &DIC_T, double &SO4_T, double &Al_T, double &Cc_T)
 
static void Update_H_OH (double *H, double *OH, double pH, const t_gamma *gamma)
 

Variables

const double ADH = 0.5114
 
const double epsAlCl = 0.33
 
const double epsAlOH2Cl = -0.27
 
const double epsAlOH4Na = -0.07
 
const double epsAlOHCl = 0.09
 
const double epsCaCl = 0.14
 
const double epsCO3Na = -0.08
 
const double epsHCl = 0.12
 
const double epsHCO3Na = 0.0
 
const double epsOHNa = 0.04
 
const double KAlOH = exp10(logKAlOH)
 
const double KAlOH2 = exp10(logKAlOH2)
 
const double KAlOH3 = exp10(logKAlOH3)
 
const double KAlOH4 = exp10(logKAlOH4)
 
const double KCO3 = exp10(logKCO3)
 
const double KHCO3 = exp10(logKHCO3)
 
const double logIW_0 = -13.9995
 
const double logKAlOH = -4.9573
 
const double logKAlOH2 = -10.5943
 
const double logKAlOH3 = -16.4328
 
const double logKAlOH4 = -22.8797
 
const double logKCO3 = 10.3289
 
const double logKHCO3 = 16.6808
 
const double logKspCc = - 8.481
 
const double logKspgG = 10.35
 
const double NaCl_sat = 5428.78
 

Function Documentation

◆ Al_Cc()

static double ug::smile::Al_Cc ( double  D,
double  pH 
)
static

References exp10, logKAlOH, logKAlOH2, logKAlOH3, logKAlOH4, and logKspgG.

Referenced by SmartEquilibrate().

◆ Compute_I_D()

void ug::smile::Compute_I_D ( double  s,
double  Ca,
double  Al,
double  DIC,
double  SO4,
double *  I,
double *  D,
t_gamma gamma 
)

◆ Compute_I_pH()

void ug::smile::Compute_I_pH ( number  s,
number  H,
number  Ca,
number  Al,
number  DIC,
number  SO4,
number I,
number pH 
)

◆ Compute_pH()

static double ug::smile::Compute_pH ( double  H,
double  OH,
double  Delta_H,
double  Delta_OH,
double *  logIWc,
const t_gamma gamma 
)
static

◆ logIAP_Cc()

static double ug::smile::logIAP_Cc ( double  Ca,
double  DIC,
double  pH,
const t_gamma gamma 
)
static

◆ logIAP_gG()

static double ug::smile::logIAP_gG ( double  Al,
double  pH,
const t_gamma gamma 
)
static

◆ pH_of_sHD()

number ug::smile::pH_of_sHD ( number  s,
number  H,
number  D 
)

References epsHCl, and s.

Referenced by Compute_I_pH(), SmartChem(), and SmartEquilibrate().

◆ Sig_Al_OH()

static double ug::smile::Sig_Al_OH ( double  pH)
static

Referenced by SmartEquilibrate().

◆ Sig_CO3_H()

static double ug::smile::Sig_CO3_H ( double  pH)
static

Referenced by SmartEquilibrate().

◆ SmartChem()

template<typename TGridFunction >
static void ug::smile::SmartChem ( SmartPtr< TGridFunction >  spGF,
SmartPtr< TGridFunction >  spGF2,
const char *  nuclides,
Cloud cloud,
number  porosity,
number  rock_density 
)
static

Evaluates the chemical equilibrium at all the grid vertices of a given subset. Rescale the components according to the mass change.

References CLOUD_MAX_NUCLIDES, Compute_I_D(), Compute_I_pH(), ug::DoFRef(), ug::GridObject::grid_data_index(), ug::smile::Cloud::interpolate(), pH_of_sHD(), s, SmartEquilibrate(), UG_LOG, and UG_THROW.

◆ SmartChemEquilibrate()

template<typename TGridFunction >
static void ug::smile::SmartChemEquilibrate ( SmartPtr< TGridFunction >  spGF,
SmartPtr< TGridFunction >  spGF2 
)
static

Evaluates the chemical equilibrium at all the grid vertices of a given subset

References ug::DoFRef(), ug::GridObject::grid_data_index(), NaCl_sat, s, SmartEquilibrate(), UG_LOG, and UG_THROW.

◆ SmartEquilibrate()

int ug::smile::SmartEquilibrate ( double &  H_T,
double &  OH_T,
double &  s,
double &  Ca_T,
double &  DIC_T,
double &  SO4_T,
double &  Al_T,
double &  Cc_T 
)

◆ Update_H_OH()

static void ug::smile::Update_H_OH ( double *  H,
double *  OH,
double  pH,
const t_gamma gamma 
)
static

Variable Documentation

◆ ADH

const double ug::smile::ADH = 0.5114

Referenced by Compute_I_D(), and Compute_I_pH().

◆ epsAlCl

const double ug::smile::epsAlCl = 0.33

Referenced by Compute_I_D().

◆ epsAlOH2Cl

const double ug::smile::epsAlOH2Cl = -0.27

Referenced by Compute_I_D().

◆ epsAlOH4Na

const double ug::smile::epsAlOH4Na = -0.07

Referenced by Compute_I_D().

◆ epsAlOHCl

const double ug::smile::epsAlOHCl = 0.09

Referenced by Compute_I_D().

◆ epsCaCl

const double ug::smile::epsCaCl = 0.14

Referenced by Compute_I_D().

◆ epsCO3Na

const double ug::smile::epsCO3Na = -0.08

Referenced by Compute_I_D().

◆ epsHCl

const double ug::smile::epsHCl = 0.12

Referenced by Compute_I_D(), and pH_of_sHD().

◆ epsHCO3Na

const double ug::smile::epsHCO3Na = 0.0

Referenced by Compute_I_D().

◆ epsOHNa

const double ug::smile::epsOHNa = 0.04

Referenced by Compute_I_D().

◆ KAlOH

const double ug::smile::KAlOH = exp10(logKAlOH)

Referenced by logIAP_gG().

◆ KAlOH2

const double ug::smile::KAlOH2 = exp10(logKAlOH2)

Referenced by logIAP_gG().

◆ KAlOH3

const double ug::smile::KAlOH3 = exp10(logKAlOH3)

Referenced by logIAP_gG().

◆ KAlOH4

const double ug::smile::KAlOH4 = exp10(logKAlOH4)

Referenced by logIAP_gG().

◆ KCO3

const double ug::smile::KCO3 = exp10(logKCO3)

Referenced by logIAP_Cc().

◆ KHCO3

const double ug::smile::KHCO3 = exp10(logKHCO3)

Referenced by logIAP_Cc().

◆ logIW_0

const double ug::smile::logIW_0 = -13.9995

Referenced by Compute_pH(), and Update_H_OH().

◆ logKAlOH

const double ug::smile::logKAlOH = -4.9573

Referenced by Al_Cc().

◆ logKAlOH2

const double ug::smile::logKAlOH2 = -10.5943

Referenced by Al_Cc().

◆ logKAlOH3

const double ug::smile::logKAlOH3 = -16.4328

Referenced by Al_Cc().

◆ logKAlOH4

const double ug::smile::logKAlOH4 = -22.8797

Referenced by Al_Cc().

◆ logKCO3

const double ug::smile::logKCO3 = 10.3289

◆ logKHCO3

const double ug::smile::logKHCO3 = 16.6808

◆ logKspCc

const double ug::smile::logKspCc = - 8.481

Referenced by SmartEquilibrate().

◆ logKspgG

const double ug::smile::logKspgG = 10.35

Referenced by Al_Cc(), and SmartEquilibrate().

◆ NaCl_sat

const double ug::smile::NaCl_sat = 5428.78