diff --git a/test_problems/cathermo/HMW_graph_GvI/.cvsignore b/test_problems/cathermo/HMW_graph_GvI/.cvsignore
new file mode 100644
index 000000000..9aae49af0
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/.cvsignore
@@ -0,0 +1,22 @@
+Makefile
+.cvsignore.swp
+.depends
+Gex_standalone
+HMW_graph_GvT
+HMW_graph_GvT.d
+diff_test.out
+output.txt
+outputa.txt
+sortAlgorithms.d
+T298.csv
+T373.csv
+T423.csv
+T523.csv
+T548.csv
+T573.csv
+HMW_graph_GvI
+HMW_graph_GvI.d
+T473.csv
+test.diff
+test2.diff
+
diff --git a/test_problems/cathermo/HMW_graph_GvI/HMW_NaCl.xml b/test_problems/cathermo/HMW_graph_GvI/HMW_NaCl.xml
new file mode 100644
index 000000000..805cb342a
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/HMW_NaCl.xml
@@ -0,0 +1,243 @@
+
+
+
+
+
+ H2O(L) Cl- H+ Na+ OH-
+
+
+ 298.15
+ 101325.0
+
+ Na+:6.0954
+ Cl-:6.0954
+ H+:2.1628E-9
+ OH-:1.3977E-6
+
+
+
+
+
+
+
+
+
+
+
+ 0.0765, 0.008946, -3.3158E-6,
+ -777.03, -4.4706
+
+ 0.2664, 6.1608E-5, 1.0715E-6
+ 0.0
+ 0.00127, -4.655E-5, 0.0,
+ 33.317, 0.09421
+
+ 2.0
+
+
+
+ 0.1775, 0.0, 0.0, 0.0, 0.0
+ 0.2945, 0.0, 0.0
+ 0.0
+ 0.0008, 0.0, 0.0, 0.0, 0.0
+ 2.0
+
+
+
+ 0.0864, 0.0, 0.0, 0.0, 0.0
+ 0.253, 0.0, 0.0
+ 0.0
+ 0.0044, 0.0, 0.0, 0.0, 0.0
+ 2.0
+
+
+
+ -0.05
+
+
+
+ -0.05
+ -0.006
+
+
+
+ 0.036
+
+
+
+ 0.036
+ -0.004
+
+
+
+ H2O(L)
+
+ O H C Fe Si N Na Cl
+
+
+
+
+
+
+
+
+
+ H:2 O:1
+
+
+
+ 7.255750050E+01, -6.624454020E-01, 2.561987460E-03, -4.365919230E-06,
+ 2.781789810E-09, -4.188654990E+04, -2.882801370E+02
+
+
+
+
+
+ 0.018068
+
+
+
+
+
+ Na:1
+ +1
+
+
+
+ 12321.25829 , -54984.45383 , 91695.71717 ,
+ -54412.15442 , -234.4221295 , -2958.883542 ,
+ 26449.31197
+
+
+
+
+
+
+ 0.00834
+
+
+
+
+
+ Cl:1
+ -1
+
+
+
+ 0.00834
+
+
+
+
+ 56696.2042 , -297835.978 , 581426.549 ,
+ -401759.991 , -804.301136 , -10873.8257 ,
+ 130650.697
+
+
+
+
+
+
+
+ H:1
+ +1
+
+ 0.0
+
+
+
+ 0.0
+ 3
+
+ 0.0 , 0.0, 0.0
+
+
+ 273.15, 298.15 , 623.15
+
+
+
+
+
+
+
+ O:1 H:1
+ -1
+
+
+ 0.00834
+
+
+
+
+ 44674.99961 , -234943.0414 , 460522.8260 ,
+ -320695.1836 , -638.5044716 , -8683.955813 ,
+ 102874.2667
+
+
+
+
+
+
+
+
diff --git a/test_problems/cathermo/HMW_graph_GvI/HMW_graph_GvI.cpp b/test_problems/cathermo/HMW_graph_GvI/HMW_graph_GvI.cpp
new file mode 100644
index 000000000..744cdcb11
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/HMW_graph_GvI.cpp
@@ -0,0 +1,185 @@
+/**
+ *
+ * @file HMW_graph_1.cpp
+ */
+
+/*
+ * $Author$
+ * $Date$
+ * $Revision$
+ */
+#include
+
+#ifdef SRCDIRTREE
+#include "ct_defs.h"
+#include "logger.h"
+#include "HMWSoln.h"
+#else
+
+#include "cantera/Cantera.h"
+
+#include "cantera/kernel/logger.h"
+#include "HMWSoln.h"
+#endif
+
+using namespace Cantera;
+
+class fileLog: public Logger {
+public:
+ fileLog(string fName) {
+ m_fName = fName;
+ m_fs.open(fName.c_str());
+ }
+ virtual void write(const string& msg) {
+ m_fs << msg;
+ }
+ virtual ~fileLog() {
+ m_fs.close();
+ }
+ string m_fName;
+ fstream m_fs;
+};
+
+void printUsage() {
+ cout << "usage: HMW_test " << endl;
+ cout <<" -> Everything is hardwired" << endl;
+}
+
+void pAtable(HMWSoln *HMW) {
+ int nsp = HMW->nSpecies();
+ double acMol[100];
+ double mf[100];
+ double activities[100];
+ double moll[100];
+ for (int i = 0; i < 100; i++) {
+ acMol[i] = 1.0;
+ mf[i] = 0.0;
+ activities[i] = 1.0;
+ moll[i] = 0.0;
+ }
+
+ HMW->getMolalityActivityCoefficients(acMol);
+ HMW->getMoleFractions(mf);
+ HMW->getActivities(activities);
+ HMW->getMolalities(moll);
+ string sName;
+ printf(" Name Activity ActCoeffMolal "
+ " MoleFract Molality\n");
+ for (int k = 0; k < nsp; k++) {
+ sName = HMW->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 commandFile;
+ try {
+
+ char iFile[80];
+ strcpy(iFile, "HMW_NaCl.xml");
+ if (argc > 1) {
+ strcpy(iFile, argv[1]);
+ }
+ double Temp = 273.15 + 275.;
+
+ double aTemp[7];
+ aTemp[0] = 298.15;
+ aTemp[1] = 273.15 + 100.;
+ aTemp[2] = 273.15 + 150.;
+ aTemp[3] = 273.15 + 200.;
+ aTemp[4] = 273.15 + 250.;
+ aTemp[5] = 273.15 + 275.;
+ aTemp[6] = 273.15 + 300.;
+
+ //fileLog *fl = new fileLog("HMW_graph_1.log");
+ //setLogger(fl);
+
+ HMWSoln *HMW = new HMWSoln(iFile, "NaCl_electrolyte");
+
+ int nsp = HMW->nSpecies();
+ double acMol[100];
+ double act[100];
+ double mf[100];
+ double moll[100];
+
+ for (i = 0; i < 100; i++) {
+ acMol[i] = 1.0;
+ act[i] = 1.0;
+ mf[i] = 0.0;
+ moll[i] = 0.0;
+ }
+
+ HMW->getMoleFractions(mf);
+ string sName;
+ FILE *ff;
+ char fname[64];
+
+ for (int jTemp = 0; jTemp < 7; jTemp++) {
+ Temp = aTemp[jTemp];
+ sprintf(fname, "T%3.0f.csv", Temp);
+
+ ff = fopen(fname, "w");
+ HMW->setState_TP(Temp, 1.01325E5);
+ printf(" Temperature = %g K\n", Temp);
+ int i1 = HMW->speciesIndex("Na+");
+ int i2 = HMW->speciesIndex("Cl-");
+ int i3 = HMW->speciesIndex("H2O(L)");
+ for (i = 1; i < nsp; i++) {
+ moll[i] = 0.0;
+ }
+ HMW->setState_TPM(Temp, OneAtm, 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;
+ bool doneSp = false;
+ fprintf(ff," Is, sqrtIs, meanAc,"
+ " log10(meanAC), acMol_Na+,"
+ " acMol_Cl-, ac_Water, act_Water, OsmoticCoeff\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;
+ if (!doneSp) {
+ if (Is > 6.146) {
+ Is = 6.146;
+ doneSp = true;
+ i = i - 1;
+ }
+ }
+ moll[i1] = Is;
+ moll[i2] = Is;
+ HMW->setMolalities(moll);
+ HMW->getMolalityActivityCoefficients(acMol);
+ HMW->getActivities(act);
+ double oc = HMW->osmoticCoefficient();
+ double meanAC = sqrt(acMol[i1] * acMol[i2]);
+ fprintf(ff,"%15g, %15g, %15g, %15g, %15g, %15g, %15g, %15g, %15g\n",
+ Is, ISQRT, meanAC, log10(meanAC),
+ acMol[i1], acMol[i2], acMol[i3], act[i3], oc);
+ }
+ fclose(ff);
+ }
+
+
+ delete HMW;
+ HMW = 0;
+ Cantera::appdelete();
+
+ return retn;
+
+ } catch (CanteraError) {
+
+ showErrors();
+ return -1;
+ }
+}
diff --git a/test_problems/cathermo/HMW_graph_GvI/Makefile.in b/test_problems/cathermo/HMW_graph_GvI/Makefile.in
new file mode 100644
index 000000000..10f71a480
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/Makefile.in
@@ -0,0 +1,113 @@
+#!/bin/sh
+
+############################################################################
+#
+# Makefile to compile and link a C++ application to
+# Cantera.
+#
+#############################################################################
+
+# addition to suffixes
+.SUFFIXES : .d
+
+# the name of the executable program to be created
+PROG_NAME = HMW_graph_GvT
+
+# the object files to be linked together. List those generated from Fortran
+# and from C/C++ separately
+OBJS = HMW_graph_GvT.o sortAlgorithms.o
+
+# Location of the current build. Will assume that tests are run
+# in the source directory tree location
+src_dir_tree = 1
+
+# additional flags to be passed to the linker. If your program
+# requires other external libraries, put them here
+LINK_OPTIONS = @EXTRA_LINK@
+
+#############################################################################
+
+# Check to see whether we are in the msvc++ environment
+os_is_win = @OS_IS_WIN@
+
+# Fortran libraries
+FORT_LIBS = @FLIBS@
+
+# the C++ compiler
+CXX = @CXX@
+
+# C++ compile flags
+ifeq ($(src_dir_tree), 1)
+CXX_FLAGS = -DSRCDIRTREE @CXXFLAGS@
+else
+CXX_FLAGS = @CXXFLAGS@
+endif
+
+# Ending C++ linking libraries
+LCXX_END_LIBS = @LCXX_END_LIBS@
+
+# the directory where the Cantera libraries are located
+CANTERA_LIBDIR=@buildlib@
+
+# required Cantera libraries
+CANTERA_LIBS = @LOCAL_LIBS@ -lctcxx
+
+# the directory where Cantera include files may be found.
+ifeq ($(src_dir_tree), 1)
+CANTERA_INCDIR=../../../Cantera/src
+INCLUDES=-I$(CANTERA_INCDIR) -I$(CANTERA_INCDIR)/thermo
+else
+CANTERA_INCDIR=@ctroot@/build/include/cantera
+INCLUDES=-I$(CANTERA_INCDIR) -I$(CANTERA_INCDIR)/kernel
+endif
+
+# flags passed to the C++ compiler/linker for the linking step
+LCXX_FLAGS = -L$(CANTERA_LIBDIR) @LOCAL_LIB_DIRS@ @CXXFLAGS@
+
+# How to compile C++ source files to object files
+.@CXX_EXT@.@OBJ_EXT@:
+ $(CXX) -c $< $(INCLUDES) $(CXX_FLAGS)
+
+# How to compile the dependency file
+.cpp.d:
+ g++ -MM $(INCLUDES) $(CXX_FLAGS) $*.cpp > $*.d
+
+# List of dependency files to be created
+DEPENDS=$(OBJS:.o=.d)
+
+# Program Name
+PROGRAM = $(PROG_NAME)$(EXE_EXT)
+
+all: $(PROGRAM) .depends
+
+$(PROGRAM): $(OBJS) $(CANTERA_LIBDIR)/libcantera.a \
+ $(CANTERA_LIBDIR)/libcaThermo.a
+ $(CXX) -o $(PROGRAM) $(OBJS) $(LCXX_FLAGS) $(LINK_OPTIONS) \
+ $(CANTERA_LIBS) @LIBS@ $(FORT_LIBS) \
+ $(LCXX_END_LIBS)
+
+
+# depends target -> forces recalculation of dependencies
+depends:
+ @MAKE@ .depends
+
+.depends: $(DEPENDS)
+ cat $(DEPENDS) > .depends
+
+# Do the test -> For the windows vc++ environment, we have to skip checking on
+# whether the program is uptodate, because we don't utilize make
+# in that environment to build programs.
+test:
+ifeq ($(os_is_win), 1)
+else
+ @MAKE@ $(PROGRAM)
+endif
+ ./runtest
+
+clean:
+ $(RM) $(OBJS) $(PROGRAM) $(DEPENDS) .depends
+ ../../../bin/rm_cvsignore
+ (if test -d SunWS_cache ; then \
+ $(RM) -rf SunWS_cache ; \
+ fi )
+
diff --git a/test_problems/cathermo/HMW_graph_GvI/NaCl_Solid.xml b/test_problems/cathermo/HMW_graph_GvI/NaCl_Solid.xml
new file mode 100644
index 000000000..d711be8ff
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/NaCl_Solid.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+ O H C Fe Ca N Na Cl
+
+ NaCl(S)
+
+ 2.165
+
+
+
+
+
+
+
+
+
+
+ Na:1 Cl:1
+
+
+
+ 50.72389, 6.672267, -2.517167,
+ 10.15934, -0.200675, -427.2115,
+ 130.3973
+
+
+
+ 2.165
+
+
+
+
+
diff --git a/test_problems/cathermo/HMW_graph_GvI/README b/test_problems/cathermo/HMW_graph_GvI/README
new file mode 100644
index 000000000..4b3f97dd8
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/README
@@ -0,0 +1,13 @@
+
+Notes on this calculation
+
+Silverster and Pitzer have the following numbers for equilibrium at 25C
+ Delta_G0 = -9.0416 kJ gmol-1
+ m_sat = 6.146
+ meanAC_moll = 1.008
+This table is meant to run through that calculation. at 298.15.
+Thus Delta_G(298.15) should be 0.0. It's -0.00487 kJ/gmol -> very close =).
+
+
+
+
diff --git a/test_problems/cathermo/HMW_graph_GvI/T298_blessed.csv b/test_problems/cathermo/HMW_graph_GvI/T298_blessed.csv
new file mode 100644
index 000000000..e48174cb5
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/T298_blessed.csv
@@ -0,0 +1,102 @@
+ Is, sqrtIs, meanAc, log10(meanAC), acMol_Na+, acMol_Cl-, ac_Water, act_Water, OsmoticCoeff
+ 0, 0, 1, 0, 1, 1, 1, 1, 1
+ 0.0010203, 0.0319422, 0.964727, -0.0155957, 0.964727, 0.964727, 1, 0.999964, 0.988291
+ 0.00408122, 0.0638844, 0.933479, -0.0298955, 0.933479, 0.933479, 1, 0.999856, 0.978042
+ 0.00918274, 0.0958266, 0.905674, -0.043028, 0.905674, 0.905674, 1.00001, 0.999679, 0.96908
+ 0.0163249, 0.127769, 0.880831, -0.0551073, 0.880831, 0.880831, 1.00002, 0.999435, 0.961252
+ 0.0255076, 0.159711, 0.858551, -0.0662341, 0.858551, 0.858551, 1.00004, 0.999123, 0.954426
+ 0.0367309, 0.191653, 0.838499, -0.0764976, 0.838499, 0.838499, 1.00007, 0.998746, 0.948487
+ 0.0499949, 0.223595, 0.820395, -0.0859768, 0.820395, 0.820395, 1.0001, 0.998302, 0.943335
+ 0.0652995, 0.255538, 0.804004, -0.094742, 0.804004, 0.804004, 1.00014, 0.997793, 0.938881
+ 0.0826446, 0.28748, 0.789123, -0.102855, 0.789123, 0.789123, 1.00019, 0.99722, 0.935051
+ 0.10203, 0.319422, 0.775583, -0.110372, 0.775583, 0.775583, 1.00024, 0.99658, 0.931778
+ 0.123457, 0.351364, 0.763237, -0.117341, 0.763237, 0.763237, 1.00031, 0.995876, 0.929004
+ 0.146924, 0.383306, 0.75196, -0.123805, 0.75196, 0.75196, 1.00037, 0.995106, 0.926679
+ 0.172431, 0.415249, 0.741645, -0.129804, 0.741645, 0.741645, 1.00045, 0.994271, 0.924761
+ 0.19998, 0.447191, 0.732199, -0.135371, 0.732199, 0.732199, 1.00053, 0.99337, 0.923212
+ 0.229568, 0.479133, 0.723542, -0.140536, 0.723542, 0.723542, 1.00061, 0.992403, 0.922
+ 0.261198, 0.511075, 0.715605, -0.145326, 0.715605, 0.715605, 1.0007, 0.991369, 0.921099
+ 0.294868, 0.543017, 0.708328, -0.149765, 0.708328, 0.708328, 1.00079, 0.990268, 0.920484
+ 0.330579, 0.57496, 0.701659, -0.153874, 0.701659, 0.701659, 1.00088, 0.9891, 0.920136
+ 0.36833, 0.606902, 0.695552, -0.15767, 0.695552, 0.695552, 1.00097, 0.987864, 0.920038
+ 0.408122, 0.638844, 0.689969, -0.16117, 0.689969, 0.689969, 1.00107, 0.98656, 0.920177
+ 0.449954, 0.670786, 0.684875, -0.164389, 0.684875, 0.684875, 1.00116, 0.985187, 0.920539
+ 0.493827, 0.702728, 0.68024, -0.167338, 0.68024, 0.68024, 1.00125, 0.983744, 0.921117
+ 0.539741, 0.734671, 0.676039, -0.170028, 0.676039, 0.676039, 1.00133, 0.982231, 0.921902
+ 0.587695, 0.766613, 0.672249, -0.17247, 0.672249, 0.672249, 1.00141, 0.980648, 0.922888
+ 0.63769, 0.798555, 0.668852, -0.17467, 0.668852, 0.668852, 1.00149, 0.978992, 0.92407
+ 0.689726, 0.830497, 0.66583, -0.176637, 0.66583, 0.66583, 1.00155, 0.977264, 0.925445
+ 0.743802, 0.862439, 0.663168, -0.178376, 0.663168, 0.663168, 1.0016, 0.975463, 0.92701
+ 0.799918, 0.894382, 0.660855, -0.179894, 0.660855, 0.660855, 1.00165, 0.973587, 0.928763
+ 0.858076, 0.926324, 0.658881, -0.181193, 0.658881, 0.658881, 1.00168, 0.971636, 0.930704
+ 0.918274, 0.958266, 0.657235, -0.182279, 0.657235, 0.657235, 1.00169, 0.969608, 0.932831
+ 0.980512, 0.990208, 0.655912, -0.183155, 0.655912, 0.655912, 1.00168, 0.967503, 0.935146
+ 1.04479, 1.02215, 0.654904, -0.183822, 0.654904, 0.654904, 1.00166, 0.965318, 0.937648
+ 1.11111, 1.05409, 0.654207, -0.184285, 0.654207, 0.654207, 1.00161, 0.963054, 0.94034
+ 1.17947, 1.08603, 0.653818, -0.184543, 0.653818, 0.653818, 1.00154, 0.960709, 0.943221
+ 1.24987, 1.11798, 0.653732, -0.1846, 0.653732, 0.653732, 1.00144, 0.95828, 0.946295
+ 1.32231, 1.14992, 0.653949, -0.184456, 0.653949, 0.653949, 1.0013, 0.955767, 0.949562
+ 1.3968, 1.18186, 0.654468, -0.184112, 0.654468, 0.654468, 1.00114, 0.953169, 0.953025
+ 1.47332, 1.2138, 0.655288, -0.183568, 0.655288, 0.655288, 1.00094, 0.950483, 0.956686
+ 1.55188, 1.24575, 0.656409, -0.182825, 0.656409, 0.656409, 1.0007, 0.947708, 0.960547
+ 1.63249, 1.27769, 0.657833, -0.181884, 0.657833, 0.657833, 1.00042, 0.944842, 0.96461
+ 1.71513, 1.30963, 0.659562, -0.180744, 0.659562, 0.659562, 1.00009, 0.941883, 0.968878
+ 1.79982, 1.34157, 0.661598, -0.179406, 0.661598, 0.661598, 0.999712, 0.93883, 0.973353
+ 1.88654, 1.37351, 0.663944, -0.177869, 0.663944, 0.663944, 0.999283, 0.935681, 0.978038
+ 1.97531, 1.40546, 0.666604, -0.176132, 0.666604, 0.666604, 0.998797, 0.932434, 0.982935
+ 2.06612, 1.4374, 0.669582, -0.174196, 0.669582, 0.669582, 0.998251, 0.929087, 0.988046
+ 2.15896, 1.46934, 0.672883, -0.172061, 0.672883, 0.672883, 0.997641, 0.925637, 0.993373
+ 2.25385, 1.50128, 0.676512, -0.169724, 0.676512, 0.676512, 0.996963, 0.922083, 0.99892
+ 2.35078, 1.53323, 0.680477, -0.167187, 0.680477, 0.680477, 0.996214, 0.918423, 1.00469
+ 2.44975, 1.56517, 0.684782, -0.164448, 0.684782, 0.684782, 0.995388, 0.914655, 1.01068
+ 2.55076, 1.59711, 0.689436, -0.161506, 0.689436, 0.689436, 0.994481, 0.910776, 1.0169
+ 2.65381, 1.62905, 0.694447, -0.158361, 0.694447, 0.694447, 0.99349, 0.906785, 1.02334
+ 2.7589, 1.66099, 0.699822, -0.155013, 0.699822, 0.699822, 0.992409, 0.902679, 1.03002
+ 2.86603, 1.69294, 0.705571, -0.151459, 0.705571, 0.705571, 0.991234, 0.898456, 1.03693
+ 2.97521, 1.72488, 0.711704, -0.1477, 0.711704, 0.711704, 0.989961, 0.894114, 1.04407
+ 3.08642, 1.75682, 0.718232, -0.143735, 0.718232, 0.718232, 0.988585, 0.889651, 1.05145
+ 3.19967, 1.78876, 0.725165, -0.139563, 0.725165, 0.725165, 0.9871, 0.885064, 1.05906
+ 3.31497, 1.82071, 0.732516, -0.135183, 0.732516, 0.732516, 0.985502, 0.880352, 1.06692
+ 3.4323, 1.85265, 0.740298, -0.130594, 0.740298, 0.740298, 0.983786, 0.875513, 1.07502
+ 3.55168, 1.88459, 0.748523, -0.125795, 0.748523, 0.748523, 0.981947, 0.870544, 1.08336
+ 3.67309, 1.91653, 0.757208, -0.120785, 0.757208, 0.757208, 0.97998, 0.865444, 1.09195
+ 3.79655, 1.94847, 0.766366, -0.115564, 0.766366, 0.766366, 0.977879, 0.86021, 1.10079
+ 3.92205, 1.98042, 0.776015, -0.11013, 0.776015, 0.776015, 0.975641, 0.85484, 1.10988
+ 4.04959, 2.01236, 0.786172, -0.104482, 0.786172, 0.786172, 0.973258, 0.849333, 1.11922
+ 4.17917, 2.0443, 0.796855, -0.0986207, 0.796855, 0.796855, 0.970728, 0.843687, 1.12881
+ 4.31078, 2.07624, 0.808084, -0.0925435, 0.808084, 0.808084, 0.968043, 0.8379, 1.13866
+ 4.44444, 2.10819, 0.819879, -0.08625, 0.819879, 0.819879, 0.965199, 0.831971, 1.14876
+ 4.58014, 2.14013, 0.832264, -0.0797391, 0.832264, 0.832264, 0.962191, 0.825897, 1.15912
+ 4.71789, 2.17207, 0.84526, -0.0730099, 0.84526, 0.84526, 0.959014, 0.819678, 1.16975
+ 4.85767, 2.20401, 0.858892, -0.0660612, 0.858892, 0.858892, 0.955662, 0.813313, 1.18063
+ 4.99949, 2.23595, 0.873188, -0.0588922, 0.873188, 0.873188, 0.952131, 0.806799, 1.19178
+ 5.14335, 2.2679, 0.888174, -0.0515018, 0.888174, 0.888174, 0.948415, 0.800135, 1.2032
+ 5.28926, 2.29984, 0.903881, -0.0438888, 0.903881, 0.903881, 0.944509, 0.793322, 1.21488
+ 5.4372, 2.33178, 0.920339, -0.0360524, 0.920339, 0.920339, 0.940409, 0.786358, 1.22683
+ 5.58718, 2.36372, 0.937581, -0.0279912, 0.937581, 0.937581, 0.93611, 0.779242, 1.23906
+ 5.73921, 2.39566, 0.955643, -0.0197044, 0.955643, 0.955643, 0.931607, 0.771973, 1.25155
+ 5.89328, 2.42761, 0.974562, -0.0111906, 0.974562, 0.974562, 0.926896, 0.764553, 1.26433
+ 6.04938, 2.45955, 0.994377, -0.00244891, 0.994377, 0.994377, 0.921972, 0.756979, 1.27737
+ 6.146, 2.49149, 1.00697, 0.00301816, 1.00697, 1.00697, 0.918849, 0.752265, 1.2855
+ 6.20753, 2.49149, 1.01513, 0.00652196, 1.01513, 1.01513, 0.916831, 0.749252, 1.2907
+ 6.36772, 2.52343, 1.03687, 0.0157231, 1.03687, 1.03687, 0.911469, 0.741373, 1.30431
+ 6.52995, 2.55538, 1.05963, 0.0251558, 1.05963, 1.05963, 0.905881, 0.733342, 1.3182
+ 6.69421, 2.58732, 1.08348, 0.0348212, 1.08348, 1.08348, 0.900065, 0.725159, 1.33237
+ 6.86052, 2.61926, 1.10846, 0.0447206, 1.10846, 1.10846, 0.894017, 0.716826, 1.34683
+ 7.02887, 2.6512, 1.13463, 0.0548551, 1.13463, 1.13463, 0.887734, 0.708343, 1.36158
+ 7.19927, 2.68314, 1.16205, 0.0652262, 1.16205, 1.16205, 0.881212, 0.699711, 1.37662
+ 7.3717, 2.71509, 1.19079, 0.0758349, 1.19079, 1.19079, 0.874449, 0.690933, 1.39196
+ 7.54617, 2.74703, 1.22091, 0.0866828, 1.22091, 1.22091, 0.867443, 0.682009, 1.40759
+ 7.72268, 2.77897, 1.25248, 0.0977711, 1.25248, 1.25248, 0.860191, 0.672943, 1.42351
+ 7.90123, 2.81091, 1.28559, 0.109101, 1.28559, 1.28559, 0.852691, 0.663735, 1.43973
+ 8.08183, 2.84286, 1.32031, 0.120675, 1.32031, 1.32031, 0.844943, 0.65439, 1.45626
+ 8.26446, 2.8748, 1.35673, 0.132492, 1.35673, 1.35673, 0.836946, 0.644909, 1.47309
+ 8.44914, 2.90674, 1.39494, 0.144556, 1.39494, 1.39494, 0.828698, 0.635296, 1.49022
+ 8.63585, 2.93868, 1.43505, 0.156868, 1.43505, 1.43505, 0.820199, 0.625554, 1.50766
+ 8.82461, 2.97062, 1.47716, 0.169428, 1.47716, 1.47716, 0.811449, 0.615688, 1.52542
+ 9.01541, 3.00257, 1.52138, 0.182239, 1.52138, 1.52138, 0.80245, 0.6057, 1.54348
+ 9.20824, 3.03451, 1.56784, 0.195302, 1.56784, 1.56784, 0.793201, 0.595596, 1.56187
+ 9.40312, 3.06645, 1.61666, 0.208618, 1.61666, 1.61666, 0.783705, 0.585379, 1.58057
+ 9.60004, 3.09839, 1.66797, 0.222189, 1.66797, 1.66797, 0.773964, 0.575055, 1.59959
+ 9.799, 3.13034, 1.72194, 0.236018, 1.72194, 1.72194, 0.763979, 0.564629, 1.61893
+ 10, 3.16228, 1.77871, 0.250104, 1.77871, 1.77871, 0.753755, 0.554107, 1.6386
diff --git a/test_problems/cathermo/HMW_graph_GvI/T523_blessed.csv b/test_problems/cathermo/HMW_graph_GvI/T523_blessed.csv
new file mode 100644
index 000000000..8898c215e
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/T523_blessed.csv
@@ -0,0 +1,102 @@
+ Is, sqrtIs, meanAc, log10(meanAC), acMol_Na+, acMol_Cl-, ac_Water, act_Water, OsmoticCoeff
+ 0, 0, 1, 0, 1, 1, 1, 1, 1
+ 0.0010203, 0.0319422, 0.933037, -0.0301011, 0.933037, 0.933037, 1, 0.999964, 0.977367
+ 0.00408122, 0.0638844, 0.875241, -0.0578724, 0.875241, 0.875241, 1.00001, 0.999859, 0.957357
+ 0.00918274, 0.0958266, 0.824985, -0.0835537, 0.824985, 0.824985, 1.00002, 0.999689, 0.939646
+ 0.0163249, 0.127769, 0.780985, -0.107357, 0.780985, 0.780985, 1.00004, 0.999457, 0.923951
+ 0.0255076, 0.159711, 0.742214, -0.129471, 0.742214, 0.742214, 1.00008, 0.999164, 0.910026
+ 0.0367309, 0.191653, 0.707847, -0.150061, 0.707847, 0.707847, 1.00013, 0.998813, 0.897655
+ 0.0499949, 0.223595, 0.677212, -0.169275, 0.677212, 0.677212, 1.0002, 0.998404, 0.886651
+ 0.0652995, 0.255538, 0.649762, -0.187246, 0.649762, 0.649762, 1.00029, 0.997939, 0.876849
+ 0.0826446, 0.28748, 0.625046, -0.204088, 0.625046, 0.625046, 1.00039, 0.997418, 0.868107
+ 0.10203, 0.319422, 0.602689, -0.219906, 0.602689, 0.602689, 1.00051, 0.996842, 0.8603
+ 0.123457, 0.351364, 0.58238, -0.234793, 0.58238, 0.58238, 1.00064, 0.996211, 0.853318
+ 0.146924, 0.383306, 0.563857, -0.248831, 0.563857, 0.563857, 1.0008, 0.995526, 0.847068
+ 0.172431, 0.415249, 0.5469, -0.262092, 0.5469, 0.5469, 1.00097, 0.994786, 0.841466
+ 0.19998, 0.447191, 0.531323, -0.274642, 0.531323, 0.531323, 1.00115, 0.993991, 0.836441
+ 0.229568, 0.479133, 0.516966, -0.286538, 0.516966, 0.516966, 1.00136, 0.993142, 0.83193
+ 0.261198, 0.511075, 0.503694, -0.297833, 0.503694, 0.503694, 1.00158, 0.992239, 0.82788
+ 0.294868, 0.543017, 0.491391, -0.308572, 0.491391, 0.491391, 1.00181, 0.991281, 0.824243
+ 0.330579, 0.57496, 0.479958, -0.318797, 0.479958, 0.479958, 1.00206, 0.990269, 0.820981
+ 0.36833, 0.606902, 0.469307, -0.328543, 0.469307, 0.469307, 1.00233, 0.989202, 0.818057
+ 0.408122, 0.638844, 0.459363, -0.337844, 0.459363, 0.459363, 1.00261, 0.988081, 0.815442
+ 0.449954, 0.670786, 0.450062, -0.346727, 0.450062, 0.450062, 1.0029, 0.986904, 0.813111
+ 0.493827, 0.702728, 0.441347, -0.35522, 0.441347, 0.441347, 1.00321, 0.985673, 0.811041
+ 0.539741, 0.734671, 0.433167, -0.363345, 0.433167, 0.433167, 1.00353, 0.984386, 0.809214
+ 0.587695, 0.766613, 0.425478, -0.371123, 0.425478, 0.425478, 1.00386, 0.983044, 0.807614
+ 0.63769, 0.798555, 0.418243, -0.378572, 0.418243, 0.418243, 1.0042, 0.981646, 0.806227
+ 0.689726, 0.830497, 0.411426, -0.385708, 0.411426, 0.411426, 1.00455, 0.980193, 0.805042
+ 0.743802, 0.862439, 0.404998, -0.392547, 0.404998, 0.404998, 1.00491, 0.978682, 0.804049
+ 0.799918, 0.894382, 0.398932, -0.399102, 0.398932, 0.398932, 1.00528, 0.977115, 0.80324
+ 0.858076, 0.926324, 0.393203, -0.405384, 0.393203, 0.393203, 1.00565, 0.975491, 0.802607
+ 0.918274, 0.958266, 0.387789, -0.411404, 0.387789, 0.387789, 1.00603, 0.973809, 0.802144
+ 0.980512, 0.990208, 0.382672, -0.417173, 0.382672, 0.382672, 1.00641, 0.972069, 0.801847
+ 1.04479, 1.02215, 0.377834, -0.422699, 0.377834, 0.377834, 1.0068, 0.970271, 0.801711
+ 1.11111, 1.05409, 0.373259, -0.427989, 0.373259, 0.373259, 1.00718, 0.968413, 0.801732
+ 1.17947, 1.08603, 0.368933, -0.433053, 0.368933, 0.368933, 1.00757, 0.966496, 0.801906
+ 1.24987, 1.11798, 0.364842, -0.437896, 0.364842, 0.364842, 1.00795, 0.964517, 0.802231
+ 1.32231, 1.14992, 0.360974, -0.442524, 0.360974, 0.360974, 1.00833, 0.962478, 0.802704
+ 1.3968, 1.18186, 0.357319, -0.446944, 0.357319, 0.357319, 1.00871, 0.960377, 0.803322
+ 1.47332, 1.2138, 0.353866, -0.451162, 0.353866, 0.353866, 1.00908, 0.958214, 0.804081
+ 1.55188, 1.24575, 0.350605, -0.455181, 0.350605, 0.350605, 1.00944, 0.955987, 0.804981
+ 1.63249, 1.27769, 0.347529, -0.459009, 0.347529, 0.347529, 1.00979, 0.953697, 0.806018
+ 1.71513, 1.30963, 0.344629, -0.462648, 0.344629, 0.344629, 1.01013, 0.951342, 0.807189
+ 1.79982, 1.34157, 0.341897, -0.466104, 0.341897, 0.341897, 1.01046, 0.948921, 0.808493
+ 1.88654, 1.37351, 0.339327, -0.469382, 0.339327, 0.339327, 1.01077, 0.946435, 0.809925
+ 1.97531, 1.40546, 0.336911, -0.472485, 0.336911, 0.336911, 1.01106, 0.943882, 0.811483
+ 2.06612, 1.4374, 0.334643, -0.475419, 0.334643, 0.334643, 1.01133, 0.941261, 0.813165
+ 2.15896, 1.46934, 0.332517, -0.478187, 0.332517, 0.332517, 1.01158, 0.938573, 0.814966
+ 2.25385, 1.50128, 0.330527, -0.480793, 0.330527, 0.330527, 1.01181, 0.935815, 0.816882
+ 2.35078, 1.53323, 0.328669, -0.483242, 0.328669, 0.328669, 1.01201, 0.932989, 0.818912
+ 2.44975, 1.56517, 0.326936, -0.485538, 0.326936, 0.326936, 1.01219, 0.930093, 0.821049
+ 2.55076, 1.59711, 0.325323, -0.487685, 0.325323, 0.325323, 1.01233, 0.927127, 0.823291
+ 2.65381, 1.62905, 0.323827, -0.489687, 0.323827, 0.323827, 1.01245, 0.92409, 0.825633
+ 2.7589, 1.66099, 0.322441, -0.49155, 0.322441, 0.322441, 1.01253, 0.920983, 0.82807
+ 2.86603, 1.69294, 0.321162, -0.493276, 0.321162, 0.321162, 1.01258, 0.917804, 0.830597
+ 2.97521, 1.72488, 0.319985, -0.494871, 0.319985, 0.319985, 1.01259, 0.914554, 0.83321
+ 3.08642, 1.75682, 0.318905, -0.496338, 0.318905, 0.318905, 1.01257, 0.911233, 0.835902
+ 3.19967, 1.78876, 0.317919, -0.497683, 0.317919, 0.317919, 1.0125, 0.90784, 0.838669
+ 3.31497, 1.82071, 0.317022, -0.49891, 0.317022, 0.317022, 1.0124, 0.904377, 0.841505
+ 3.4323, 1.85265, 0.31621, -0.500024, 0.31621, 0.31621, 1.01225, 0.900842, 0.844403
+ 3.55168, 1.88459, 0.315479, -0.501029, 0.315479, 0.315479, 1.01206, 0.897237, 0.847358
+ 3.67309, 1.91653, 0.314825, -0.501931, 0.314825, 0.314825, 1.01182, 0.893561, 0.850364
+ 3.79655, 1.94847, 0.314244, -0.502733, 0.314244, 0.314244, 1.01154, 0.889817, 0.853413
+ 3.92205, 1.98042, 0.313732, -0.503442, 0.313732, 0.313732, 1.01121, 0.886003, 0.856498
+ 4.04959, 2.01236, 0.313284, -0.504061, 0.313284, 0.313284, 1.01083, 0.882122, 0.859614
+ 4.17917, 2.0443, 0.312898, -0.504597, 0.312898, 0.312898, 1.01041, 0.878173, 0.862753
+ 4.31078, 2.07624, 0.312569, -0.505055, 0.312569, 0.312569, 1.00993, 0.874159, 0.865907
+ 4.44444, 2.10819, 0.312292, -0.505439, 0.312292, 0.312292, 1.00941, 0.870081, 0.869069
+ 4.58014, 2.14013, 0.312065, -0.505755, 0.312065, 0.312065, 1.00884, 0.86594, 0.872231
+ 4.71789, 2.17207, 0.311883, -0.506009, 0.311883, 0.311883, 1.00822, 0.861737, 0.875386
+ 4.85767, 2.20401, 0.311741, -0.506205, 0.311741, 0.311741, 1.00755, 0.857475, 0.878525
+ 4.99949, 2.23595, 0.311637, -0.506351, 0.311637, 0.311637, 1.00684, 0.853155, 0.881641
+ 5.14335, 2.2679, 0.311565, -0.506451, 0.311565, 0.311565, 1.00607, 0.84878, 0.884725
+ 5.28926, 2.29984, 0.311522, -0.506511, 0.311522, 0.311522, 1.00526, 0.844352, 0.887768
+ 5.4372, 2.33178, 0.311503, -0.506537, 0.311503, 0.311503, 1.00441, 0.839872, 0.890763
+ 5.58718, 2.36372, 0.311505, -0.506535, 0.311505, 0.311505, 1.00351, 0.835345, 0.8937
+ 5.73921, 2.39566, 0.311522, -0.506511, 0.311522, 0.311522, 1.00257, 0.830773, 0.89657
+ 5.89328, 2.42761, 0.311551, -0.506471, 0.311551, 0.311551, 1.00158, 0.826158, 0.899365
+ 6.04938, 2.45955, 0.311586, -0.506421, 0.311586, 0.311586, 1.00056, 0.821504, 0.902076
+ 6.146, 2.49149, 0.31161, -0.506389, 0.31161, 0.31161, 0.999917, 0.818635, 0.90369
+ 6.20753, 2.49149, 0.311625, -0.506368, 0.311625, 0.311625, 0.999503, 0.816814, 0.904692
+ 6.36772, 2.52343, 0.311662, -0.506317, 0.311662, 0.311662, 0.998411, 0.812091, 0.907206
+ 6.52995, 2.55538, 0.311692, -0.506275, 0.311692, 0.311692, 0.997289, 0.80734, 0.909607
+ 6.69421, 2.58732, 0.311711, -0.506248, 0.311711, 0.311711, 0.99614, 0.802564, 0.911885
+ 6.86052, 2.61926, 0.311714, -0.506243, 0.311714, 0.311714, 0.994966, 0.797767, 0.914032
+ 7.02887, 2.6512, 0.311697, -0.506267, 0.311697, 0.311697, 0.993773, 0.792954, 0.916037
+ 7.19927, 2.68314, 0.311655, -0.506325, 0.311655, 0.311655, 0.992563, 0.788128, 0.917891
+ 7.3717, 2.71509, 0.311583, -0.506426, 0.311583, 0.311583, 0.991342, 0.783294, 0.919583
+ 7.54617, 2.74703, 0.311477, -0.506574, 0.311477, 0.311477, 0.990114, 0.778457, 0.921104
+ 7.72268, 2.77897, 0.31133, -0.506778, 0.31133, 0.31133, 0.988884, 0.773622, 0.922443
+ 7.90123, 2.81091, 0.31114, -0.507045, 0.31114, 0.31114, 0.987658, 0.768794, 0.923589
+ 8.08183, 2.84286, 0.3109, -0.50738, 0.3109, 0.3109, 0.986442, 0.763977, 0.924533
+ 8.26446, 2.8748, 0.310605, -0.507791, 0.310605, 0.310605, 0.985241, 0.759178, 0.925264
+ 8.44914, 2.90674, 0.310252, -0.508285, 0.310252, 0.310252, 0.984062, 0.754402, 0.925771
+ 8.63585, 2.93868, 0.309835, -0.50887, 0.309835, 0.309835, 0.982913, 0.749654, 0.926044
+ 8.82461, 2.97062, 0.309348, -0.509552, 0.309348, 0.309348, 0.9818, 0.744941, 0.926072
+ 9.01541, 3.00257, 0.308788, -0.510339, 0.308788, 0.308788, 0.98073, 0.740269, 0.925843
+ 9.20824, 3.03451, 0.30815, -0.511238, 0.30815, 0.30815, 0.979713, 0.735643, 0.925348
+ 9.40312, 3.06645, 0.307428, -0.512256, 0.307428, 0.307428, 0.978757, 0.73107, 0.924575
+ 9.60004, 3.09839, 0.306619, -0.513401, 0.306619, 0.306619, 0.97787, 0.726557, 0.923512
+ 9.799, 3.13034, 0.305717, -0.51468, 0.305717, 0.305717, 0.977061, 0.72211, 0.922149
+ 10, 3.16228, 0.304719, -0.516101, 0.304719, 0.304719, 0.976342, 0.717737, 0.920474
diff --git a/test_problems/cathermo/HMW_graph_GvI/TemperatureTable.h b/test_problems/cathermo/HMW_graph_GvI/TemperatureTable.h
new file mode 100644
index 000000000..70cb2bf56
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/TemperatureTable.h
@@ -0,0 +1,129 @@
+/*
+ * $Id$
+ */
+/*
+ * Copywrite 2004 Sandia Corporation. Under the terms of Contract
+ * DE-AC04-94AL85000, there is a non-exclusive license for use of this
+ * work by or on behalf of the U.S. Government. Export of this program
+ * may require a license from the United States Government.
+ */
+
+#ifndef TEMPERATURE_TABLE_H
+#define TEMPERATURE_TABLE_H
+#include "sortAlgorithms.h"
+//#include "mdp_allo.h"
+#include
+using std::vector;
+
+/***********************************************************************/
+/***********************************************************************/
+/***********************************************************************/
+/**
+ * This Class constructs a vector of temperature from which to make
+ * a table.
+ */
+class TemperatureTable {
+
+public:
+ int NPoints;
+ bool Include298;
+ double Tlow; //!< Min temperature for thermo data fit
+ double Thigh; //!< Max temperature for thermo table
+ double DeltaT;
+ vector T;
+ int numAddedTs;
+ vector AddedTempVector;
+public:
+ /*
+ * Default constructor for TemperatureTable()
+ */
+ TemperatureTable(const int nPts = 14,
+ const bool inc298 = true,
+ const double tlow = 300.,
+ const double deltaT = 100.,
+ const int numAdded = 0,
+ const double *addedTempVector = 0) :
+ NPoints(nPts),
+ Include298(inc298),
+ Tlow(tlow),
+ DeltaT(deltaT),
+ T(0),
+ numAddedTs(numAdded) {
+ /****************************/
+ int i;
+ // AddedTempVector = mdp_alloc_dbl_1(numAdded, 0.0);
+ AddedTempVector.resize(numAdded, 0.0);
+ for (int i = 0; i < numAdded; i++) {
+ AddedTempVector[i] = addedTempVector[i];
+ }
+ //mdp_copy_dbl_1(AddedTempVector, addedTempVector, numAdded);
+ // T = mdp_alloc_dbl_1(NPoints, 0.0);
+ T.resize(NPoints, 0.0);
+ double TCurrent = Tlow;
+ for (i = 0; i < NPoints; i++) {
+ T[i] = TCurrent;
+ TCurrent += DeltaT;
+ }
+ if (Include298) {
+ T.push_back(298.15);
+ //mdp_realloc_dbl_1(&T, NPoints+1, NPoints, 298.15);
+ NPoints++;
+ }
+ if (numAdded > 0) {
+ //mdp_realloc_dbl_1(&T, NPoints+numAdded, NPoints, 0.0);
+ T.resize( NPoints+numAdded, 0.0);
+ for (i = 0; i < numAdded; i++) {
+ T[i+NPoints] = addedTempVector[i];
+ }
+ NPoints += numAdded;
+ }
+
+ sort_dbl_1(DATA_PTR(T), NPoints);
+
+
+ }
+ /***********************************************************************/
+ /***********************************************************************/
+ /***********************************************************************/
+ /*
+ * Destructor
+ */
+ ~TemperatureTable() {
+ //mdp_safe_free((void **) &AddedTempVector);
+ // mdp_safe_free((void **) &T);
+ }
+
+ /***********************************************************************/
+ /***********************************************************************/
+ /***********************************************************************/
+ /*
+ * Overloaded operator[]
+ *
+ * return the array value in the vector
+ */
+ double operator[](const int i) {
+ return T[i];
+ }
+ /***********************************************************************/
+ /***********************************************************************/
+ /***********************************************************************/
+ /*
+ * size()
+ */
+ int size() {
+ return NPoints;
+ }
+/***********************************************************************/
+/***********************************************************************/
+/***********************************************************************/
+ /*
+ * Block assignment and copy constructors: not needed.
+ */
+private:
+ TemperatureTable(const TemperatureTable &);
+ TemperatureTable& operator=(const TemperatureTable&);
+};
+/***********************************************************************/
+/***********************************************************************/
+/***********************************************************************/
+#endif
diff --git a/test_problems/cathermo/HMW_graph_GvI/runtest b/test_problems/cathermo/HMW_graph_GvI/runtest
new file mode 100755
index 000000000..1f3a2e5f4
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/runtest
@@ -0,0 +1,60 @@
+#!/bin/sh
+#
+#
+temp_success="0"
+/bin/rm -f output.txt outputa.txt
+
+##########################################################################
+prog=HMW_graph_GvI
+if test ! -x $prog ; then
+ echo $prog ' does not exist'
+ exit -1
+fi
+##########################################################################
+/bin/rm -f test.out test.diff output.txt
+/bin/rm -f test.out test.diff T298.csv T523.csv
+
+#################################################################
+#
+CANTERA_DATA=${CANTERA_DATA:=../../../data/inputs}; export CANTERA_DATA
+CANTERA_BIN=${CANTERA_BIN:=../../../bin}
+
+#################################################################
+
+$prog > output.txt
+retnStat=$?
+if [ $retnStat != "0" ]
+then
+ temp_success="1"
+ echo "$prog returned with bad status, $retnStat, check output"
+fi
+echo 'Making a comparison with the good saved solution: '
+echo '--------------------------------------------------------------------------------'
+diff T298.csv T298_blessed.csv > test.diff
+zres=$?
+cat test.diff
+diff T523.csv T523_blessed.csv > test2.diff
+zres2=$?
+cat test2.diff
+echo '--------------------------------------------------------------------------------'
+echo 'End of comparison'
+if test "$zres" = "0" ; then
+ if test "$zres2" = "0" ; then
+ echo 'test passed'
+ else
+ echo 'test 1 passed, test 2 failed'
+ temp_success="1"
+ fi
+else
+ echo 'test 1 failed'
+ temp_success="1"
+fi
+if [ $temp_success = "0" ]
+then
+ echo "successful diff comparison on $prog test"
+else
+ echo "unsuccessful diff comparison on $prog test"
+ echo "FAILED" > csvCode.txt
+fi
+
+
diff --git a/test_problems/cathermo/HMW_graph_GvI/sortAlgorithms.cpp b/test_problems/cathermo/HMW_graph_GvI/sortAlgorithms.cpp
new file mode 100644
index 000000000..d97e51b40
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/sortAlgorithms.cpp
@@ -0,0 +1,54 @@
+/*
+ * @file sortAlgorithms.h
+ *
+ * $Author$
+ * $Revision$
+ * $Date$
+ */
+/*
+ * Copywrite 2004 Sandia Corporation. Under the terms of Contract
+ * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
+ * retains certain rights in this software.
+ * See file License.txt for licensing information.
+ */
+
+#include "sortAlgorithms.h"
+
+/**************************************************************/
+
+void sort_dbl_1(double * const x, const int n) {
+ double rra;
+ int ll = n/2;
+ int iret = n - 1;
+ while (1 > 0) {
+ if (ll > 0) {
+ ll--;
+ rra = x[ll];
+ } else {
+ rra = x[iret];
+ x[iret] = x[0];
+ iret--;
+ if (iret == 0) {
+ x[0] = rra;
+ return;
+ }
+ }
+ int i = ll;
+ int j = ll + ll + 1;
+ while (j <= iret) {
+ if (j < iret) {
+ if (x[j] < x[j+1])
+ j++;
+ }
+ if (rra < x[j]) {
+ x[i] = x[j];
+ i = j;
+ j = j + j + 1;
+ } else {
+ j = iret + 1;
+ }
+ }
+ x[i] = rra;
+ }
+}
+/*****************************************************/
diff --git a/test_problems/cathermo/HMW_graph_GvI/sortAlgorithms.h b/test_problems/cathermo/HMW_graph_GvI/sortAlgorithms.h
new file mode 100644
index 000000000..72a7fc2a2
--- /dev/null
+++ b/test_problems/cathermo/HMW_graph_GvI/sortAlgorithms.h
@@ -0,0 +1,21 @@
+/*
+ * @file sortAlgorithms.h
+ *
+ * $Author$
+ * $Revision$
+ * $Date$
+ */
+/*
+ * Copywrite 2004 Sandia Corporation. Under the terms of Contract
+ * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government
+ * retains certain rights in this software.
+ * See file License.txt for licensing information.
+ */
+
+#ifndef SORTALGORITHMS_H
+#define SORTALGORITHMS_H
+
+
+void sort_dbl_1(double * const x, const int n);
+
+#endif
diff --git a/test_problems/cathermo/Makefile.in b/test_problems/cathermo/Makefile.in
index 5f82b8eb7..9747118cc 100644
--- a/test_problems/cathermo/Makefile.in
+++ b/test_problems/cathermo/Makefile.in
@@ -19,6 +19,10 @@ ifeq ($(test_electrolytes),1)
cd testWaterPDSS; @MAKE@ all
cd testWaterTP; @MAKE@ all
cd HMW_graph_GvT; @MAKE@ all
+ cd HMW_graph_GvI; @MAKE@ all
+ cd HMW_graph_HvT; @MAKE@ all
+ cd HMW_graph_CpvT; @MAKE@ all
+ cd HMW_graph_VvT; @MAKE@ all
endif
test:
@@ -33,6 +37,10 @@ ifeq ($(test_electrolytes),1)
cd testWaterPDSS; @MAKE@ test
cd testWaterTP; @MAKE@ test
cd HMW_graph_GvT; @MAKE@ test
+ cd HMW_graph_GvI; @MAKE@ test
+ cd HMW_graph_HvT; @MAKE@ test
+ cd HMW_graph_CpvT; @MAKE@ test
+ cd HMW_graph_VvT; @MAKE@ test
endif
clean:
@@ -45,6 +53,10 @@ clean:
cd testWaterPDSS; @MAKE@ clean
cd testWaterTP; @MAKE@ clean
cd HMW_graph_GvT; @MAKE@ clean
+ cd HMW_graph_GvI; @MAKE@ clean
+ cd HMW_graph_HvT; @MAKE@ clean
+ cd HMW_graph_CpvT; @MAKE@ clean
+ cd HMW_graph_VvT; @MAKE@ clean
depends:
ifeq ($(test_issp),1)
@@ -58,4 +70,8 @@ ifeq ($(test_electrolytes),1)
cd testWaterPDSS; @MAKE@ depends
cd testWaterTP; @MAKE@ depends
cd HMW_graph_GvT; @MAKE@ depends
+ cd HMW_graph_GvI; @MAKE@ depends
+ cd HMW_graph_HvT; @MAKE@ depends
+ cd HMW_graph_CpvT; @MAKE@ depends
+ cd HMW_graph_VvT; @MAKE@ depends
endif