diff --git a/test_problems/SConscript b/test_problems/SConscript
index 0b6dde927..9ebb47de7 100644
--- a/test_problems/SConscript
+++ b/test_problems/SConscript
@@ -267,6 +267,8 @@ CompileAndTest('rankine_democxx', 'rankine_democxx', 'rankine', 'output_blessed.
artifacts=['liquidvapor.xml'])
CompileAndTest('silane_equil', 'silane_equil', 'silane_equi', 'output_blessed.txt')
# spectroscopy is incomplete
+CompileAndTest('simpleTransport', 'simpleTransport', 'simpleTransport',
+ 'output_blessed.txt')
CompileAndTest('stoichSolidKinetics', 'stoichSolidKinetics',
'stoichSolidKinetics', 'output_blessed.txt')
CompileAndTest('surfkin', 'surfkin', 'surfdemo', 'output_blessed.txt')
diff --git a/test_problems/simpleTransport/HMW_NaCl_pdss.xml b/test_problems/simpleTransport/HMW_NaCl_pdss.xml
new file mode 100644
index 000000000..6e9c6194f
--- /dev/null
+++ b/test_problems/simpleTransport/HMW_NaCl_pdss.xml
@@ -0,0 +1,242 @@
+
+
+
+
+
+ H2O(L) Na+ Cl- H+ 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.0
+ 0.0, 0.0, 0.0, 0.0, 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.0
+ 0.0, 0.0, 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.0
+ 0.0, 0.0, 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 E 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
+
+
+
+
+
+
+
+ 1.0E0
+ 0.58
+ 1.0E-5
+
+
+
+
+
+ Na:1 E:-1
+ +1
+
+
+ -62591.
+ -57433.
+ 13.96
+
+
+
+ 0.1839
+ -228.5
+ 3.256
+ -27260.
+ 18.18
+ -29810.
+ 33060.
+
+
+ 1.0E-5
+
+
+ ref:G9
+
+
+
+
+ Cl:1 E:1
+ -1
+
+
+ -31379.
+ -39933.
+ 13.56
+
+
+
+ 0.4032
+ 480.1
+ 5.563
+ -28470.
+ -4.4
+ -57140.
+ 145600.
+
+
+ 1.0E-5
+
+
+ ref:G9
+
+
+
+
+ H:1 E:-1
+ +1
+
+
+ 0.0
+ 0.0
+ 0.0
+
+
+
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+ 0.0
+
+
+ 1.0E-5
+
+
+ ref:G9
+
+
+
+
+
+ O:1 H:1 E:1
+ -1
+
+
+ -37595.
+ -54977.
+ -2.56
+
+
+
+ 0.12527
+ 7.38
+ 1.8423
+ -27821
+ 4.15
+ -103460.
+ 172460.
+
+
+ 1.0E-5
+
+
+ ref:G9
+
+
+
+
+
+
diff --git a/test_problems/simpleTransport/output_blessed.txt b/test_problems/simpleTransport/output_blessed.txt
new file mode 100644
index 000000000..ba5905bad
--- /dev/null
+++ b/test_problems/simpleTransport/output_blessed.txt
@@ -0,0 +1,27 @@
+visc = 0.001
+sp visc (H2O(L)) = 0.001
+sp visc (Na+) = 0
+sp visc (Cl-) = 0
+sp visc (H+) = 0
+sp visc (OH-) = 0
+cond = 0.58
+sp diff (H2O(L)) = 1e-05
+sp diff (Na+) = 1e-05
+sp diff (Cl-) = 1e-05
+sp diff (H+) = 1e-05
+sp diff (OH-) = 1e-05
+Mobility (H2O(L)) = 0.000382823
+Mobility (Na+) = 0.000382823
+Mobility (Cl-) = 0.000382823
+Mobility (H+) = 0.000382823
+Mobility (OH-) = 0.000382823
+SpeciesFlux (H2O(L)) = 0.0102344
+SpeciesFlux (Na+) = -0.0124461
+SpeciesFlux (Cl-) = 0.00221167
+SpeciesFlux (H+) = 2.22987e-14
+SpeciesFlux (OH-) = 2.43291e-10
+SpeciesFlux (H2O(L)) = -0.0191255
+SpeciesFlux (Na+) = -0.0505223
+SpeciesFlux (Cl-) = 0.0696478
+SpeciesFlux (H+) = -7.85548e-13
+SpeciesFlux (OH-) = 7.6615e-09
diff --git a/test_problems/simpleTransport/simpleTransportTest.cpp b/test_problems/simpleTransport/simpleTransportTest.cpp
new file mode 100644
index 000000000..4f22e57a4
--- /dev/null
+++ b/test_problems/simpleTransport/simpleTransportTest.cpp
@@ -0,0 +1,78 @@
+#include "cantera/thermo.h"
+#include "cantera/transport.h"
+#include "cantera/thermo/HMWSoln.h"
+#include "cantera/transport/SimpleTransport.h"
+
+#include
+
+using namespace std;
+using namespace Cantera;
+
+int main(int argc, char **argv)
+{
+ try {
+ int log_level = 3;
+
+ HMWSoln HMW("HMW_NaCl_pdss.xml", "NaCl_electrolyte");
+
+ auto_ptr tran(newDefaultTransportMgr(&HMW, log_level));
+
+ SimpleTransport& tranSimple = dynamic_cast(*tran.get());
+ int nsp = HMW.nSpecies();
+
+ HMW.setState_TP(30+273.13, OneAtm);
+
+ double visc = tranSimple.viscosity();
+ printf("visc = %g\n", visc);
+
+ vector_fp x(nsp, 0.0);
+
+ tranSimple.getSpeciesViscosities(&x[0]);
+ for (int k = 0; k < nsp; k++) {
+ printf("sp visc (%s) = %g\n", HMW.speciesName(k).c_str(), x[k]);
+ }
+
+ double cond = tranSimple.thermalConductivity();
+ printf("cond = %g\n", cond);
+
+ tranSimple.getMixDiffCoeffs(&x[0]);
+ for (int k = 0; k < nsp; k++) {
+ printf("sp diff (%s) = %g\n", HMW.speciesName(k).c_str(), x[k]);
+ }
+
+ tranSimple.getMobilities(&x[0]);
+ for (int k = 0; k < nsp; k++) {
+ printf("Mobility (%s) = %g\n", HMW.speciesName(k).c_str(), x[k]);
+ }
+
+ vector_fp gradX(nsp, 0.0);
+ gradX[1] = 1.0;
+ double gradT = 0.0;
+
+ tranSimple.getSpeciesFluxes(1, &gradT, 5, &gradX[0], 5, &x[0]);
+ for (int k = 0; k < nsp; k++) {
+ string spName = HMW.speciesName(k);
+ printf("SpeciesFlux (%s) = %g\n", spName.c_str(), x[k]);
+ }
+
+ gradX[1] = 0.0;
+ double gradV = 1.0;
+
+ tranSimple.set_Grad_T(&gradT);
+ tranSimple.set_Grad_V(&gradV);
+ tranSimple.set_Grad_X(&gradX[0]);
+
+ tranSimple.getSpeciesFluxesExt(5, &x[0]);
+ for (int k = 0; k < nsp; k++) {
+ printf("SpeciesFlux (%s) = %g\n", HMW.speciesName(k).c_str(), x[k]);
+ }
+
+ Cantera::appdelete();
+ return 0;
+
+ } catch (CanteraError) {
+
+ showErrors();
+ return -1;
+ }
+}