All Debye-Huckel tests use a shared copy of the test executable

This commit is contained in:
Ray Speth 2012-02-22 00:17:12 +00:00
parent ce5abaca0e
commit de32aba15d
22 changed files with 31 additions and 751 deletions

View file

@ -107,31 +107,37 @@ class CompileAndTest(Test):
return Test.clean(self, env, files=files)
CompileAndTest('DH_graph_1',
pjoin('cathermo', 'DH_graph_1'),
'DH_graph_1', 'DH_NaCl_dilute_blessed.csv',
artifacts=['DH_graph_1.log'],
arguments='DH_NaCl_dilute.xml')
CompileAndTest('DH_graph_acommon',
pjoin('cathermo', 'DH_graph_acommon'),
'DH_graph_acommon', 'DH_NaCl_acommon_blessed.csv',
artifacts=['DH_graph_1.log'],
arguments='DH_NaCl_acommon.xml')
CompileAndTest('DH_graph_bdotak',
pjoin('cathermo', 'DH_graph_bdotak'),
'DH_graph_bdotak', 'DH_NaCl_bdotak_blessed.csv',
artifacts=['DH_graph_1.log'],
arguments='DH_NaCl_bdotak.xml')
CompileAndTest('DH_graph_NM',
pjoin('cathermo', 'DH_graph_NM'),
'DH_graph_NM', 'DH_NaCl_NM_blessed.csv',
artifacts=['DH_graph_1.log'],
arguments='DH_NaCl_NM.xml')
CompileAndTest('DH_graph_Pitzer',
pjoin('cathermo', 'DH_graph_Pitzer'),
'DH_graph_Pitzer', 'DH_NaCl_Pitzer_blessed.csv',
artifacts=['DH_graph_1.log'],
arguments='DH_NaCl_Pitzer.xml')
dhGraph = localenv.Program('cathermo/DH_graph_1/DH_graph_1',
mglob(env, 'cathermo/DH_graph_1', 'cpp'),
LIBS=env['cantera_libs'])
dhGraph_name = dhGraph[0].name
Test('DH_graph_dilute',
pjoin('cathermo', 'DH_graph_1'),
dhGraph, 'DH_NaCl_dilute_blessed.csv',
artifacts=['DH_graph_1.log', dhGraph_name],
arguments='DH_NaCl_dilute.xml')
Test('DH_graph_acommon',
pjoin('cathermo', 'DH_graph_1'),
dhGraph, 'DH_NaCl_acommon_blessed.csv',
artifacts=['DH_graph_1.log', dhGraph_name],
arguments='DH_NaCl_acommon.xml')
Test('DH_graph_bdotak',
pjoin('cathermo', 'DH_graph_1'),
dhGraph, 'DH_NaCl_bdotak_blessed.csv',
artifacts=['DH_graph_1.log', dhGraph_name],
arguments='DH_NaCl_bdotak.xml')
Test('DH_graph_NM',
pjoin('cathermo', 'DH_graph_1'),
dhGraph, 'DH_NaCl_NM_blessed.csv',
artifacts=['DH_graph_1.log', dhGraph_name],
arguments='DH_NaCl_NM.xml')
Test('DH_graph_Pitzer',
pjoin('cathermo', 'DH_graph_1'),
dhGraph, 'DH_NaCl_Pitzer_blessed.csv',
artifacts=['DH_graph_1.log', dhGraph_name],
arguments='DH_NaCl_Pitzer.xml')
CompileAndTest('HMW_dupl_test',
pjoin('cathermo', 'HMW_dupl_test'),
'HMW_dupl_test', 'output_blessed.txt',

View file

@ -10,8 +10,6 @@
using namespace std;
using namespace Cantera;
typedef double doublereal;
void printUsage()
{
cout << "usage: DH_test " << endl;

View file

@ -1,116 +0,0 @@
/**
* @file DH_graph_1
*/
#include "fileLog.h"
#include "cantera/thermo/DebyeHuckel.h"
#include <cstdio>
using namespace std;
using namespace Cantera;
void printUsage()
{
cout << "usage: DH_test " << endl;
cout <<" -> Everything is hardwired" << endl;
}
void pAtable(DebyeHuckel* DH)
{
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double activities[100];
double moll[100];
DH->getMolalityActivityCoefficients(acMol);
DH->getMoleFractions(mf);
DH->getActivities(activities);
DH->getMolalities(moll);
string sName;
printf(" Name Activity ActCoeffMolal "
" MoleFract Molality\n");
for (int k = 0; k < nsp; k++) {
sName = DH->speciesName(k);
printf("%16s %13g %13g %13g %13g\n",
sName.c_str(), activities[k], acMol[k], mf[k], moll[k]);
}
}
int main(int argc, char** argv)
{
int retn = 0;
int i;
string fName = "DH_graph_1.log";
fileLog* fl = new fileLog(fName);
try {
char iFile[80];
strcpy(iFile, "DH_NaCl.xml");
if (argc > 1) {
strcpy(iFile, argv[1]);
}
setLogger(fl);
DebyeHuckel* DH = new DebyeHuckel(iFile, "NaCl_electrolyte");
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double moll[100];
DH->getMoleFractions(mf);
string sName;
DH->setState_TP(298.15, 1.01325E5);
int i1 = DH->speciesIndex("Na+");
int i2 = DH->speciesIndex("Cl-");
int i3 = DH->speciesIndex("H2O(L)");
for (i = 1; i < nsp; i++) {
moll[i] = 0.0;
}
DH->setMolalities(moll);
double Itop = 10.;
double Ibot = 0.0;
double ISQRTtop = sqrt(Itop);
double ISQRTbot = sqrt(Ibot);
double ISQRT;
double Is = 0.0;
int its = 100;
printf(" Is, sqrtIs, meanAc,"
" log10(meanAC), acMol_Na+,"
", acMol_Cl-, ac_Water\n");
for (i = 0; i < its; i++) {
ISQRT = ISQRTtop*((double)i)/(its - 1.0)
+ ISQRTbot*(1.0 - (double)i/(its - 1.0));
Is = ISQRT * ISQRT;
moll[i1] = Is;
moll[i2] = Is;
DH->setMolalities(moll);
DH->getMolalityActivityCoefficients(acMol);
double meanAC = sqrt(acMol[i1] * acMol[i2]);
printf("%15g, %15g, %15g, %15g, %15g, %15g, %15g\n",
Is, ISQRT, meanAC, log10(meanAC),
acMol[i1], acMol[i2], acMol[i3]);
}
delete DH;
DH = 0;
/*
* This delete the file logger amongst other things.
*/
Cantera::appdelete();
return retn;
} catch (CanteraError) {
showErrors();
if (fl) {
delete fl;
}
return -1;
}
}

View file

@ -1,23 +0,0 @@
cc_sources = DH_graph_1.cpp
INC = -I. -I$(top_builddir)/build/include/
AM_CPPFLAGS = $(INC)
AM_CXXFLAGS = $(AM_CPPFLAGS)
LINK = -lctcxx -luser -loneD -lzeroD -lequil -lkinetics -ltransport -lthermo
LINK += -lctnumerics -lctmath -ltpx -lctspectra -lconverters -lctbase -lcvode
LINK += -lctlapack -lctblas -lctf2c -lm -lstdc++
AM_LDFLAGS = -L$(top_builddir)/build/lib/
LIBS = $(LINK)
bin_PROGRAMS = DH_graph_1
library_includedir = $(INC)
#-----------------------
# Cantera DH graph test
#-----------------------
DH_graph_1_SOURCES = $(cc_sources)
TESTS_ENVIRONMENT =
TESTS = runtest

View file

@ -1,42 +0,0 @@
#!/bin/sh
#
# run_test
#
##########################################################################
# A couple of validity checks
if test ! $# -eq 0 ; then
echo 'usage: runtest'
echo ' '
exit -1
fi
temp_success="0"
/bin/rm -f output.txt outputa.txt
##########################################################################
CANTERA_DATA=${CANTERA_DATA:=../../../data/inputs}; export CANTERA_DATA
CANTERA_BIN=${CANTERA_BIN:=../../../bin}
prog=DH_graph_1
if test ! -x $prog ; then
echo $prog ' does not exist'
exit -1
fi
##########################################################################
/bin/rm -f test.out test.diff DH_NaCl_NM.csv
./$prog DH_NaCl_NM.xml > DH_NaCl_NM.csv
retnStat=$?
diff DH_NaCl_NM.csv DH_NaCl_NM_blessed.csv > output.txt
zres=$?
if test "$zres" = "0" -a "$retnStat" = "0"; then
echo "successful diff comparison on $prog NM test"
return 0
else
echo "unsuccessful diff comparison on $prog NM test"
echo "FAILED" > csvCode.txt
temp_success="0"
return 1
fi

View file

@ -1,116 +0,0 @@
/**
* @file DH_graph_1
*/
#include "fileLog.h"
#include "cantera/thermo/DebyeHuckel.h"
#include <cstdio>
using namespace std;
using namespace Cantera;
void printUsage()
{
cout << "usage: DH_test " << endl;
cout <<" -> Everything is hardwired" << endl;
}
void pAtable(DebyeHuckel* DH)
{
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double activities[100];
double moll[100];
DH->getMolalityActivityCoefficients(acMol);
DH->getMoleFractions(mf);
DH->getActivities(activities);
DH->getMolalities(moll);
string sName;
printf(" Name Activity ActCoeffMolal "
" MoleFract Molality\n");
for (int k = 0; k < nsp; k++) {
sName = DH->speciesName(k);
printf("%16s %13g %13g %13g %13g\n",
sName.c_str(), activities[k], acMol[k], mf[k], moll[k]);
}
}
int main(int argc, char** argv)
{
int retn = 0;
int i;
string fName = "DH_graph_1.log";
fileLog* fl = new fileLog(fName);
try {
char iFile[80];
strcpy(iFile, "DH_NaCl.xml");
if (argc > 1) {
strcpy(iFile, argv[1]);
}
setLogger(fl);
DebyeHuckel* DH = new DebyeHuckel(iFile, "NaCl_electrolyte");
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double moll[100];
DH->getMoleFractions(mf);
string sName;
DH->setState_TP(298.15, 1.01325E5);
int i1 = DH->speciesIndex("Na+");
int i2 = DH->speciesIndex("Cl-");
int i3 = DH->speciesIndex("H2O(L)");
for (i = 1; i < nsp; i++) {
moll[i] = 0.0;
}
DH->setMolalities(moll);
double Itop = 10.;
double Ibot = 0.0;
double ISQRTtop = sqrt(Itop);
double ISQRTbot = sqrt(Ibot);
double ISQRT;
double Is = 0.0;
int its = 100;
printf(" Is, sqrtIs, meanAc,"
" log10(meanAC), acMol_Na+,"
", acMol_Cl-, ac_Water\n");
for (i = 0; i < its; i++) {
ISQRT = ISQRTtop*((double)i)/(its - 1.0)
+ ISQRTbot*(1.0 - (double)i/(its - 1.0));
Is = ISQRT * ISQRT;
moll[i1] = Is;
moll[i2] = Is;
DH->setMolalities(moll);
DH->getMolalityActivityCoefficients(acMol);
double meanAC = sqrt(acMol[i1] * acMol[i2]);
printf("%15g, %15g, %15g, %15g, %15g, %15g, %15g\n",
Is, ISQRT, meanAC, log10(meanAC),
acMol[i1], acMol[i2], acMol[i3]);
}
delete DH;
DH = 0;
/*
* This delete the file logger amongst other things.
*/
Cantera::appdelete();
return retn;
} catch (CanteraError) {
showErrors();
if (fl) {
delete fl;
}
return -1;
}
}

View file

@ -1,23 +0,0 @@
cc_sources = DH_graph_1.cpp
INC = -I. -I$(top_builddir)/build/include/
AM_CPPFLAGS = $(INC)
AM_CXXFLAGS = $(AM_CPPFLAGS)
LINK = -lctcxx -luser -loneD -lzeroD -lequil -lkinetics -ltransport -lthermo
LINK += -lctnumerics -lctmath -ltpx -lctspectra -lconverters -lctbase -lcvode
LINK += -lctlapack -lctblas -lctf2c -lm -lstdc++
AM_LDFLAGS = -L$(top_builddir)/build/lib/
LIBS = $(LINK)
bin_PROGRAMS = DH_graph_1
library_includedir = $(INC)
#-----------------------
# Cantera DH graph test
#-----------------------
DH_graph_1_SOURCES = $(cc_sources)
TESTS_ENVIRONMENT =
TESTS = runtest

View file

@ -1,42 +0,0 @@
#!/bin/sh
#
# run_test
#
##########################################################################
# A couple of validity checks
if test ! $# -eq 0 ; then
echo 'usage: runtest'
echo ' '
exit -1
fi
temp_success="0"
/bin/rm -f output.txt outputa.txt
##########################################################################
CANTERA_DATA=${CANTERA_DATA:=../../../data/inputs}; export CANTERA_DATA
CANTERA_BIN=${CANTERA_BIN:=../../../bin}
prog=DH_graph_1
if test ! -x $prog ; then
echo $prog ' does not exist'
exit -1
fi
##########################################################################
/bin/rm -f test.out test.diff DH_NaCl_Pitzer.csv
./$prog DH_NaCl_Pitzer.xml > DH_NaCl_Pitzer.csv
retnStat=$?
diff DH_NaCl_Pitzer.csv DH_NaCl_Pitzer_blessed.csv > output.txt
zres=$?
if test "$zres" = "0" -a "$retnStat" = "0"; then
echo "successful diff comparison on $prog Pitzer test"
return 0
else
echo "unsuccessful diff comparison on $prog Pitzer test"
echo "FAILED" > csvCode.txt
temp_success="0"
return 1
fi

View file

@ -1,116 +0,0 @@
/**
* @file DH_graph_1
*/
#include "fileLog.h"
#include "cantera/thermo/DebyeHuckel.h"
#include <cstdio>
using namespace std;
using namespace Cantera;
void printUsage()
{
cout << "usage: DH_test " << endl;
cout <<" -> Everything is hardwired" << endl;
}
void pAtable(DebyeHuckel* DH)
{
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double activities[100];
double moll[100];
DH->getMolalityActivityCoefficients(acMol);
DH->getMoleFractions(mf);
DH->getActivities(activities);
DH->getMolalities(moll);
string sName;
printf(" Name Activity ActCoeffMolal "
" MoleFract Molality\n");
for (int k = 0; k < nsp; k++) {
sName = DH->speciesName(k);
printf("%16s %13g %13g %13g %13g\n",
sName.c_str(), activities[k], acMol[k], mf[k], moll[k]);
}
}
int main(int argc, char** argv)
{
int retn = 0;
int i;
string fName = "DH_graph_1.log";
fileLog* fl = new fileLog(fName);
try {
char iFile[80];
strcpy(iFile, "DH_NaCl.xml");
if (argc > 1) {
strcpy(iFile, argv[1]);
}
setLogger(fl);
DebyeHuckel* DH = new DebyeHuckel(iFile, "NaCl_electrolyte");
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double moll[100];
DH->getMoleFractions(mf);
string sName;
DH->setState_TP(298.15, 1.01325E5);
int i1 = DH->speciesIndex("Na+");
int i2 = DH->speciesIndex("Cl-");
int i3 = DH->speciesIndex("H2O(L)");
for (i = 1; i < nsp; i++) {
moll[i] = 0.0;
}
DH->setMolalities(moll);
double Itop = 10.;
double Ibot = 0.0;
double ISQRTtop = sqrt(Itop);
double ISQRTbot = sqrt(Ibot);
double ISQRT;
double Is = 0.0;
int its = 100;
printf(" Is, sqrtIs, meanAc,"
" log10(meanAC), acMol_Na+,"
", acMol_Cl-, ac_Water\n");
for (i = 0; i < its; i++) {
ISQRT = ISQRTtop*((double)i)/(its - 1.0)
+ ISQRTbot*(1.0 - (double)i/(its - 1.0));
Is = ISQRT * ISQRT;
moll[i1] = Is;
moll[i2] = Is;
DH->setMolalities(moll);
DH->getMolalityActivityCoefficients(acMol);
double meanAC = sqrt(acMol[i1] * acMol[i2]);
printf("%15g, %15g, %15g, %15g, %15g, %15g, %15g\n",
Is, ISQRT, meanAC, log10(meanAC),
acMol[i1], acMol[i2], acMol[i3]);
}
delete DH;
DH = 0;
/*
* This delete the file logger amongst other things.
*/
Cantera::appdelete();
return retn;
} catch (CanteraError) {
showErrors();
if (fl) {
delete fl;
}
return -1;
}
}

View file

@ -1,23 +0,0 @@
cc_sources = DH_graph_1.cpp
INC = -I. -I$(top_builddir)/build/include/
AM_CPPFLAGS = $(INC)
AM_CXXFLAGS = $(AM_CPPFLAGS)
LINK = -lctcxx -luser -loneD -lzeroD -lequil -lkinetics -ltransport -lthermo
LINK += -lctnumerics -lctmath -ltpx -lctspectra -lconverters -lctbase -lcvode
LINK += -lctlapack -lctblas -lctf2c -lm -lstdc++
AM_LDFLAGS = -L$(top_builddir)/build/lib/
LIBS = $(LINK)
bin_PROGRAMS = DH_graph_1
library_includedir = $(INC)
#-----------------------
# Cantera DH graph test
#-----------------------
DH_graph_1_SOURCES = $(cc_sources)
TESTS_ENVIRONMENT =
TESTS = runtest

View file

@ -1,42 +0,0 @@
#!/bin/sh
#
# run_test
#
##########################################################################
# A couple of validity checks
if test ! $# -eq 0 ; then
echo 'usage: runtest'
echo ' '
exit -1
fi
temp_success="0"
/bin/rm -f output.txt outputa.txt
##########################################################################
CANTERA_DATA=${CANTERA_DATA:=../../../data/inputs}; export CANTERA_DATA
CANTERA_BIN=${CANTERA_BIN:=../../../bin}
prog=DH_graph_1
if test ! -x $prog ; then
echo $prog ' does not exist'
exit -1
fi
##########################################################################
/bin/rm -f test.out test.diff DH_NaCl_acommon.csv
./$prog DH_NaCl_acommon.xml > DH_NaCl_acommon.csv
retnStat=$?
diff DH_NaCl_acommon.csv DH_NaCl_acommon_blessed.csv > output.txt
zres=$?
if test "$zres" = "0" -a "$retnStat" = "0"; then
echo "successful diff comparison on $prog _acommon test"
return 0
else
echo "unsuccessful diff comparison on $prog _acommon test"
echo "FAILED" > csvCode.txt
temp_success="0"
return 1
fi

View file

@ -1,116 +0,0 @@
/**
* @file DH_graph_1
*/
#include "fileLog.h"
#include "cantera/thermo/DebyeHuckel.h"
#include <cstdio>
using namespace std;
using namespace Cantera;
void printUsage()
{
cout << "usage: DH_test " << endl;
cout <<" -> Everything is hardwired" << endl;
}
void pAtable(DebyeHuckel* DH)
{
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double activities[100];
double moll[100];
DH->getMolalityActivityCoefficients(acMol);
DH->getMoleFractions(mf);
DH->getActivities(activities);
DH->getMolalities(moll);
string sName;
printf(" Name Activity ActCoeffMolal "
" MoleFract Molality\n");
for (int k = 0; k < nsp; k++) {
sName = DH->speciesName(k);
printf("%16s %13g %13g %13g %13g\n",
sName.c_str(), activities[k], acMol[k], mf[k], moll[k]);
}
}
int main(int argc, char** argv)
{
int retn = 0;
int i;
string fName = "DH_graph_1.log";
fileLog* fl = new fileLog(fName);
try {
char iFile[80];
strcpy(iFile, "DH_NaCl.xml");
if (argc > 1) {
strcpy(iFile, argv[1]);
}
setLogger(fl);
DebyeHuckel* DH = new DebyeHuckel(iFile, "NaCl_electrolyte");
int nsp = DH->nSpecies();
double acMol[100];
double mf[100];
double moll[100];
DH->getMoleFractions(mf);
string sName;
DH->setState_TP(298.15, 1.01325E5);
int i1 = DH->speciesIndex("Na+");
int i2 = DH->speciesIndex("Cl-");
int i3 = DH->speciesIndex("H2O(L)");
for (i = 1; i < nsp; i++) {
moll[i] = 0.0;
}
DH->setMolalities(moll);
double Itop = 10.;
double Ibot = 0.0;
double ISQRTtop = sqrt(Itop);
double ISQRTbot = sqrt(Ibot);
double ISQRT;
double Is = 0.0;
int its = 100;
printf(" Is, sqrtIs, meanAc,"
" log10(meanAC), acMol_Na+,"
", acMol_Cl-, ac_Water\n");
for (i = 0; i < its; i++) {
ISQRT = ISQRTtop*((double)i)/(its - 1.0)
+ ISQRTbot*(1.0 - (double)i/(its - 1.0));
Is = ISQRT * ISQRT;
moll[i1] = Is;
moll[i2] = Is;
DH->setMolalities(moll);
DH->getMolalityActivityCoefficients(acMol);
double meanAC = sqrt(acMol[i1] * acMol[i2]);
printf("%15g, %15g, %15g, %15g, %15g, %15g, %15g\n",
Is, ISQRT, meanAC, log10(meanAC),
acMol[i1], acMol[i2], acMol[i3]);
}
delete DH;
DH = 0;
/*
* This delete the file logger amongst other things.
*/
Cantera::appdelete();
return retn;
} catch (CanteraError) {
showErrors();
if (fl) {
delete fl;
}
return -1;
}
}

View file

@ -1,23 +0,0 @@
cc_sources = DH_graph_1.cpp
INC = -I. -I$(top_builddir)/build/include/
AM_CPPFLAGS = $(INC)
AM_CXXFLAGS = $(AM_CPPFLAGS)
LINK = -lctcxx -luser -loneD -lzeroD -lequil -lkinetics -ltransport -lthermo
LINK += -lctnumerics -lctmath -ltpx -lctspectra -lconverters -lctbase -lcvode
LINK += -lctlapack -lctblas -lctf2c -lm -lstdc++
AM_LDFLAGS = -L$(top_builddir)/build/lib/
LIBS = $(LINK)
bin_PROGRAMS = DH_graph_1
library_includedir = $(INC)
#-----------------------
# Cantera DH graph test
#-----------------------
DH_graph_1_SOURCES = $(cc_sources)
TESTS_ENVIRONMENT =
TESTS = runtest

View file

@ -1,42 +0,0 @@
#!/bin/sh
#
# run_test
#
##########################################################################
# A couple of validity checks
if test ! $# -eq 0 ; then
echo 'usage: runtest'
echo ' '
exit -1
fi
temp_success="0"
/bin/rm -f output.txt outputa.txt
##########################################################################
CANTERA_DATA=${CANTERA_DATA:=../../../data/inputs}; export CANTERA_DATA
CANTERA_BIN=${CANTERA_BIN:=../../../bin}
prog=DH_graph_1
if test ! -x $prog ; then
echo $prog ' does not exist'
exit -1
fi
##########################################################################
/bin/rm -f test.out test.diff DH_NaCl_bdotak.csv
./$prog DH_NaCl_bdotak.xml > DH_NaCl_bdotak.csv
retnStat=$?
diff DH_NaCl_bdotak.csv DH_NaCl_bdotak_blessed.csv > output.txt
zres=$?
if test "$zres" = "0" -a "$retnStat" = "0"; then
echo "successful diff comparison on $prog bdotak test"
return 0
else
echo "unsuccessful diff comparison on $prog bdotak test"
echo "FAILED" > csvCode.txt
temp_success="0"
return 1
fi