#include <qrh_Loesungspunkt.hpp>
Abgeleitet von Knoten.
Klassendiagramm für Loesungspunkt:
Ö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 |
|
|
|
|
|
|
|
|
|
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. |
|
|
|
|
|
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. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|