Hauptseite | Liste aller Namensbereiche | Klassenhierarchie | Auflistung der Klassen | Verzeichnisse | Auflistung der Dateien | Klassen-Elemente | Datei-Elemente

Loesungspunkt Klassenreferenz

#include <qrh_Loesungspunkt.hpp>

Abgeleitet von Knoten.

Klassendiagramm für Loesungspunkt:

Inheritance graph
[Legende]
Zusammengehörigkeiten von Loesungspunkt:

Collaboration graph
[Legende]
Aufstellung aller Elemente

Öffentliche Typen

enum  Dichtealgorithmen { Delphi_SalzTPU_dichte = 0, Fortran_Rho = 1, Ezrochi = 2, Durchschnitt = 3 }

Öffentliche Methoden

double getDichte (enum Dichtealgorithmen Algorithmenname)
void setDichte (enum Dichtealgorithmen Algorithmenname, double Dichtewert)
void generateDichte (enum Dichtealgorithmen Algorithmenname, monninparameter *monninparams)
void generateDichte (monninparameter *monninparams)
double get_2NaCl_MProz (void)
double get_2KCl_MProz (void)
double get_MgCl2_MProz (void)
double get_MgSO4_MProz (void)
double get_Na2SO4_MProz (void)
void print_Molgewichte_AK (void)
void print_molpro1000molH2O_AK (void)
void print_massproz_AK (void)
void update_from_Jaenecke (const double temper, const Vector3D &BaryKoord, const double &Jaen_H2O, const double &Jaen_2Na)
 Loesungspunkt (string LoesungspunktData, double temper, monninparameter *monninparams)
 Loesungspunkt (double temper, Vector3D BaryKoord, double Jaen_H2O, double Jaen_2Na, monninparameter *monninparams)
virtual ~Loesungspunkt ()

Geschützte Methoden

void setMolgewichteAK (void)
void setMolgewichteVB (void)
void konv_mol_in_mass_VB (void)
void konv_Verb_Ion_Mol (void)
void konv_mol_in_mass_AK (void)

Private Methoden

double generate_DAns_dichte (void)
double generate_Monnin_dichte (monninparameter *monninparams)
double Monnin_dichte_of_Type (double *Daten, int IType, monninparameter *monninparams)
double generate_Ezrochi_dichte (double temper)
double generate_Durchschnittsdichte (void)

Private Attribute

map< enum Dichtealgorithmen,
double > 
Dichte
map< enum AnionenKationen_MapIndex,
double > 
MolgewichteAK
map< enum Verbindungen_MapIndex,
double > 
MolgewichteVB
map< enum AnionenKationen_MapIndex,
double > 
MolPro1000MolH2O_AK
map< enum Verbindungen_MapIndex,
double > 
MasseAnteil_in_ProzentVB
map< enum AnionenKationen_MapIndex,
double > 
MasseAnteil_in_ProzentAK
double temper

Dokumentation der Aufzählungstypen

enum Loesungspunkt::Dichtealgorithmen
 

Aufzählungswerte:
Delphi_SalzTPU_dichte 
Fortran_Rho 
Ezrochi 
Durchschnitt 


Beschreibung der Konstruktoren und Destruktoren

Loesungspunkt::Loesungspunkt string  LoesungspunktData,
double  temper,
monninparameter monninparams
 

Loesungspunkt::Loesungspunkt double  temper,
Vector3D  BaryKoord,
double  Jaen_H2O,
double  Jaen_2Na,
monninparameter monninparams
 

Loesungspunkt::~Loesungspunkt  )  [virtual]
 


Dokumentation der Elementfunktionen

double Loesungspunkt::generate_DAns_dichte void   )  [private]
 

Berechnet unter Ausnutzung des Wissens über die prozentuale Gewichtsanteile von Verbindungen die Dichte der Lösung.

Diese Berechnungsmethode der Dichte basiert auf einer erstmals in D'Ans et al. (1940) und später in v.Borstel (1992) beschriebenen Vorgehensweise.

Der Rechenweg verläuft nach der TP-Unit zur Dichteberechnung ueber Polynomial-Fits des Programms "Lauge":

Es war der Kommentar der TP-Unit: (* Reihenfolge der Berechnung nach 'Salz' 03.02.00 Kai H. Schmidt *)

Die Übertragung des Pascal-Codes nach C++ geschah imzuge der Studienarbeit ("Quinview") im Schwerpunkt "Praktische/Angewandte Informatik", durch mich, Robert Hartmann, im Juni 2005.

double Loesungspunkt::generate_Durchschnittsdichte void   )  [private]
 

