cantera/test_problems/statmech/statmech_test_poly.cpp
2012-07-17 21:22:21 +00:00

77 lines
1.5 KiB
C++

/**
* @file statmech
* test problem for statistical mechanics in cantera
*/
// Example
//
// Test case for the statistical mechanics in cantera
//
#include <iostream>
#include <string>
#include <vector>
#include <string>
#include <iomanip>
using namespace std;
/*****************************************************************/
/*****************************************************************/
#include "Cantera.h"
#include "transport.h"
#include "IdealGasMix.h"
#include "equil.h"
#include "TransportFactory.h"
using namespace Cantera;
using namespace Cantera_CXX;
int main(int argc, char** argv)
{
try
{
int k;
IdealGasMix g("test_stat_err.xml");
int nsp = g.nSpecies();
double pres = 1.0E5;
vector_fp Xset(nsp, 0.0);
Xset[0] = 0.5 ;
Xset[1] = 0.5;
g.setState_TPX(1500.0, pres, DATA_PTR(Xset));
equilibrate(g, "TP", -1);
vector_fp cp_R(nsp, 0.0);
g.getCp_R(DATA_PTR(cp_R));
for(int i=0;i<nsp;i++)
{
std::cout << cp_R[i] << std::endl;
}
// error check
if(cp_R[0] != 0)
{
std::cout << "Error for monotomic Species!\n";
return 1;
}
}
catch (CanteraError)
{
// we wanted to catch an error here for incorrectly trying to use poly methods
// for the statmech species data, so exit successfully
//showErrors(cout);
// Mark it zero!
return 0;
}
// something is wrong: we were suppose to catch an error here: paradox!
return 1;
}