double Loesungspunkt::generate_Ezrochi_dichte double  temper  )  [private]
 

double Loesungspunkt::generate_Monnin_dichte monninparameter monninparams  )  [private]
 

Berechnet unter Ausnutzung des Wissens über die MasseAnteile von Anionen&Kationen (in %) die Dichte der Lösung.

Das Verfahren wurde im Programm "VOPO", welches in Fortran geschrieben ist -- rho.f --, benutzt.

Original Kommentar:

c ******************************************************************** c c A program for the calculation of the volumetric properties of natural c waters at 25C: density of the solution, partial molal volumes of the c solutes and concentration scales conversion. c Christophe MONNIN, July 1993 c c It is based on the development of Pitzer's ion interaction model c for the volumetric properties of complex electrolyte solutions. c (MONNIN C. (1989), Geochim. Cosmochim. Acta, 53(6),1177-1188) c c ********************************************************************

"Bei der Berechnung nach Monnin sind einige Parameter mehr oder weniger geraten und sollten bei Bedarf geaendert werden koennen" (Kai H. Schmidt, Juni 2005), daher ist es zwingend erforderlich die Parameterdatei "monnin.par" auslesen zu lassen.

Konvertierung in "DichteRho.pas", eine TP-Unit zur Dichteberechnung ueber Pizer-Koefizzienten, durch Kai H. Schmidt (2005).

AnsiC-File "DichteRho.c": Output from p2c 1.21alpha-07.Dec.93, the Pascal-to-C translator From input file "DichteRho.pas"

"DichteRho.c" überarbeitet, aufgesplittet und in die C++ Klassenstruktur eingebettet, dabei habe ich es sinnvoll erachtet, dass das Einlesen der Pitzer-Parameter aus einer Datei nicht von Instanzen dieser Klasse gemacht wird. Das Einlesen dieser Parameter geschieht mit Methoden der Klasse "monnin_parameter", und muss vor dem Aufruf dieser Klasse geschehen sein.

void Loesungspunkt::generateDichte monninparameter monninparams  ) 
 

void Loesungspunkt::generateDichte enum Dichtealgorithmen  Algorithmenname,
monninparameter monninparams
 

double Loesungspunkt::get_2KCl_MProz void   ) 
 

double Loesungspunkt::get_2NaCl_MProz void   ) 
 

double Loesungspunkt::get_MgCl2_MProz void   ) 
 

double Loesungspunkt::get_MgSO4_MProz void   ) 
 

double Loesungspunkt::get_Na2SO4_MProz void   ) 
 

double Loesungspunkt::getDichte enum Dichtealgorithmen  Algorithmenname  ) 
 

void Loesungspunkt::konv_mol_in_mass_AK void   )  [protected]
 

void Loesungspunkt::konv_mol_in_mass_VB void   )  [protected]
 

void Loesungspunkt::konv_Verb_Ion_Mol void   )  [protected]
 

double Loesungspunkt::Monnin_dichte_of_Type double *  Daten,
int  IType,
monninparameter monninparams
[private]
 

void Loesungspunkt::print_massproz_AK void   ) 
 

void Loesungspunkt::print_Molgewichte_AK void   ) 
 

void Loesungspunkt::print_molpro1000molH2O_AK void   ) 
 

void Loesungspunkt::setDichte enum Dichtealgorithmen  Algorithmenname,
double  Dichtewert
 

void Loesungspunkt::setMolgewichteAK void   )  [protected]
 

void Loesungspunkt::setMolgewichteVB void   )  [protected]
 

void Loesungspunkt::update_from_Jaenecke const double  temper,
const Vector3D BaryKoord,
const double &  Jaen_H2O,
const double &  Jaen_2Na
 


Dokumentation der Datenelemente

map<enum Dichtealgorithmen,double> Loesungspunkt::Dichte [private]
 

map<enum AnionenKationen_MapIndex,double> Loesungspunkt::MasseAnteil_in_ProzentAK [private]
 

map<enum Verbindungen_MapIndex,double> Loesungspunkt::MasseAnteil_in_ProzentVB [private]
 

map<enum AnionenKationen_MapIndex,double> Loesungspunkt::MolgewichteAK [private]
 

map<enum Verbindungen_MapIndex,double> Loesungspunkt::MolgewichteVB [private]
 

map<enum AnionenKationen_MapIndex,double> Loesungspunkt::MolPro1000MolH2O_AK [private]
 

double Loesungspunkt::temper [private]
 


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien:
Erzeugt am Wed Apr 19 00:19:34 2006 für Quinview von  doxygen 1.4.4