├── AUTHORS ├── BUILD.md ├── CHANGELOG.md ├── LICENSE ├── README.md ├── README.pdf ├── SECURITY.md ├── logo ├── TChem_Logo_Large.png └── TChem_Logo_Small.png ├── sand2020_10762.pdf ├── scripts ├── master_bld.sh ├── run-conf-tchem-tpl-cuda-example.sh ├── run-conf-tchem-tpl-host-example.sh ├── tchem-demo-script-simple.sh └── tchem-demo-script.sh └── src ├── CMakeLists.txt ├── FindGtest.cmake ├── FindKokkos.cmake ├── FindTines.cmake ├── cmake ├── TChemConfig.cmake.in ├── TChem_Version.txt └── bob.cmake ├── core ├── CMakeLists.txt ├── TC_getthc9.cpp ├── TC_kmodint.cpp ├── TC_kmodint.hpp ├── TC_kmodint_surface.cpp ├── TC_kmodint_surface.hpp ├── TChem.hpp ├── TChem_AtmosphericChemistry.cpp ├── TChem_AtmosphericChemistry.hpp ├── TChem_CommandLineParser.hpp ├── TChem_Config.hpp.in ├── TChem_ConstantVolumeIgnitionReactor.cpp ├── TChem_ConstantVolumeIgnitionReactor.hpp ├── TChem_Driver.cpp ├── TChem_Driver.hpp ├── TChem_EnthalpyMass.cpp ├── TChem_EnthalpyMass.hpp ├── TChem_EntropyMass.cpp ├── TChem_EntropyMass.hpp ├── TChem_GkSurfGas.cpp ├── TChem_GkSurfGas.hpp ├── TChem_IgnitionZeroD.cpp ├── TChem_IgnitionZeroD.hpp ├── TChem_IgnitionZeroDNumJacobian.cpp ├── TChem_IgnitionZeroDNumJacobian.hpp ├── TChem_IgnitionZeroDNumJacobianFwd.cpp ├── TChem_IgnitionZeroDNumJacobianFwd.hpp ├── TChem_IgnitionZeroD_Internal.hpp ├── TChem_IgnitionZeroD_SacadoJacobian.cpp ├── TChem_IgnitionZeroD_SacadoJacobian.hpp ├── TChem_IgnitionZeroD_SacadoJacobianInternal.hpp ├── TChem_InitialCondSurface.cpp ├── TChem_InitialCondSurface.hpp ├── TChem_InternalEnergyMass.cpp ├── TChem_InternalEnergyMass.hpp ├── TChem_IsothermalTransientContStirredTankReactor.cpp ├── TChem_IsothermalTransientContStirredTankReactor.hpp ├── TChem_IsothermalTransientContStirredTankReactorNumJacobian.cpp ├── TChem_IsothermalTransientContStirredTankReactorNumJacobian.hpp ├── TChem_IsothermalTransientContStirredTankReactorRHS.cpp ├── TChem_IsothermalTransientContStirredTankReactorRHS.hpp ├── TChem_IsothermalTransientContStirredTankReactorSacadoJacobian.cpp ├── TChem_IsothermalTransientContStirredTankReactorSacadoJacobian.hpp ├── TChem_IsothermalTransientContStirredTankReactorSacadoJacobianInternal.hpp ├── TChem_IsothermalTransientContStirredTankReactorSmatrix.cpp ├── TChem_IsothermalTransientContStirredTankReactorSmatrix.hpp ├── TChem_Jacobian.cpp ├── TChem_Jacobian.hpp ├── TChem_JacobianReduced.cpp ├── TChem_JacobianReduced.hpp ├── TChem_KForwardReverse.cpp ├── TChem_KForwardReverse.hpp ├── TChem_KForwardReverseSurface.cpp ├── TChem_KForwardReverseSurface.hpp ├── TChem_KineticModelData.cpp ├── TChem_KineticModelData.hpp ├── TChem_KineticModelGasConstData.hpp ├── TChem_KineticModelNCAR_ConstData.hpp ├── TChem_KineticModelSurfaceConstData.hpp ├── TChem_MassFractionToMoleFraction.cpp ├── TChem_MassFractionToMoleFraction.hpp ├── TChem_NetProductionRateNcar.cpp ├── TChem_NetProductionRateNcar.hpp ├── TChem_NetProductionRatePerMass.cpp ├── TChem_NetProductionRatePerMass.hpp ├── TChem_NetProductionRatePerMole.cpp ├── TChem_NetProductionRatePerMole.hpp ├── TChem_NetProductionRateSurfacePerMass.cpp ├── TChem_NetProductionRateSurfacePerMass.hpp ├── TChem_NetProductionRateSurfacePerMole.cpp ├── TChem_NetProductionRateSurfacePerMole.hpp ├── TChem_PlugFlowReactor.cpp ├── TChem_PlugFlowReactor.hpp ├── TChem_PlugFlowReactorNumJacobian.cpp ├── TChem_PlugFlowReactorNumJacobian.hpp ├── TChem_PlugFlowReactorRHS.cpp ├── TChem_PlugFlowReactorRHS.hpp ├── TChem_PlugFlowReactorSacadoJacobian.cpp ├── TChem_PlugFlowReactorSacadoJacobian.hpp ├── TChem_PlugFlowReactorSacadoJacobianInternal.hpp ├── TChem_PlugFlowReactorSmat.cpp ├── TChem_PlugFlowReactorSmat.hpp ├── TChem_RateOfProgress.cpp ├── TChem_RateOfProgress.hpp ├── TChem_RateOfProgressSurface.cpp ├── TChem_RateOfProgressSurface.hpp ├── TChem_SimpleSurface.cpp ├── TChem_SimpleSurface.hpp ├── TChem_Smatrix.cpp ├── TChem_Smatrix.hpp ├── TChem_SourceTerm.cpp ├── TChem_SourceTerm.hpp ├── TChem_SourceTermToyProblem.cpp ├── TChem_SourceTermToyProblem.hpp ├── TChem_SpecificHeatCapacityConsVolumePerMass.cpp ├── TChem_SpecificHeatCapacityConsVolumePerMass.hpp ├── TChem_SpecificHeatCapacityPerMass.cpp ├── TChem_SpecificHeatCapacityPerMass.hpp ├── TChem_SurfaceRHS.cpp ├── TChem_SurfaceRHS.hpp ├── TChem_TransientContStirredTankReactor.cpp ├── TChem_TransientContStirredTankReactor.hpp ├── TChem_TransientContStirredTankReactorNumJacobian.cpp ├── TChem_TransientContStirredTankReactorNumJacobian.hpp ├── TChem_TransientContStirredTankReactorRHS.cpp ├── TChem_TransientContStirredTankReactorRHS.hpp ├── TChem_TransientContStirredTankReactorSacadoJacobian.cpp ├── TChem_TransientContStirredTankReactorSacadoJacobian.hpp ├── TChem_TransientContStirredTankReactorSacadoJacobianInternal.hpp ├── TChem_TransientContStirredTankReactorSmatrix.cpp ├── TChem_TransientContStirredTankReactorSmatrix.hpp ├── TChem_Util.hpp ├── aerosol_impl │ ├── TChem_Impl_AtmosphericChemistry.hpp │ ├── TChem_Impl_AtmosphericChemistry_Problem.hpp │ ├── TChem_Impl_KForward.hpp │ └── TChem_Impl_ReactionRatesAerosol.hpp ├── eti │ ├── CMakeLists.txt │ ├── TChem_IgnitionZeroD_CVODE_ETI.in │ ├── TChem_IgnitionZeroD_ETI.in │ ├── TChem_IgnitionZeroD_SacadoJacobian_ETI.in │ ├── TChem_IsothermalTransientContStirredTankReactorSacadoJacobian_ETI.in │ ├── TChem_PlugFlowReactorSacadoJacobian_ETI.in │ └── TChem_TransientContStirredTankReactorSacadoJacobian_ETI.in ├── impl │ ├── TChem_Impl_ChebyshevForwardConstant.hpp │ ├── TChem_Impl_ConstantVolumeIgnitionReactorRHS.hpp │ ├── TChem_Impl_ConstantVolumeIgnitionReactorTangetLinearApproximationSourceTerm.hpp │ ├── TChem_Impl_CpMixMs.hpp │ ├── TChem_Impl_CpSpecMl.hpp │ ├── TChem_Impl_CpSpecMs.hpp │ ├── TChem_Impl_Crnd.hpp │ ├── TChem_Impl_EnthalpySpecMl.hpp │ ├── TChem_Impl_EnthalpySpecMs.hpp │ ├── TChem_Impl_Entropy0SpecMl.hpp │ ├── TChem_Impl_Gk.hpp │ ├── TChem_Impl_IgnitionZeroDNumJacobian.hpp │ ├── TChem_Impl_IgnitionZeroDNumJacobianFwd.hpp │ ├── TChem_Impl_InitialCondSurface.hpp │ ├── TChem_Impl_IsothermalTransientContStirredTankReactorRHS.hpp │ ├── TChem_Impl_IsothermalTransientContStirredTankReactorSmatrix.hpp │ ├── TChem_Impl_Jacobian.hpp │ ├── TChem_Impl_JacobianReduced.hpp │ ├── TChem_Impl_JacobianVerification.hpp │ ├── TChem_Impl_KForwardReverse.hpp │ ├── TChem_Impl_KForwardReverseSurface.hpp │ ├── TChem_Impl_MolarConcentrations.hpp │ ├── TChem_Impl_MolarWeights.hpp │ ├── TChem_Impl_Ms2CpMixMs.hpp │ ├── TChem_Impl_PlugFlowReactorNumJacobian.hpp │ ├── TChem_Impl_PlugFlowReactorRHS.hpp │ ├── TChem_Impl_PlugFlowReactorSmat.hpp │ ├── TChem_Impl_RateOfProgessJacobian.hpp │ ├── TChem_Impl_RateOfProgress.hpp │ ├── TChem_Impl_RateOfProgressInd.hpp │ ├── TChem_Impl_RateOfProgressSurface.hpp │ ├── TChem_Impl_RateOfProgressSurfaceInd.hpp │ ├── TChem_Impl_RateOfProgress_Problem.hpp │ ├── TChem_Impl_ReactionRates.hpp │ ├── TChem_Impl_ReactionRatesJacobian.hpp │ ├── TChem_Impl_ReactionRatesSurface.hpp │ ├── TChem_Impl_RhoMixMs.hpp │ ├── TChem_Impl_Smatrix.hpp │ ├── TChem_Impl_SourceTerm.hpp │ ├── TChem_Impl_SourceTermToyProblem.hpp │ ├── TChem_Impl_SumNuGk.hpp │ ├── TChem_Impl_SumRealNuGk.hpp │ ├── TChem_Impl_SurfaceCoverageModification.hpp │ ├── TChem_Impl_SurfaceRHS.hpp │ ├── TChem_Impl_ThirdBodyConcentrations.hpp │ ├── TChem_Impl_TransientContStirredTankReactorNumJacobian.hpp │ ├── TChem_Impl_TransientContStirredTankReactorRHS.hpp │ └── TChem_Impl_TransientContStirredTankReactorSmatrix.hpp └── problems │ ├── TChem_Impl_AlgebraicConstraintsSurface_Problem.hpp │ ├── TChem_Impl_ConstantVolumeIgnitionReactor.hpp │ ├── TChem_Impl_ConstantVolumeIgnitionReactor_Problem.hpp │ ├── TChem_Impl_IgnitionZeroD.hpp │ ├── TChem_Impl_IgnitionZeroD_Problem.hpp │ ├── TChem_Impl_IsothermalTransientContStirredTankReactor.hpp │ ├── TChem_Impl_IsothermalTransientContStirredTankReactor_Problem.hpp │ ├── TChem_Impl_PlugFlowReactor.hpp │ ├── TChem_Impl_PlugFlowReactor_Problem.hpp │ ├── TChem_Impl_SimpleSurface.hpp │ ├── TChem_Impl_SimpleSurface_Problem.hpp │ ├── TChem_Impl_TangetLinearApproximationIgnitionDelayTime.hpp │ ├── TChem_Impl_TransientContStirredTankReactor.hpp │ └── TChem_Impl_TransientContStirredTankReactor_Problem.hpp ├── example ├── CMakeLists.txt ├── TChem_AtmosphericChemistry.cpp ├── TChem_CheckPLOGreactions.cpp ├── TChem_Driver.cpp ├── TChem_DriverIgnitionZeroD.F90 ├── TChem_DriverModule.F90 ├── TChem_DriverNetProductionRatePerMass.F90 ├── TChem_Driver_C.cpp ├── TChem_GkSurfGas.cpp ├── TChem_IgnitionZeroD.cpp ├── TChem_IgnitionZeroD_HostSingle.cpp ├── TChem_IgnitionZeroD_Jacobians.cpp ├── TChem_IgnitionZeroD_ModelVariation.cpp ├── TChem_IgnitionZeroD_SourceTermJacobian.cpp ├── TChem_InitialCondSurface.cpp ├── TChem_IsothermalTransientContStirredTankReactorRHS.cpp ├── TChem_Jacobian.cpp ├── TChem_JacobianSacado.cpp ├── TChem_JacobianVerification.cpp ├── TChem_KForwardReverse.cpp ├── TChem_KForwardReverseSurface.cpp ├── TChem_KForwardReverseSurfaceModelVariation.cpp ├── TChem_NetProductionRatePerMass.cpp ├── TChem_NetProductionRatePerMassNCAR.cpp ├── TChem_NetProductionRatePerMass_Yaml.cpp ├── TChem_NetProductionRateSurfacePerMass.cpp ├── TChem_NetProductionRateSurfacePerMass_Yaml.cpp ├── TChem_PlugFlowReactor.cpp ├── TChem_PlugFlowReactorJacobianSacado.cpp ├── TChem_PlugFlowReactorModelVariation.cpp ├── TChem_PlugFlowReactorRHS.cpp ├── TChem_PlugFlowReactorSmat.cpp ├── TChem_RateOfProgressJacobian.cpp ├── TChem_SimpleSurface.cpp ├── TChem_SourceTermToyProblem.cpp ├── TChem_SurfaceRHS.cpp ├── TChem_ThermalProperties.cpp ├── TChem_ThermalProperties_Yaml.cpp ├── TChem_TransientContStirredTankReactor.cpp ├── TChem_TransientContStirredTankReactorJacobianSacado.cpp ├── TChem_TransientContStirredTankReactorModelVariation.cpp ├── TChem_TransientContStirredTankReactorRHS.cpp ├── data │ ├── AramcoMech │ │ ├── AramcoMech_1.3_C4_chem.dat │ │ ├── AramcoMech_1.3_therm.dat │ │ ├── MakeSample.ipynb │ │ ├── run.sh │ │ └── sample.dat │ ├── AramcoMech2 │ │ ├── AramcoMech_2.0_chem.dat │ │ ├── AramcoMech_2.0_therm.dat │ │ ├── run.sh │ │ └── sample.dat │ ├── H2 │ │ ├── chem.inp │ │ ├── chem_w_n2.inp │ │ ├── sample.dat │ │ ├── sample.json │ │ └── therm.dat │ ├── ThinkMech │ │ ├── ThinkMech_chem.inp │ │ ├── ThinkMech_therm.dat │ │ └── ThinkMech_trans.dat │ ├── ignition-zero-d │ │ ├── CO │ │ │ ├── chem.inp │ │ │ ├── sample.dat │ │ │ └── therm.dat │ │ ├── chem.inp │ │ ├── gri3.0 │ │ │ ├── chem.inp │ │ │ ├── input.dat │ │ │ ├── inputGas.dat │ │ │ ├── sample.dat │ │ │ └── therm.dat │ │ ├── input.dat │ │ ├── isoOctane │ │ │ ├── chem.cti │ │ │ ├── chem.inp │ │ │ ├── input.dat │ │ │ ├── pmix.py │ │ │ ├── pmixSample.py │ │ │ ├── sample.dat │ │ │ └── therm.dat │ │ └── therm.dat │ ├── iso-octane │ │ ├── run-cvode.sh │ │ ├── run.sh │ │ └── sample.dat │ ├── jacobian │ │ ├── chem.inp │ │ ├── input.dat │ │ ├── jacobian-reference.txt │ │ └── therm.dat │ ├── nbutane │ │ ├── MakeSample.ipynb │ │ ├── chem_nbutane.inp │ │ ├── chem_nbutane_T.inp │ │ ├── chem_nbutane_T_fg.inp │ │ ├── run-cvode.sh │ │ ├── run.sh │ │ ├── runT-cvode.sh │ │ ├── runT.sh │ │ ├── sample.dat │ │ └── therm_nbutane.dat │ ├── nbutanol │ │ ├── chem_nbutanol.inp │ │ ├── run.sh │ │ ├── sample.dat │ │ └── therm_nbutanol.dat │ ├── ndodecane │ │ ├── MakeSample.ipynb │ │ ├── chem_ndodecane.inp │ │ ├── run-cvode.sh │ │ ├── run.sh │ │ ├── sample.dat │ │ └── therm_ndodecane.dat │ ├── nheptane │ │ ├── MakeSample.ipynb │ │ ├── chem.inp │ │ ├── run-cvode.sh │ │ ├── run.sh │ │ ├── sample.dat │ │ └── therm.dat │ ├── plug-flow-reactor │ │ ├── CH4-PTnogas │ │ │ ├── chem.inp │ │ │ ├── chemSurf.inp │ │ │ ├── inputSurf.dat │ │ │ ├── inputVelocity.dat │ │ │ ├── sample.dat │ │ │ ├── therm.dat │ │ │ └── thermSurf.dat │ │ ├── PT │ │ │ ├── chem.cti │ │ │ ├── chem.inp │ │ │ ├── chemSurf.inp │ │ │ ├── inputGas.dat │ │ │ ├── inputGasOriginal.dat │ │ │ ├── inputSurfGas.dat │ │ │ ├── inputSurfGasOriginal.dat │ │ │ ├── inputVelocity.dat │ │ │ ├── plugflowreactorRHS.dat │ │ │ ├── therm.dat │ │ │ └── thermSurf.dat │ │ ├── T │ │ │ ├── chem.cti │ │ │ ├── chem.inp │ │ │ ├── chemSurf.inp │ │ │ ├── inputGas.dat │ │ │ ├── inputSurfGas.dat │ │ │ ├── inputVelocity.dat │ │ │ ├── therm.dat │ │ │ └── thermSurf.dat │ │ └── X │ │ │ ├── chem.inp │ │ │ ├── chemSurf.inp │ │ │ ├── chem_annotated-gas_surface.cti │ │ │ ├── inputSurf.dat │ │ │ ├── inputVelocity.dat │ │ │ ├── sample.dat │ │ │ ├── therm.dat │ │ │ └── thermSurf.dat │ ├── propane │ │ ├── chem.inp │ │ └── therm.dat │ ├── reaction-rates-surfaces │ │ ├── PT │ │ │ ├── chem.cti │ │ │ ├── chem.inp │ │ │ ├── chemSurf.inp │ │ │ ├── inputGas.dat │ │ │ ├── inputGasOriginal.dat │ │ │ ├── inputSurfGas.dat │ │ │ ├── inputSurfGasOriginal.dat │ │ │ ├── therm.dat │ │ │ └── thermSurf.dat │ │ └── X │ │ │ ├── chem.inp │ │ │ ├── chemSurf.inp │ │ │ ├── chem_annotated-gas_surface.cti │ │ │ ├── inputGas.dat │ │ │ ├── inputGasOriginal.dat │ │ │ ├── inputSurfGas.dat │ │ │ ├── inputSurfGasOriginal.dat │ │ │ ├── therm.dat │ │ │ └── thermSurf.dat │ ├── reaction-rates │ │ ├── chem.inp │ │ ├── chem.yaml │ │ ├── input.dat │ │ ├── omega-reference.txt │ │ └── therm.dat │ ├── surface-ford-motz-wise │ │ ├── chem.yaml │ │ ├── inputGas.dat │ │ └── inputSurfGas.dat │ ├── toy-problem │ │ ├── chem.inp │ │ └── therm.dat │ └── yaml-input-file │ │ ├── MakeTChemYamlInputFile.ipynb │ │ └── test.yaml └── runs │ ├── AtmosphericChemistry │ ├── Arrhenius │ │ ├── Arrhenius.dat │ │ ├── PlotArrhenius.ipynb │ │ ├── config_arrhenius │ │ │ ├── config_arrhenius.yaml │ │ │ └── rxn_arrhenius.json │ │ ├── run.sh │ │ ├── runModel.sh │ │ └── rxn_arrhenius_results.txt │ ├── CB05CL_AE5 │ │ ├── CAMP │ │ │ ├── config_cb05cl_ae5.json │ │ │ ├── out │ │ │ │ ├── cb05cl_ae5_camp_results.txt │ │ │ │ └── plot_cb05cl_ae.conf │ │ │ └── run.sh │ │ ├── PlotFullGas.ipynb │ │ ├── config_full_gas.yaml │ │ ├── runKFwd.sh │ │ └── runModel.sh │ ├── CMAQ_H2O2 │ │ ├── CMAQ_H2O2.dat │ │ ├── CMAQ_H2O2_results.txt │ │ ├── PlotCMAQ_H2O2.ipynb │ │ ├── config_cmaq_h2o2.json │ │ ├── config_cmaq_h2o2.yaml │ │ └── runModel.sh │ ├── CMAQ_OH_HNO3 │ │ ├── CMAQ_OH_HNO3.dat │ │ ├── CMAQ_OH_HNO3_results.txt │ │ ├── PlotCMAQ_OH_HNO3.ipynb │ │ ├── config_oh_hno3.json │ │ ├── config_oh_hno3.yaml │ │ └── runModel.sh │ ├── CarbonBond05 │ │ ├── CarboBound5.ipynb │ │ ├── PlotFullGas.ipynb │ │ ├── config_full_gas.yaml │ │ ├── full_gas.dat │ │ ├── runModel.sh │ │ └── runModel2.sh │ ├── ChapmanConstPhotolysis │ │ ├── Chapman.dat │ │ ├── PlotChapman.ipynb │ │ ├── config_chapman.yaml │ │ └── runModel.sh │ ├── Emission │ │ ├── Emissions.dat │ │ ├── PlotEmissions.ipynb │ │ ├── config_emissions.json │ │ ├── config_emissions.yaml │ │ ├── emission_results.txt │ │ └── runModel.sh │ ├── Photolysis │ │ ├── Photolysis.dat │ │ ├── PlotPhotolysis.ipynb │ │ ├── config_photolysis.yaml │ │ ├── photolysis_results.txt │ │ └── runModel.sh │ └── Troe │ │ ├── PlotTroeCamp.ipynb │ │ ├── Troe.dat │ │ ├── config_troe │ │ ├── config_troe.yaml │ │ └── test_troe.json │ │ ├── runModelTroe.sh │ │ ├── runTroe.sh │ │ └── troe_results.txt │ ├── ConstantVolumeIgnition │ ├── PlotGri3.0.ipynb │ └── run.sh │ ├── InitialConditionPFR │ ├── PlotResultsSimpleSurface.ipynb │ ├── SimpleSurface.tar.gz │ ├── inputs │ │ ├── inputSurf.dat │ │ └── sample.dat │ └── runit.sh │ ├── JacobianHomogeneousGasReactor │ ├── pyTChemJacobianHomogenousGasReactorGri3.ipynb │ ├── pyTChemJacobianHomogenousGasReactorH2.ipynb │ └── pyTChemJacobianHomogenousGasReactorH2OneSample.ipynb │ ├── ModelVariation │ └── H2 │ │ ├── MakeSample.ipynb │ │ ├── inputs │ │ ├── ParameterModifiers.dat │ │ └── sample.dat │ │ └── runit.sh │ ├── ModelVariationVerification │ ├── KForward │ │ ├── MakeSamplePropane.ipynb │ │ ├── checkPLOG.sh │ │ └── runit.sh │ ├── inputs │ │ ├── Factors.dat │ │ ├── MakeFactor.py │ │ ├── ThinkMech_chem.inp │ │ ├── ThinkMech_therm.dat │ │ ├── ThinkMech_trans.dat │ │ └── sample.dat │ └── runit.sh │ ├── PlugFlowReactor │ ├── CH4-PTnogas │ │ ├── PFRSolution.tar.gz │ │ ├── PlotPFR.ipynb │ │ └── runit.sh │ ├── CH4-PTnogas_SA │ │ ├── MakeSampleAndPlotPFR.ipynb │ │ ├── PFRSolution.tar.gz │ │ ├── inputs │ │ │ ├── inputSurf.dat │ │ │ ├── inputVelocity.dat │ │ │ └── sample.dat │ │ └── runit.sh │ ├── X │ │ ├── PlotPFR.ipynb │ │ └── runit.sh │ └── X_SA │ │ ├── PlotPFRSA.ipynb │ │ ├── inputs │ │ ├── inputSurf.dat │ │ ├── inputVelocity.dat │ │ └── sample.dat │ │ └── runit.sh │ ├── PythonInterface │ ├── IgnitionZeroD │ │ ├── TChem_Logo_Small.jpg │ │ ├── helper.py │ │ └── pyTChem.ipynb │ ├── JacobianHomogeneousGasReactor │ │ ├── pyTChemJacobianHomogenousGasReactorGri3.ipynb │ │ └── pyTChemJacobianHomogenousGasReactorH2.ipynb │ ├── ModelVariation │ │ ├── helper.py │ │ ├── n-butanol │ │ │ ├── kmod.reactions.fix │ │ │ └── selectedReactionForSenstivityAnalysis.txt │ │ ├── pyTChemModelVariation.ipynb │ │ ├── pyTChemModelVariationH2.ipynb │ │ └── pyTChemModelVariationNbutanol.py │ ├── NetProductionRatePerMass │ │ └── pyTChemNetProductionRatePerMass.ipynb │ └── ThermalProperties │ │ └── pyTChemThermalProperties.ipynb │ ├── T-CSTR │ └── CH4_PT_Quinceno2006 │ │ ├── PlotT-CSTR.ipynb │ │ ├── inputs │ │ ├── chemSurf.inp │ │ ├── chemgri30.inp │ │ ├── inputSurf.dat │ │ ├── sample_phi1.dat │ │ ├── thermSurf.dat │ │ └── thermgri30.dat │ │ └── run.sh │ ├── TLA │ ├── H2 │ │ ├── PlotTLA.ipynb │ │ ├── input_h2.json │ │ ├── runit.sh │ │ └── sample_h2.json │ └── ModelVariation │ │ ├── MakeH2.py │ │ ├── PlotModelVariation.ipynb │ │ ├── helper.py │ │ ├── input_h2.json │ │ ├── inputs │ │ ├── factors.json │ │ └── sample.json │ │ └── runit.sh │ ├── ThermalProperties │ ├── EnthalpyCp.tar.gz │ ├── MakeCpAndHplots.ipynb │ ├── USC │ │ ├── MakeSampleGRI3.0.ipynb │ │ ├── README.txt │ │ ├── inputs │ │ │ └── sample.dat │ │ ├── makeTChemInputFromTChemSolution.py │ │ ├── pmixSample.py │ │ ├── runIgnition.sh │ │ └── runThermo.sh │ ├── run.sh │ ├── runTime.sh │ ├── sample.dat │ ├── sample1.dat │ ├── sample100.dat │ ├── sample10000.dat │ ├── sample3600.dat │ ├── sample400.dat │ └── sample40000.dat │ ├── ToyProblem │ ├── inputs │ │ ├── chem.inp │ │ ├── chem.yaml │ │ └── therm.dat │ ├── run.sh │ └── run_yaml.sh │ ├── gri3.0_IgnDelay │ ├── IgnitionDelayTime.tar.gz │ ├── MakeSampleGRI3.0.ipynb │ ├── inputs │ │ └── sample.dat │ └── run.sh │ ├── gri3.0_IgnitionZeroD │ ├── IgnSolution.tar.gz │ ├── PlotGri3.0.ipynb │ ├── run.sh │ └── run_host_single.sh │ ├── isoOctane_IgnDelay │ ├── IsoOctaneBlakePlot-h5.ipynb │ ├── batch.slurm │ ├── chem.inp │ ├── isoOctaneIgnDelayBlake.hdf5 │ ├── sample10atm.dat │ ├── sample16atm.dat │ ├── sample34atm.dat │ ├── sample45atm.dat │ └── therm.dat │ ├── scripts │ └── pmixSample.py │ └── umerced │ ├── H2 │ ├── chem.inp │ └── therm.dat │ └── run.sh ├── git ├── README └── pre-commit ├── main ├── CMakeLists.txt ├── TChem_JSON_Test.cpp ├── TChem_Main.cpp ├── TChem_Main_Util.cpp ├── TChem_Main_Util.hpp ├── input-const-volume-ignition-tla.json ├── input.json └── sample.json ├── markdown ├── Figures │ ├── CH4-PTnogas │ │ ├── SimpleSurface.jpg │ │ ├── SimpleSurface.pdf │ │ ├── TempDensVelPFR.jpg │ │ ├── TempDensVelPFR.pdf │ │ ├── TempDensVelPFR2.pdf │ │ ├── gas1.jpg │ │ ├── gas1.pdf │ │ ├── gas2.jpg │ │ ├── gas2.pdf │ │ ├── surf1.jpg │ │ ├── surf1.pdf │ │ ├── surf2.jpg │ │ ├── surf2.pdf │ │ └── surfgas1.pdf │ ├── CH4-PTnogas_SA │ │ ├── CH4SamplesPFR.jpg │ │ ├── CH4SamplesPFR.pdf │ │ ├── CH4XSamplesPFR.jpg │ │ ├── CH4XSamplesPFR.pdf │ │ ├── COSamplesPFR.jpg │ │ ├── COSamplesPFR.pdf │ │ ├── O2SamplesPFR.jpg │ │ ├── O2SamplesPFR.pdf │ │ ├── OHSamplesPFR.jpg │ │ ├── OHSamplesPFR.pdf │ │ ├── OXSamplesPFR.jpg │ │ ├── OXSamplesPFR.pdf │ │ ├── TempSamplesPFR.jpg │ │ ├── TempSamplesPFR.pdf │ │ ├── XSamplesPFR.jpg │ │ └── XSamplesPFR.pdf │ ├── ConstantVolumeIgnition │ │ ├── TempMassFraction2.jpg │ │ ├── TempMassFraction2.pdf │ │ ├── TempMassFraction3.jpg │ │ └── TempMassFraction3.pdf │ ├── T-CSTR │ │ ├── TempCH4O2.jpg │ │ ├── TempCH4O2.pdf │ │ ├── surface.jpg │ │ └── surface.pdf │ ├── X │ │ ├── SimpleSurface.jpg │ │ ├── TempDensVelPFR.jpg │ │ ├── gas1.jpg │ │ ├── gas2.jpg │ │ ├── surf1.jpg │ │ └── surf2.jpg │ ├── X_SA │ │ ├── CH4SamplesPFR.jpg │ │ ├── CH4XSamplesPFR.jpg │ │ ├── COSamplesPFR.jpg │ │ ├── O2SamplesPFR.jpg │ │ ├── OHSamplesPFR.jpg │ │ ├── OXSamplesPFR.jpg │ │ ├── TempSamplesPFR.jpg │ │ └── XSamplesPFR.jpg │ ├── gri3.0_IgnDelay │ │ ├── Gri3IgnDelayTime.jpg │ │ └── Gri3IgnDelayTime.pdf │ ├── gri3.0_OneSample │ │ ├── MixtureEnthalpy.jpg │ │ ├── MixtureEnthalpy.pdf │ │ ├── MixtureSpecificHeatCapacity.jpg │ │ ├── MixtureSpecificHeatCapacity.pdf │ │ ├── TempMassFraction.jpg │ │ ├── TempMassFraction2.jpg │ │ ├── TempMassFraction2.pdf │ │ ├── TempMassFraction3.jpg │ │ └── TempMassFraction3.pdf │ └── isoOctane │ │ ├── TempvsEquiRatio900IsoOctane10atm.jpg │ │ ├── TempvsEquiRatio900IsoOctane10atm.pdf │ │ ├── TempvsEquiRatio900IsoOctane16atm.jpg │ │ ├── TempvsEquiRatio900IsoOctane16atm.pdf │ │ ├── TempvsEquiRatio900IsoOctane34atm.jpg │ │ ├── TempvsEquiRatio900IsoOctane34atm.pdf │ │ ├── TempvsEquiRatio900IsoOctane45atm.jpg │ │ └── TempvsEquiRatio900IsoOctane45atm.pdf ├── README.md ├── build.md ├── cxx-interface.md ├── example-check-plog.md ├── example-constant-volume-ignition.md ├── example-plug-flow-reactor.md ├── example-transient-continuous-stirred-tank-reactor.md ├── example-zero-d-ignition.md ├── front.mdpp ├── future-work.md ├── input-file-spec.md ├── intro.md ├── python-interface.md ├── reaction-rates.md ├── svgs │ ├── 034d0a6be0424bffe9a6e7ac9236c0f5.svg │ ├── 03eff197f88c9fadf7abb66be563a57d.svg │ ├── 04610c0b2c099002f6c4162a717d2535.svg │ ├── 06767d6f7bb1cd39b3cdcdf00489ce8e.svg │ ├── 07504631eadd80ba7c0b6c51fb64bcaf.svg │ ├── 07e86e45b7ebe272704b69abf2775d41.svg │ ├── 08f4ed92f27cec32cdd7a6ecd580f9e7.svg │ ├── 0901b44a21af681b03ff0f22d16152bb.svg │ ├── 0983467432bb3b4f9708f334be19484b.svg │ ├── 099718c692469750f01c0407fec594d6.svg │ ├── 09f46a3fa978d93bcad493ebe355f1ba.svg │ ├── 0a5174be254172c0eab67e56c6c45b6a.svg │ ├── 0b97fdedec9e3b81bcd7b36e74c3455e.svg │ ├── 0ce45e53c156d30a0b3415aabf7119b6.svg │ ├── 0d1d13f8e6c640ac071fdc89eccec195.svg │ ├── 0e0faa6d268589b3c2a1f5b67c9ba877.svg │ ├── 0e34d813eb8572232bb709f72638f649.svg │ ├── 0e51a2dede42189d77627c4d742822c3.svg │ ├── 0f45e01abedb807fa5934327239deaaf.svg │ ├── 103d55e68b9a670bd7dabe5f14c12b76.svg │ ├── 106ce25270072d107463d9e3d761726c.svg │ ├── 10f8f9bf55a697fc978ffe2990e3209d.svg │ ├── 11225865d91da39256f9b08753744cbe.svg │ ├── 112d12b231c3277112d94b0a3d028253.svg │ ├── 1182793fd8c0d5cf203436e2b98a19a9.svg │ ├── 15bbefd6fe070a46e39f5f2ca587ed7d.svg │ ├── 15d851cfce799553cec908376fe8edd9.svg │ ├── 164a4e7252f344b81e8fc1c81fee4463.svg │ ├── 17f34be523c24e1ff998fbbaa5d02877.svg │ ├── 17ffd247b4cd30ada1116d476e437c94.svg │ ├── 186d59c845c8e08a0773e851a16cf2f1.svg │ ├── 1929f0d333ecacfc356b41b810e0e3ef.svg │ ├── 1a35cf75b6c416e1e4a2b594e79040e6.svg │ ├── 1a44fbb1b92aaaf7dcf2d11452ff9451.svg │ ├── 1aa19c5ae8db79847d59e829274a32ec.svg │ ├── 1b63f35b880a6307974273a3ff6063c9.svg │ ├── 1cc435f1c6677f067b4ce9080d2e3ac0.svg │ ├── 1e438235ef9ec72fc51ac5025516017c.svg │ ├── 1ea9d6a6e84b91e302f419bf16e7c083.svg │ ├── 1ef2bb61a0b900d70f5bb5878877524b.svg │ ├── 1fa5419fb064af84b66efc22cc701eff.svg │ ├── 1fc018edd54a76a01783d1cf35676916.svg │ ├── 2103f85b8b1477f430fc407cad462224.svg │ ├── 2110abbec80e8b015d84a6f3ff3b39a4.svg │ ├── 21663a2f28e9f47c55377a9395652923.svg │ ├── 219aa3e038365b48be98d9ff4c5f718f.svg │ ├── 21eb32fc163f794dc876ec8d8a7e721c.svg │ ├── 22ee389e4632e86737bc6179d55fa8cf.svg │ ├── 243ff7a534430724ea3bec1ed658c741.svg │ ├── 245f2492032ad4a46749f0d02654f9bd.svg │ ├── 259ce06b5bc89a23bcdcc86d59ca9a1b.svg │ ├── 265115398048f86e69120cf79f31d860.svg │ ├── 27685d3014878a9b9183ce59dbfd814f.svg │ ├── 280943022dbad51a4baf31c4d0a1a165.svg │ ├── 289d603344f1705b8c813e1e60cf251d.svg │ ├── 28e17a709303d4e6974167c26cdae468.svg │ ├── 29822729a557ad4aa815baf29c304d63.svg │ ├── 29ffca0920ebb7b057ba2c6ebecb9cd9.svg │ ├── 2a252b2efea4a6a3c86c6c997eb998df.svg │ ├── 2a758f220c95567c7ffd0d24de3d1e69.svg │ ├── 2ad9d098b937e46f9f58968551adac57.svg │ ├── 2be9125b047404431cda44420795f135.svg │ ├── 2c781ce15c67f00f33de98e04725b2cd.svg │ ├── 2d43fb32af068635d9b782cd4dc9ad36.svg │ ├── 2dcdaaab21cfdcd6af8bb5c7152f6314.svg │ ├── 2ee9d3b1ca3e4c89787ec8b40d1ff8de.svg │ ├── 2f118ee06d05f3c2d98361d9c30e38ce.svg │ ├── 2f38b966661ff4345cf5e316b9f242fc.svg │ ├── 2f54ce9d8494ad3a5972e07b542378f3.svg │ ├── 2fdb6e4ef94be3fa286740f931a4f8b0.svg │ ├── 309712647dd768282d52b8dd39b58e39.svg │ ├── 30dd6dc2648dcb1602be08b1f4017fb5.svg │ ├── 3173677423a86e28caa6d954dbc490ff.svg │ ├── 322293f4c8de899c7240408bf945d8fd.svg │ ├── 33e9a242fccff66db526b03628effc6b.svg │ ├── 34a6136ac3d7ff84d01c981c99a911e0.svg │ ├── 365a2e8e2120634e7f4a962f13a3acac.svg │ ├── 36b5afebdba34564d884d347484ac0c7.svg │ ├── 39a73887a8981ebcda407adf53724baf.svg │ ├── 3ad0ec2ee89b59307266895f322cd576.svg │ ├── 3b38266cee9b3164990cb71d4d23bd70.svg │ ├── 3b6b95f66f502909a93004814baf20c3.svg │ ├── 3bf9c1fe4273ed003fd49e744378a5ac.svg │ ├── 3c4a8848cce038b538772604d46b27ed.svg │ ├── 3d13090ef3ed1448f3c4dc166d06ab4d.svg │ ├── 3d766bbeab9c6e5fb98573e445fd1750.svg │ ├── 3d91d34d076e0b330a185fb1afcebd5a.svg │ ├── 3e18a4a28fdee1744e5e3f79d13b9ff6.svg │ ├── 402a64748a7c548103e8a6157b535764.svg │ ├── 40fa0494dc8068f04e467ba620c83693.svg │ ├── 4301479a3a8440338f69c69cca4cf901.svg │ ├── 442b346601e36ebd88fb5e1dcb529604.svg │ ├── 4467369d94a3da6705d94f709b6449e6.svg │ ├── 44bc9d542a92714cac84e01cbbb7fd61.svg │ ├── 45fbc9a9012c39e9d09b5d4d72092686.svg │ ├── 471cd13ef396b57e84e61c2936c8c71b.svg │ ├── 499b56b9cbe31d7851a2b0d03e1c29e6.svg │ ├── 4a098eebe1f9522fa69ab805055d980b.svg │ ├── 4a21d41467e2f8f0863977829fd3b7de.svg │ ├── 4a5617bf7bfc59a2c01ea4f011dbc8d0.svg │ ├── 4a6ed8460192dc853d7841074495a0c7.svg │ ├── 4b53f217352f474068cffe519d6d13d6.svg │ ├── 4bdc8d9bcfb35e1c9bfb51fc69687dfc.svg │ ├── 4cfe92e893a7541f68473ecb08419237.svg │ ├── 4d10d7c75897d3a464e366a699a7fd1e.svg │ ├── 4d33006efbb6d049cefa36cf852022bd.svg │ ├── 4e08aa709474ca0fe57f49c90750037f.svg │ ├── 4e2082af4c9c43d9e8b1f6e373fca803.svg │ ├── 4ebf880807deff5796460f39aea46f80.svg │ ├── 4f458fd82cc7bf86688db6b1e78483d0.svg │ ├── 4f4f4e395762a3af4575de74c019ebb5.svg │ ├── 50ecd896217abbb133d091a7fe7033c3.svg │ ├── 51a220590612f2489fa292d90a5390e7.svg │ ├── 51ff8dd5425caceacdb6d35fb11d9ccd.svg │ ├── 52fde155cfbe913657785eb2cce6f273.svg │ ├── 53d147e7f3fe6e47ee05b88b166bd3f6.svg │ ├── 55a049b8f161ae7cfeb0197d75aff967.svg │ ├── 565d218ec44f03073f47d33fb1bc89ab.svg │ ├── 585ac9d79cca22956fc68f669c65228a.svg │ ├── 5a50c5d739bc54d64cbc2fc81f9a537a.svg │ ├── 5a61ec3dc7d1dfb50dea76e536e103cd.svg │ ├── 5b06b752aa2c0c206adb43d311fa55cb.svg │ ├── 5b36d0010c2db6875d6f86872e41fa6a.svg │ ├── 5d4eb1294f0ec33176e0ae1f785de7c2.svg │ ├── 5ddc0343eace595807f8e765d33c2521.svg │ ├── 5dfc3ab84de9c94bbfee2e75b72e1184.svg │ ├── 5e16cba094787c1a10e568c61c63a5fe.svg │ ├── 607980980b21998a867d017baf966d07.svg │ ├── 607e40189eac71b30f6dbf57c6c5b447.svg │ ├── 60bca9f14ca3cdd80da13186d6202ffe.svg │ ├── 61318a08da86141c40bd590573834f0f.svg │ ├── 61e84f854bc6258d4108d08d4c4a0852.svg │ ├── 631987758e054abec9f4bfbf32d108ca.svg │ ├── 633827333593d726b468b9e76ae1598c.svg │ ├── 63bb9849783d01d91403bc9a5fea12a2.svg │ ├── 646ee7344b9ac741f33d392811137c62.svg │ ├── 64e120bb63546232c0b0ecdffde52aa1.svg │ ├── 6619f6364c444f53aaaeb589c503980d.svg │ ├── 66da4815adc68f5a3ed874ef42cfc1b4.svg │ ├── 6744c1a4e0d90bd6a7456834daf9a691.svg │ ├── 675eeb554f7b336873729327dab98036.svg │ ├── 6784e1fd68d75a57b35bd36247a1aefe.svg │ ├── 67d32b9c619b9de2f97828ca3c88cd9d.svg │ ├── 68e6b9bbfa397ea50739b1c5e352feda.svg │ ├── 69b12b0260dde6ae1d74082b2b183420.svg │ ├── 6a10adb605bbb9125942f41699e510a5.svg │ ├── 6a77a71a23b14c6278df699c22a6e2d4.svg │ ├── 6dbb78540bd76da3f1625782d42d6d16.svg │ ├── 6dcd557e98383f2d4b919d66c9c25071.svg │ ├── 6dec54c48a0438a5fcde6053bdb9d712.svg │ ├── 6e9a8da465a1a260890dcd5a7ba118bc.svg │ ├── 6f0756d6526003890f031bc29a28ad89.svg │ ├── 6f838ffdbd766333c824963d7549cf82.svg │ ├── 6fb5d226e2c01a382831002fe9cadc7b.svg │ ├── 702ac191c02c488ccefa784a503b53bf.svg │ ├── 707bc38d1141fe05fe7c6358c601899d.svg │ ├── 7121a782477cc66490570bffc8930993.svg │ ├── 718d4a9e99a84cde65c94ce39602d379.svg │ ├── 7208cfbcac22041caf4daa1a2e4a430a.svg │ ├── 7212004f8d34d0c1fcfaf074afbe2caa.svg │ ├── 72229410dfe82ddef76a9f8c34140a7f.svg │ ├── 72994c9c54acfb33b81b90cb225b4357.svg │ ├── 72e3d756694e6f90e9d8121a6c89cbc6.svg │ ├── 75812095c310a215c0dde79d1ddebb39.svg │ ├── 7691c53f9aa1213707a59ead5607e1cc.svg │ ├── 777b4a1b078a12a58113039d3a9e1c4c.svg │ ├── 77a3b857d53fb44e33b53e4c8b68351a.svg │ ├── 784fe7a00499f13cbcf5903ae21827c6.svg │ ├── 7ae272b8bde40ee0cc7499478cef899c.svg │ ├── 7b181ebe8079e5a6256050df2bbb087c.svg │ ├── 7b5287a9745d406c657afd5946cf1f01.svg │ ├── 7b9a0316a2fcd7f01cfd556eedf72e96.svg │ ├── 7c001b9ede0e5160815cb71570f8d4e6.svg │ ├── 7c1b95ad4188c8427ac854485be6a485.svg │ ├── 7d5884aeae96235ea7240df02bc3207c.svg │ ├── 7db7bb668a45f8c25263aa8d42c92f0e.svg │ ├── 7e1cc19956f3e6def2b7ce351cdab04d.svg │ ├── 7f87b958a998866226cc01233172402e.svg │ ├── 7f936bb1c1dc952b6731aaf76b41df20.svg │ ├── 8117ebe3941e23c693a94a132f45d1b6.svg │ ├── 8175b4b012861c57d7f99a503fdcaa72.svg │ ├── 8297fb0ef40b4094af5ce4d4854c8fc1.svg │ ├── 83f96341b70056c1342f4e593867bf19.svg │ ├── 84c95f91a742c9ceb460a83f9b5090bf.svg │ ├── 854ee57c45dfe5541364c526c63fc0c7.svg │ ├── 855093ed64e644805aaff6b24157232e.svg │ ├── 868e8badcde8b46d167109ad779d6f56.svg │ ├── 86aa7d769ae41b760b561beb8d611acb.svg │ ├── 86f1d37bd3330b95361d54e5c11db386.svg │ ├── 89b836cb395e7897a6a51d6a93a487e8.svg │ ├── 89ef0b1086da48459dd5f47ed088933b.svg │ ├── 8a5024844db7df08da90ba8fe00b632e.svg │ ├── 8cd34385ed61aca950a6b06d09fb50ac.svg │ ├── 8d3f80b3bf492899ffe45de09ebde6c9.svg │ ├── 8d69b56f74dd3aa880ae9044c2b9ef61.svg │ ├── 8da69d466a25417b3890bf804feed2d0.svg │ ├── 8eb543f68dac24748e65e2e4c5fc968c.svg │ ├── 900a2560791ec74560b5de36b95f985b.svg │ ├── 9169acb7431069ea81ce06d46ec3d023.svg │ ├── 91b7f323325c356aa9678bd264cd611f.svg │ ├── 9294da67e8fbc8ee3f1ac635fc79c893.svg │ ├── 9297d98d27e2aacf9bc52c4082105174.svg │ ├── 92fc2ee28f337bd6998d4b750736061a.svg │ ├── 939bfcf9c5e0a4fc239ac72428ac42d7.svg │ ├── 9458db33d70635758e0914dac4a04f2f.svg │ ├── 94970833d1b97187335330656fa9d589.svg │ ├── 956f9b5464575c780c33e4c138bddc2f.svg │ ├── 966dfb743557c8028b07ceaffee38676.svg │ ├── 97790d793f190b3b985b582fea9ceb20.svg │ ├── 98d3550aa86d168e7dcf0a5848051d16.svg │ ├── 9925e4d3a0486c8d876c6c8eec9e256d.svg │ ├── 9ad1568094e2a9f17f1cc28782ec690f.svg │ ├── 9ccbda7b283762831af5341797828c29.svg │ ├── 9cfe214e0728e7f4a951d22f9fb11863.svg │ ├── 9e95c5a8ca5130aad552b63e4d7d342f.svg │ ├── 9ed7bbf06bf98221bc2cbe38991f9f8a.svg │ ├── 9f3d75b8ba9e0e89cce5bd92a28d04c6.svg │ ├── a0f611fb7f1a79d56d386bd563021941.svg │ ├── a2c03c37b7494241aeb2f9087979ba4f.svg │ ├── a330a58ca19e6bf0df2960a30083d29c.svg │ ├── a3be6c1dfffdf48fdac5347cf58d0e51.svg │ ├── a429d1ad642bbcafbae2517713a9eb99.svg │ ├── a5dda47c08c32d1164e21afd3abdd059.svg │ ├── a5f0093e8021c3b2ad573805a6eb16a3.svg │ ├── a7588e8950c755ddcb25631cefaa7343.svg │ ├── a8306226788e6b4f1c4e0e15bb3b0120.svg │ ├── a8a6d2775483063fe212034bd95c34ff.svg │ ├── a90dab66c08841e0f3f61e4042f7733a.svg │ ├── a94db1a86e5e75f774b1aa11e35e52ca.svg │ ├── a959dddbf8d19a8a7e96404006dc8941.svg │ ├── a9c606d3e79a60e70b245e5d0e6279a8.svg │ ├── aa0100b240fecc99b861420df28900bd.svg │ ├── aa1ecc60c22a594e9a46f5f9e4b597f4.svg │ ├── aa8cfea83e4502fbd685d6c095494147.svg │ ├── ab1eb97d31e59bc83bdd3563750ef4ae.svg │ ├── ac05a2b46853b26a5826f8ca79f57e31.svg │ ├── ac3b20b327e05b381441b0d4b83060c1.svg │ ├── accccf62db7f34355b5c9c0d3f2991df.svg │ ├── adafc6cd6db037802e17adfd711c6340.svg │ ├── adcc4cfcc8c04eb08cff46c3fcacf99d.svg │ ├── ae05f90efdcc2db28b4c589608615795.svg │ ├── ae7f10b32ab01ef5567d34322bacdc17.svg │ ├── ae893ddc6a1df993f14669218c18b5e1.svg │ ├── af125457f5210d486f810999b1b58c70.svg │ ├── af7b36bf04dbba4704ab6101662fefe2.svg │ ├── b09bc86177601e586d14fb48ca4cb31d.svg │ ├── b0c08f9b595a704efb907fc688034d80.svg │ ├── b1ecdbb9cb88bb3bd2f7e5606b55165b.svg │ ├── b29d3be23e3dcd41524e9b1c2aa25c08.svg │ ├── b2af456716f3117a91da7afe70758041.svg │ ├── b4b356cc8f0001fbb1edac08b3d41b74.svg │ ├── b6c5b75bafc8bbc771fa716cb26245ff.svg │ ├── b775ee2871d37fdb69801bac39217722.svg │ ├── bb00a0b561b52725824241d9a6863bb0.svg │ ├── bd0a7d5d0fdbfba28665f6d471d1c31e.svg │ ├── c143d9d00975e5aeff727a1ae57f2c91.svg │ ├── c3ba58a2116b314428261bf36e9116b5.svg │ ├── c401619f66d3a4a96392fe1c60a5e6ed.svg │ ├── c463e6e229d0eeffb2fc6e42d5bac5cb.svg │ ├── c59566c48fcebc8309e5140360f10c00.svg │ ├── c8e50fa593d6aa9683d8ca7b539649b5.svg │ ├── c8eddaa9b1fbda344404636b42d210ac.svg │ ├── c9f8acd74c96c449b38d4c93218986d9.svg │ ├── ca17b45f895957a581477173533d4f46.svg │ ├── ca5b95374a81b49ab0145992a25d7566.svg │ ├── ca6789c7bf2a05cca1687988e789fa0a.svg │ ├── ca82b5b621b3d989dd3be80f9be73e26.svg │ ├── cabc1f5a5eff8974005011cf33a02ea3.svg │ ├── cbfb1b2a33b28eab8a3e59464768e810.svg │ ├── cbfe59f451914a48a7d1311e40487eeb.svg │ ├── cc1ab86accaef22be8a402bbb810388c.svg │ ├── cc396731acfbd4a81e126f38f1406b44.svg │ ├── cd175e30e5375f7a0712fedd7f396d3e.svg │ ├── ce1b187884d9ec47641fbec30b39acf9.svg │ ├── ced90dea038cfcbe17dd534b19baf404.svg │ ├── cfaafb368aad9f061dc8cd9d7de657c7.svg │ ├── cff7efa1402f5f9f9c39755f12fe75de.svg │ ├── d05b020cfe66331f185202f0a4934fcf.svg │ ├── d2009378d3ea828d5c4239c244cb6b3d.svg │ ├── d2c399cd1d7753ffef8c75d2532ee2aa.svg │ ├── d3883239730a36334067e7b5e4d027f8.svg │ ├── d3b0c006aae01017a67a2471e77eb110.svg │ ├── d3b2cb57916bbe676196fd7ac99eb482.svg │ ├── d4589f7200e3fcdef519ed20d7c01f9e.svg │ ├── d7690fcd6ed35f2b6db0419dcd2bed0c.svg │ ├── d77511b8b4962208d9b624a862946b23.svg │ ├── d87720ec5bd4c339560b90876020eeb3.svg │ ├── d99ec1601508d72f39e8f229c0784c89.svg │ ├── daa9ac6fe30dfd6dd5c7d1aba464e74f.svg │ ├── dc3da706b6c446fa1688c99721a8004b.svg │ ├── dc5ba856de79e6b5a835c6b6758a2192.svg │ ├── dd3325dbe653a147d23ef45ff7e46485.svg │ ├── ddcb483302ed36a59286424aa5e0be17.svg │ ├── df5a289587a2f0247a5b97c1e8ac58ca.svg │ ├── df75775429479ccbc461988cb3671168.svg │ ├── e0a50ae47e22e126ee04c138a9fc9abe.svg │ ├── e13aa4c27397b9f67cb186705363f6b3.svg │ ├── e17a12c6a00d025727994e7274e45bda.svg │ ├── e17c35f619f835117e1ff8e25d5f8a9c.svg │ ├── e18b24c87a7c52fd294215d16b42a437.svg │ ├── e2a241fbe2686639f625d53f453b0374.svg │ ├── e2b6809da50e776dc041bdae2b5704c1.svg │ ├── e48f71b9924bae1f2f4e0a193143aeed.svg │ ├── e680843a73d5214f63af89c487342755.svg │ ├── e6846fc684829faa89cafea9c7e2438c.svg │ ├── e731ad6c99fdbf568493d486b38bcf0d.svg │ ├── e7c6f613d22ebb4044633031821c56e2.svg │ ├── e8d7ad864665e4937272cf42ee61b3de.svg │ ├── e910d6d4d1c51b8f2e9acc988c074f15.svg │ ├── ea0f01f29e5c5285e2caf664085cce1a.svg │ ├── eac3eab07f20cec76812cb66d45f2b8e.svg │ ├── eb56e0ee5bf59de5e420246da6743545.svg │ ├── ec942be9945077e8e5c4a3ce691f10bc.svg │ ├── ed5e46d980be634296262ccdd38cd5a6.svg │ ├── ee070bffef288cab28aad0517a35741b.svg │ ├── ee9ad1358581d4762027c40c7a6a2d97.svg │ ├── f2809fd51e9b0b17e492b0a02b04d50b.svg │ ├── f3675ec9b91e45d012c7ee4a56ff5c0e.svg │ ├── f4540d93de2e937eeecf814e082ccca0.svg │ ├── f4f27006386e8ea611bad44a2da0fd14.svg │ ├── f50853d41be7d55874e952eb0d80c53e.svg │ ├── f53bd91c343fed10d5c829d244104c4d.svg │ ├── f5eb6315ee2e883d5ee40be1b8ce94e2.svg │ ├── f5f3de3e19aecdb0ddf75c2f8405feff.svg │ ├── f6f18800590555370c862a4c5a91ec18.svg │ ├── f74275c195a72099e0b06f584fd5489a.svg │ ├── f9298376b5e06f5cb827bee6dbb2ddc6.svg │ ├── f958c3f6ddcee774168d7f634bb7fd4e.svg │ ├── f98c0a1ba603227cbce4a93eed089dec.svg │ ├── fa83cb74bd784773c2f17097cab73bd1.svg │ ├── fc10563fc615ab663892b1cb7c5b29f1.svg │ ├── fcf5b27f967e9d70adfae49a1956e74a.svg │ ├── fda26aae5e9a669fc3ca900427c61989.svg │ ├── fefb7c0bcbb6c76c07b05834d0106b0d.svg │ └── ffe7fd1c572c71eb3391b987f2edd064.svg ├── thermodynamic-properties.md └── time-integration.md ├── pytchem ├── CMakeLists.txt ├── TChem_PyTChem.cpp └── pybind11 │ ├── .appveyor.yml │ ├── .clang-tidy │ ├── .cmake-format.yaml │ ├── .github │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE │ │ ├── bug-report.md │ │ ├── config.yml │ │ ├── feature-request.md │ │ └── question.md │ ├── dependabot.yml │ ├── labeler.yml │ ├── labeler_merged.yml │ ├── pull_request_template.md │ └── workflows │ │ ├── ci.yml │ │ ├── configure.yml │ │ ├── format.yml │ │ ├── labeler.yml │ │ └── pip.yml │ ├── .gitignore │ ├── .pre-commit-config.yaml │ ├── .readthedocs.yml │ ├── CMakeLists.txt │ ├── LICENSE │ ├── MANIFEST.in │ ├── README.rst │ ├── docs │ ├── Doxyfile │ ├── _static │ │ └── theme_overrides.css │ ├── advanced │ │ ├── cast │ │ │ ├── chrono.rst │ │ │ ├── custom.rst │ │ │ ├── eigen.rst │ │ │ ├── functional.rst │ │ │ ├── index.rst │ │ │ ├── overview.rst │ │ │ ├── stl.rst │ │ │ └── strings.rst │ │ ├── classes.rst │ │ ├── embedding.rst │ │ ├── exceptions.rst │ │ ├── functions.rst │ │ ├── misc.rst │ │ ├── pycpp │ │ │ ├── index.rst │ │ │ ├── numpy.rst │ │ │ ├── object.rst │ │ │ └── utilities.rst │ │ └── smart_ptrs.rst │ ├── basics.rst │ ├── benchmark.py │ ├── benchmark.rst │ ├── changelog.rst │ ├── classes.rst │ ├── cmake │ │ └── index.rst │ ├── compiling.rst │ ├── conf.py │ ├── faq.rst │ ├── index.rst │ ├── installing.rst │ ├── limitations.rst │ ├── pybind11-logo.png │ ├── pybind11_vs_boost_python1.png │ ├── pybind11_vs_boost_python1.svg │ ├── pybind11_vs_boost_python2.png │ ├── pybind11_vs_boost_python2.svg │ ├── reference.rst │ ├── release.rst │ ├── requirements.txt │ └── upgrade.rst │ ├── include │ └── pybind11 │ │ ├── attr.h │ │ ├── buffer_info.h │ │ ├── cast.h │ │ ├── chrono.h │ │ ├── common.h │ │ ├── complex.h │ │ ├── detail │ │ ├── class.h │ │ ├── common.h │ │ ├── descr.h │ │ ├── init.h │ │ ├── internals.h │ │ └── typeid.h │ │ ├── eigen.h │ │ ├── embed.h │ │ ├── eval.h │ │ ├── functional.h │ │ ├── iostream.h │ │ ├── numpy.h │ │ ├── operators.h │ │ ├── options.h │ │ ├── pybind11.h │ │ ├── pytypes.h │ │ ├── stl.h │ │ └── stl_bind.h │ ├── pybind11-stable.tar.gz │ ├── pybind11 │ ├── __init__.py │ ├── __main__.py │ ├── _version.py │ ├── _version.pyi │ ├── commands.py │ ├── py.typed │ ├── setup_helpers.py │ └── setup_helpers.pyi │ ├── pyproject.toml │ ├── setup.cfg │ ├── setup.py │ ├── tests │ ├── CMakeLists.txt │ ├── conftest.py │ ├── constructor_stats.h │ ├── cross_module_gil_utils.cpp │ ├── env.py │ ├── extra_python_package │ │ ├── pytest.ini │ │ └── test_files.py │ ├── extra_setuptools │ │ ├── pytest.ini │ │ └── test_setuphelper.py │ ├── local_bindings.h │ ├── object.h │ ├── pybind11_cross_module_tests.cpp │ ├── pybind11_tests.cpp │ ├── pybind11_tests.h │ ├── pytest.ini │ ├── requirements.txt │ ├── test_async.cpp │ ├── test_async.py │ ├── test_buffers.cpp │ ├── test_buffers.py │ ├── test_builtin_casters.cpp │ ├── test_builtin_casters.py │ ├── test_call_policies.cpp │ ├── test_call_policies.py │ ├── test_callbacks.cpp │ ├── test_callbacks.py │ ├── test_chrono.cpp │ ├── test_chrono.py │ ├── test_class.cpp │ ├── test_class.py │ ├── test_cmake_build │ │ ├── CMakeLists.txt │ │ ├── embed.cpp │ │ ├── installed_embed │ │ │ └── CMakeLists.txt │ │ ├── installed_function │ │ │ └── CMakeLists.txt │ │ ├── installed_target │ │ │ └── CMakeLists.txt │ │ ├── main.cpp │ │ ├── subdirectory_embed │ │ │ └── CMakeLists.txt │ │ ├── subdirectory_function │ │ │ └── CMakeLists.txt │ │ ├── subdirectory_target │ │ │ └── CMakeLists.txt │ │ └── test.py │ ├── test_constants_and_functions.cpp │ ├── test_constants_and_functions.py │ ├── test_copy_move.cpp │ ├── test_copy_move.py │ ├── test_custom_type_casters.cpp │ ├── test_custom_type_casters.py │ ├── test_docstring_options.cpp │ ├── test_docstring_options.py │ ├── test_eigen.cpp │ ├── test_eigen.py │ ├── test_embed │ │ ├── CMakeLists.txt │ │ ├── catch.cpp │ │ ├── external_module.cpp │ │ ├── test_interpreter.cpp │ │ └── test_interpreter.py │ ├── test_enum.cpp │ ├── test_enum.py │ ├── test_eval.cpp │ ├── test_eval.py │ ├── test_eval_call.py │ ├── test_exceptions.cpp │ ├── test_exceptions.py │ ├── test_factory_constructors.cpp │ ├── test_factory_constructors.py │ ├── test_gil_scoped.cpp │ ├── test_gil_scoped.py │ ├── test_iostream.cpp │ ├── test_iostream.py │ ├── test_kwargs_and_defaults.cpp │ ├── test_kwargs_and_defaults.py │ ├── test_local_bindings.cpp │ ├── test_local_bindings.py │ ├── test_methods_and_attributes.cpp │ ├── test_methods_and_attributes.py │ ├── test_modules.cpp │ ├── test_modules.py │ ├── test_multiple_inheritance.cpp │ ├── test_multiple_inheritance.py │ ├── test_numpy_array.cpp │ ├── test_numpy_array.py │ ├── test_numpy_dtypes.cpp │ ├── test_numpy_dtypes.py │ ├── test_numpy_vectorize.cpp │ ├── test_numpy_vectorize.py │ ├── test_opaque_types.cpp │ ├── test_opaque_types.py │ ├── test_operator_overloading.cpp │ ├── test_operator_overloading.py │ ├── test_pickling.cpp │ ├── test_pickling.py │ ├── test_pytypes.cpp │ ├── test_pytypes.py │ ├── test_sequences_and_iterators.cpp │ ├── test_sequences_and_iterators.py │ ├── test_smart_ptr.cpp │ ├── test_smart_ptr.py │ ├── test_stl.cpp │ ├── test_stl.py │ ├── test_stl_binders.cpp │ ├── test_stl_binders.py │ ├── test_tagbased_polymorphic.cpp │ ├── test_tagbased_polymorphic.py │ ├── test_union.cpp │ ├── test_union.py │ ├── test_virtual_functions.cpp │ └── test_virtual_functions.py │ └── tools │ ├── FindCatch.cmake │ ├── FindEigen3.cmake │ ├── FindPythonLibsNew.cmake │ ├── check-style.sh │ ├── cmake_uninstall.cmake.in │ ├── libsize.py │ ├── pybind11Common.cmake │ ├── pybind11Config.cmake.in │ ├── pybind11NewTools.cmake │ ├── pybind11Tools.cmake │ ├── pyproject.toml │ ├── setup_global.py.in │ └── setup_main.py.in └── unit-test ├── CMakeLists.txt ├── TChem_Test_Driver.cpp ├── TChem_Test_ReactionRates.hpp ├── TChem_Test_ThermalProperties.hpp ├── TChem_Test_Util.hpp ├── gas-yaml ├── CMakeLists.txt ├── TChem_Test_DriverYaml.cpp ├── TChem_Test_ReactionRatesYaml.hpp ├── TChem_Test_ThermalPropertiesYaml.hpp ├── inputs_chebyshev │ ├── chem.yaml │ ├── inputGas.dat │ ├── kfwd_net-production-rate-per-mass-chebyshev.dat │ ├── krev_net-production-rate-per-mass-chebyshev.dat │ ├── net-production-rate-per-mass-chebyshev.dat │ ├── ropfwd_net-production-rate-per-mass-chebyshev.dat │ └── roprev_net-production-rate-per-mass-chebyshev.dat └── inputs_plog │ ├── chem.yaml │ ├── kfwd_net-production-rate-per-mass-plog.dat │ ├── krev_net-production-rate-per-mass-plog.dat │ ├── net-production-rate-per-mass-plog.dat │ ├── ropfwd_net-production-rate-per-mass-plog.dat │ ├── roprev_net-production-rate-per-mass-plog.dat │ └── sample.dat ├── ignition-zero-d ├── CMakeLists.txt ├── TChem_Test_Driver.cpp ├── TChem_Test_IgnitionZeroD.hpp └── reference │ ├── IgnSolution.dat │ ├── analytic_Jacobian_ign_zero_d.dat │ ├── kmod.echo │ ├── kmod.list │ ├── numerical_Jacobian_fwd_ign_zero_d.dat │ ├── numerical_Jacobian_ign_zero_d.dat │ ├── sacado_Jacobian_ign_zero_d.dat │ └── source_term_ign_zero_d.dat ├── plug-flow-reactor ├── CMakeLists.txt ├── TChem_Test_Driver.cpp ├── TChem_Test_PlugFlowReactor.hpp ├── TChem_Test_PlugFlowReactorBatch.hpp └── reference │ ├── PFRSolution.dat │ ├── PFRSolution8Samples.dat │ ├── kmod.echo │ ├── kmod.list │ ├── kmodSurf.echo │ └── kmodSurf.list ├── reference ├── CpMixMass.dat ├── CvMixMass.dat ├── EnthalpyMixMass.dat ├── EntropyMixMass.dat ├── InternalEnergyMixMass.dat ├── kmod.ref.echo └── net-production-rate-per-mass.dat ├── surface-ford-motz-wise ├── CMakeLists.txt ├── TChem_Test_Driver.cpp ├── TChem_Test_SurfaceFordMotzWise.hpp └── reference │ ├── kmod.echo │ ├── kmodSurf.echo │ ├── omega.dat │ ├── omegaGasSurf.dat │ └── omegaSurf.dat └── surfaceKinetics ├── CMakeLists.txt ├── TChem_Test_Driver.cpp ├── TChem_Test_KineticModel.hpp ├── TChem_Test_ReactionRates.hpp ├── TChem_Test_Thermo.hpp └── input ├── PT ├── Enthalpy.ref.txt ├── EnthalpySurf.ref.txt ├── Gk.ref.txt ├── GkSurf.ref.txt ├── chem.cti ├── chem.inp ├── chemSurf.inp ├── input-gas.dat ├── input-surface.dat ├── kmod.ref.echo ├── kmod.ref.list ├── kmod.ref.reactions ├── kmodSurf.ref.echo ├── kmodSurf.ref.list ├── kmodSurf.ref.reactions ├── reactionrates-gas-surface.ref.txt ├── reactionrates-surface.ref.txt ├── therm.dat └── thermSurf.dat └── X ├── Enthalpy.txt ├── EnthalpySurf.txt ├── Gk.txt ├── GkSurf.txt ├── chem.inp ├── chemSurf.inp ├── chem_annotated-gas_surface.cti ├── input-gas.dat ├── input-surface.dat ├── inputVelocity.dat ├── kmod.ref.echo ├── kmod.ref.list ├── kmodSurf.ref.echo ├── kmodSurf.ref.list ├── periodictable.dat ├── reactionrates-gas-surface.ref.txt ├── reactionrates-surface.ref.txt ├── therm.dat └── thermSurf.dat /AUTHORS: -------------------------------------------------------------------------------- 1 | TChem Authors 2 | ============= 3 | 4 | * v2: Kyngjoo Kim, Oscar Diaz-Ibarra, Cosmin Safta 5 | + Fazle Rob also contributed to the conversion of TChem from C to C++ and the early implementation of Kokkos structures into thermodynamic and reaction rate utilities 6 | 7 | * v1: Cosmin Safta, Habib Najm, Omar Knio 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright 2020 National Technology & Engineering Solutions of Sandia, LLC (NTESS). 4 | 5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 6 | 7 | 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 8 | 9 | 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 10 | 11 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 12 | -------------------------------------------------------------------------------- /README.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/README.pdf -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Use this section to tell people about which versions of your project are 6 | currently being supported with security updates. 7 | 8 | | Version | Supported | 9 | | ------- | ------------------ | 10 | | 5.1.x | :white_check_mark: | 11 | | 5.0.x | :x: | 12 | | 4.0.x | :white_check_mark: | 13 | | < 4.0 | :x: | 14 | 15 | ## Reporting a Vulnerability 16 | 17 | Use this section to tell people how to report a vulnerability. 18 | 19 | Tell them where to go, how often they can expect to get an update on a 20 | reported vulnerability, what to expect if the vulnerability is accepted or 21 | declined, etc. 22 | -------------------------------------------------------------------------------- /logo/TChem_Logo_Large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/logo/TChem_Logo_Large.png -------------------------------------------------------------------------------- /logo/TChem_Logo_Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/logo/TChem_Logo_Small.png -------------------------------------------------------------------------------- /sand2020_10762.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/sand2020_10762.pdf -------------------------------------------------------------------------------- /scripts/run-conf-tchem-tpl-cuda-example.sh: -------------------------------------------------------------------------------- 1 | rm -f CMakeCache.txt; 2 | rm -rf CMakeFiles 3 | 4 | TCHEM_INSTALL_PATH=/your/tchem/install/path 5 | TCHEM_SRC_PATH=/your/tchem/src/path 6 | KOKKOS_INSTALL_PATH=/your/kokkos/install/path 7 | KOKKOS_NVCC_WRAPPER=${KOKKOS_INSTALL_PATH}/bin/nvcc_wrapper 8 | MATHUTILS_INSTALL_PATH=/your/mathutils/install/path 9 | GTEST_INSTALL_PATH=/your/gtest/install/path 10 | 11 | cmake \ 12 | -D CMAKE_INSTALL_PREFIX=${TCHEM_INSTALL_PATH} \ 13 | -D CMAKE_CXX_COMPILER=${KOKKOS_NVCC_WRAPPER} \ 14 | -D CMAKE_CXX_FLAGS="-g -lineinfo" \ 15 | -D TCHEM_ENABLE_VERBOSE=OFF \ 16 | -D TCHEM_ENABLE_TEST=ON \ 17 | -D TCHEM_ENABLE_EXAMPLE=ON \ 18 | -D KOKKOS_INSTALL_PATH=${KOKKOS_INSTALL_PATH} \ 19 | -D MATHUTILS_INSTALL_PATH=${MATHUTILS_INSTALL_PATH} \ 20 | -D GTEST_INSTALL_PATH=${GTEST_INSTALL_PATH} \ 21 | ${TCHEM_SRC_PATH} 22 | -------------------------------------------------------------------------------- /scripts/run-conf-tchem-tpl-host-example.sh: -------------------------------------------------------------------------------- 1 | rm -f CMakeCache.txt; 2 | rm -rf CMakeFiles 3 | 4 | TCHEM_INSTALL_PATH= 5 | TCHEM_SRC_PATH= 6 | KOKKOS_INSTALL_PATH= 7 | MATHUTILS_INSTALL_PATH= 8 | GTEST_INSTALL_PATH= 9 | 10 | cmake \ 11 | -D CMAKE_INSTALL_PREFIX=${TCHEM_INSTALL_PATH} \ 12 | -D CMAKE_CXX_COMPILER=g++ \ 13 | -D CMAKE_CXX_FLAGS="-g -lineinfo" \ 14 | -D TCHEM_ENABLE_VERBOSE=OFF \ 15 | -D TCHEM_ENABLE_TEST=ON \ 16 | -D TCHEM_ENABLE_EXAMPLE=ON \ 17 | -D KOKKOS_INSTALL_PATH=${KOKKOS_INSTALL_PATH} \ 18 | -D MATHUTILS_INSTALL_PATH=${MATHUTILS_INSTALL_PATH} \ 19 | -D GTEST_INSTALL_PATH=${GTEST_INSTALL_PATH} \ 20 | ${TCHEM_SRC_PATH} 21 | -------------------------------------------------------------------------------- /src/FindGtest.cmake: -------------------------------------------------------------------------------- 1 | # Check Kokkos installation 2 | FILE(GLOB_RECURSE GTEST_FOUND_CMAKE_FILE "${GTEST_INSTALL_PATH}/GTestConfig.cmake") 3 | MESSAGE(STATUS "Gtest install path : ${GTEST_INSTALL_PATH}") 4 | MESSAGE(STATUS "Gtest found cmake config : ${GTEST_FOUND_CMAKE_FILE}") 5 | IF (GTEST_FOUND_CMAKE_FILE) 6 | INCLUDE(${GTEST_FOUND_CMAKE_FILE}) 7 | SET(GTEST_FOUND ON) 8 | ELSE() 9 | MESSAGE(FATAL_ERROR "-- Gtest is not found at ${GTEST_INSTALL_PATH}") 10 | ENDIF() -------------------------------------------------------------------------------- /src/FindKokkos.cmake: -------------------------------------------------------------------------------- 1 | # Check Kokkos installation 2 | FILE(GLOB_RECURSE KOKKOS_FOUND_CMAKE_FILE "${KOKKOS_INSTALL_PATH}/KokkosConfig.cmake") 3 | 4 | MESSAGE(STATUS "Kokkos install path : ${KOKKOS_INSTALL_PATH}") 5 | MESSAGE(STATUS "Kokkos found cmake config : ${KOKKOS_FOUND_CMAKE_FILE}") 6 | 7 | IF (KOKKOS_FOUND_CMAKE_FILE) # AND KOKKOS_FOUND_INCLUDE_PATH AND KOKKOS_FOUND_LIBRARY) 8 | INCLUDE(${KOKKOS_FOUND_CMAKE_FILE}) 9 | SET(KOKKOS_FOUND ON) 10 | ELSE() 11 | MESSAGE(FATAL_ERROR "-- Kokkos is not found at ${KOKKOS_INSTALL_PATH}") 12 | ENDIF() -------------------------------------------------------------------------------- /src/FindTines.cmake: -------------------------------------------------------------------------------- 1 | # Check Tines installation 2 | FILE(GLOB_RECURSE TINES_FOUND_CMAKE_FILE "${TINES_INSTALL_PATH}/TinesConfig.cmake") 3 | 4 | MESSAGE(STATUS "Tines install path : ${TINES_INSTALL_PATH}") 5 | MESSAGE(STATUS "Tines found cmake config : ${TINES_FOUND_CMAKE_FILE}") 6 | 7 | IF (TINES_FOUND_CMAKE_FILE) 8 | INCLUDE(${TINES_FOUND_CMAKE_FILE}) 9 | SET(TINES_FOUND ON) 10 | ELSE() 11 | MESSAGE(FATAL_ERROR "-- Tines is not found at ${TINES_INSTALL_PATH}") 12 | ENDIF() -------------------------------------------------------------------------------- /src/cmake/TChemConfig.cmake.in: -------------------------------------------------------------------------------- 1 | @PACKAGE_INIT@ 2 | 3 | include("${CMAKE_CURRENT_LIST_DIR}/tchem-targets.cmake") -------------------------------------------------------------------------------- /src/cmake/TChem_Version.txt: -------------------------------------------------------------------------------- 1 | 2.0.0 2 | -------------------------------------------------------------------------------- /src/core/eti/TChem_IgnitionZeroD_SacadoJacobian_ETI.in: -------------------------------------------------------------------------------- 1 | #include "TChem_IgnitionZeroD_SacadoJacobianInternal.hpp" 2 | 3 | namespace TChem { 4 | using value_type = Sacado::Fad::SLFad; 5 | using policy_type = typename UseThisTeamPolicy<@EXEC_SPACE@>::type; 6 | using device_type = typename Tines::UseThisDevice<@EXEC_SPACE@>::type; 7 | template 8 | void 9 | IgnitionZeroD_SacadoJacobian_TemplateRun 10 | (const std::string& profile_name, 11 | const value_type& dummyValueType, 12 | const policy_type& policy, 13 | const Tines::value_type_2d_view& state, 14 | const Tines::value_type_3d_view& jacobian, 15 | const Tines::value_type_2d_view& workspace, 16 | const KineticModelConstData& kmcd); 17 | } // namespace TChem 18 | -------------------------------------------------------------------------------- /src/core/eti/TChem_IsothermalTransientContStirredTankReactorSacadoJacobian_ETI.in: -------------------------------------------------------------------------------- 1 | #include "TChem_IsothermalTransientContStirredTankReactorSacadoJacobianInternal.hpp" 2 | 3 | namespace TChem { 4 | constexpr bool is_scalar = @SLFAD_SIZE@ == 0; 5 | using value_type = typename std::conditional >::type; 8 | using policy_type = typename UseThisTeamPolicy<@EXEC_SPACE@>::type; 9 | using device_type = typename Tines::UseThisDevice<@EXEC_SPACE@>::type; 10 | template 11 | void 12 | IsothermalTransientContStirredTankReactorSacadoJacobian_TemplateRun 13 | ( /// input 14 | const std::string& profile_name, 15 | const value_type& dummyValueType, 16 | /// team size setting 17 | const policy_type& policy, 18 | 19 | const Tines::value_type_2d_view& state, 20 | const Tines::value_type_2d_view & site_fraction, 21 | const Tines::value_type_3d_view& Jacobian, 22 | const Tines::value_type_2d_view & rhs, 23 | const KineticModelConstData& kmcd, 24 | const KineticSurfModelConstData& kmcdSurf, 25 | const TransientContStirredTankReactorData& cstr); 26 | } // namespace TChem 27 | -------------------------------------------------------------------------------- /src/core/eti/TChem_PlugFlowReactorSacadoJacobian_ETI.in: -------------------------------------------------------------------------------- 1 | #include "TChem_PlugFlowReactorSacadoJacobianInternal.hpp" 2 | 3 | namespace TChem { 4 | constexpr bool is_scalar = @SLFAD_SIZE@ == 0; 5 | using value_type = typename std::conditional >::type; 8 | using policy_type = typename UseThisTeamPolicy<@EXEC_SPACE@>::type; 9 | using device_type = typename Tines::UseThisDevice<@EXEC_SPACE@>::type; 10 | template 11 | void 12 | PlugFlowReactorSacadoJacobian_TemplateRun 13 | ( /// input 14 | const std::string& profile_name, 15 | const value_type& dummyValueType, 16 | /// team size setting 17 | const policy_type& policy, 18 | 19 | const Tines::value_type_2d_view& state, 20 | const Tines::value_type_2d_view & site_fraction, 21 | const Tines::value_type_1d_view & velocity, 22 | const Tines::value_type_3d_view& Jacobian, 23 | const KineticModelConstData& kmcd, 24 | const KineticSurfModelConstData& kmcdSurf, 25 | const PlugFlowReactorData& pfrd); 26 | } // namespace TChem 27 | -------------------------------------------------------------------------------- /src/core/eti/TChem_TransientContStirredTankReactorSacadoJacobian_ETI.in: -------------------------------------------------------------------------------- 1 | #include "TChem_TransientContStirredTankReactorSacadoJacobianInternal.hpp" 2 | 3 | namespace TChem { 4 | constexpr bool is_scalar = @SLFAD_SIZE@ == 0; 5 | using value_type = typename std::conditional >::type; 8 | using policy_type = typename UseThisTeamPolicy<@EXEC_SPACE@>::type; 9 | using device_type = typename Tines::UseThisDevice<@EXEC_SPACE@>::type; 10 | template 11 | void 12 | TransientContStirredTankReactorSacadoJacobian_TemplateRun 13 | ( /// input 14 | const std::string& profile_name, 15 | const value_type& dummyValueType, 16 | /// team size setting 17 | const policy_type& policy, 18 | 19 | const Tines::value_type_2d_view& state, 20 | const Tines::value_type_2d_view & site_fraction, 21 | const Tines::value_type_3d_view& Jacobian, 22 | const KineticModelConstData& kmcd, 23 | const KineticSurfModelConstData& kmcdSurf, 24 | const TransientContStirredTankReactorData& cstr); 25 | } // namespace TChem 26 | -------------------------------------------------------------------------------- /src/example/data/AramcoMech/AramcoMech_1.3_C4_chem.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/AramcoMech/AramcoMech_1.3_C4_chem.dat -------------------------------------------------------------------------------- /src/example/data/AramcoMech/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/AramcoMech 3 | 4 | this="$exec --chemfile=$inputs/AramcoMech_1.3_C4_chem.dat \ 5 | --thermfile=$inputs/AramcoMech_1.3_therm.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution.dat \ 8 | --use-cvode=false \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-4\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-10 \ 13 | --rtol-time=1e-18 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=0.2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=1000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/AramcoMech/sample.dat: -------------------------------------------------------------------------------- 1 | T P C4H10 O2 N2 AR 2 | 1000 1.013250000000000000e+05 6.075041856298054460e-02 2.173895119224689421e-01 7.092943418325631244e-01 1.256572768198739760e-02 3 | -------------------------------------------------------------------------------- /src/example/data/AramcoMech2/AramcoMech_2.0_chem.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/AramcoMech2/AramcoMech_2.0_chem.dat -------------------------------------------------------------------------------- /src/example/data/AramcoMech2/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/src/example/data/AramcoMech2 3 | 4 | this="$exec --chemfile=$inputs/AramcoMech_2.0_chem.dat \ 5 | --thermfile=$inputs/AramcoMech_2.0_therm.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution.dat \ 8 | --use-cvode=false \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-4\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-10 \ 13 | --rtol-time=1e-18 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=0.2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=1000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/AramcoMech2/sample.dat: -------------------------------------------------------------------------------- 1 | T P C4H10 O2 N2 AR 2 | 1100 1.013250000000000000e+05 6.075041856298054460e-02 2.173895119224689421e-01 7.092943418325631244e-01 1.256572768198739760e-02 3 | -------------------------------------------------------------------------------- /src/example/data/H2/chem.inp: -------------------------------------------------------------------------------- 1 | ! Hydrogen mechanism, from : 2 | ! Yetter, R.A., Dryer, F.L., and Rabitz, H., Comb. Sci. & Tech., 3 | ! vol. 79, pp. 97-128 (1991) 4 | ! HNN: Took out N and N2 from elements and species lists 5 | ELEMENTS 6 | H O 7 | END 8 | 9 | SPECIES 10 | H2 O2 O OH H2O H HO2 H2O2 11 | END 12 | 13 | REACTIONS 14 | H+O2=O+OH 1.915E+14 0.00 1.644E+04 15 | O+H2=H+OH 5.080E+04 2.67 6.290E+03 16 | H2+OH=H2O+H 2.160E+08 1.51 3.430E+03 17 | OH+OH=O+H2O 1.230E+04 2.62 -1.880E+03 18 | H2+M=H+H+M 4.577E+19 -1.40 1.044E+05 19 | H2/2.5/ H2O/12/ 20 | O+O+M=O2+M 6.165E+15 -0.50 0.000E+00 21 | H2/2.5/ H2O/12/ 22 | O+H+M=OH+M 4.714E+18 -1.00 0.000E+00 23 | H2/2.5/ H2O/12/ 24 | H+OH+M=H2O+M 2.240E+22 -2.00 0.000E+00 25 | H2/2.5/ H2O/6.3/ 26 | H+O2+M=HO2+M 6.170E+19 -1.42 0.000E+00 27 | H2/2.5/ H2O/12/ 28 | HO2+H=H2+O2 6.630E+13 0.00 2.130E+03 29 | HO2+H=OH+OH 1.690E+14 0.00 8.740E+02 30 | HO2+O=O2+OH 1.810E+13 0.00 -4.000E+02 31 | HO2+OH=H2O+O2 1.450E+16 -1.00 0.000E+00 32 | HO2+HO2=H2O2+O2 3.020E+12 0.00 1.390E+03 33 | H2O2+M=OH+OH+M 1.202E+17 0.00 4.550E+04 34 | H2/2.5/ H2O/12/ 35 | H2O2+H=H2O+OH 1.000E+13 0.00 3.590E+03 36 | H2O2+H=HO2+H2 4.820E+13 0.00 7.950E+03 37 | H2O2+O=OH+HO2 9.550E+06 2.00 3.970E+03 38 | H2O2+OH=HO2+H2O 7.000E+12 0.00 1.430E+03 39 | END 40 | -------------------------------------------------------------------------------- /src/example/data/H2/chem_w_n2.inp: -------------------------------------------------------------------------------- 1 | ! Hydrogen mechanism, from : 2 | ! Yetter, R.A., Dryer, F.L., and Rabitz, H., Comb. Sci. & Tech., 3 | ! vol. 79, pp. 97-128 (1991) 4 | ! 5 | ELEMENTS 6 | H O N 7 | END 8 | 9 | SPECIES 10 | H2 O2 O OH H2O H HO2 H2O2 N2 11 | END 12 | 13 | REACTIONS 14 | H+O2<=>O+OH 1.915E+14 0.00 1.644E+04 15 | O+H2<=>H+OH 5.080E+04 2.67 6.290E+03 16 | H2+OH<=>H2O+H 2.160E+08 1.51 3.430E+03 17 | OH+OH<=>O+H2O 1.230E+04 2.62 -1.880E+03 18 | H2+M<=>H+H+M 4.577E+19 -1.40 1.044E+05 19 | H2/2.5/ H2O/12/ 20 | O+O+M<=>O2+M 6.165E+15 -0.50 0.000E+00 21 | H2/2.5/ H2O/12/ 22 | O+H+M<=>OH+M 4.714E+18 -1.00 0.000E+00 23 | H2/2.5/ H2O/12/ 24 | H+OH+M<=>H2O+M 2.240E+22 -2.00 0.000E+00 25 | H2/2.5/ H2O/6.3/ 26 | H+O2+M<=>HO2+M 6.170E+19 -1.42 0.000E+00 27 | H2/2.5/ H2O/12/ 28 | HO2+H<=>H2+O2 6.630E+13 0.00 2.130E+03 29 | HO2+H<=>OH+OH 1.690E+14 0.00 8.740E+02 30 | HO2+O<=>O2+OH 1.810E+13 0.00 -4.000E+02 31 | HO2+OH<=>H2O+O2 1.450E+16 -1.00 0.000E+00 32 | HO2+HO2<=>H2O2+O2 3.020E+12 0.00 1.390E+03 33 | H2O2+M<=>OH+OH+M 1.202E+17 0.00 4.550E+04 34 | H2/2.5/ H2O/12/ 35 | H2O2+H<=>H2O+OH 1.000E+13 0.00 3.590E+03 36 | H2O2+H<=>HO2+H2 4.820E+13 0.00 7.950E+03 37 | H2O2+O<=>OH+HO2 9.550E+06 2.00 3.970E+03 38 | H2O2+OH<=>HO2+H2O 7.000E+12 0.00 1.430E+03 39 | END 40 | -------------------------------------------------------------------------------- /src/example/data/H2/sample.dat: -------------------------------------------------------------------------------- 1 | T P H2 O2 2 | 9.000000000000000000e+02 1.013250000000000000e+05 2.743121354982623883e-01 7.256878645017376117e-01 3 | -------------------------------------------------------------------------------- /src/example/data/H2/sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "variable name" : [ "T", "P", "H2", "O2" ], 3 | "state vector" : [ [ 9.000000000000000000e+02, 1.013250000000000000e+05, 2.743121354982623883e-01, 7.256878645017376117e-01 ] ] 4 | } 5 | -------------------------------------------------------------------------------- /src/example/data/ThinkMech/ThinkMech_chem.inp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/ThinkMech/ThinkMech_chem.inp -------------------------------------------------------------------------------- /src/example/data/ThinkMech/ThinkMech_therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/ThinkMech/ThinkMech_therm.dat -------------------------------------------------------------------------------- /src/example/data/ThinkMech/ThinkMech_trans.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/ThinkMech/ThinkMech_trans.dat -------------------------------------------------------------------------------- /src/example/data/ignition-zero-d/gri3.0/sample.dat: -------------------------------------------------------------------------------- 1 | T P CH4 O2 N2 AR 2 | 1.000000000000000000e+03 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.137587863547695255e-01 1.264481895737025810e-02 3 | -------------------------------------------------------------------------------- /src/example/data/ignition-zero-d/input.dat: -------------------------------------------------------------------------------- 1 | 0.0 2 | 1013250.0 3 | 2500.0 4 | 0.028207406309 5 | 0.0728378568589 6 | 0.0286693614538 7 | 0.0797207732086 8 | 0.0792725995454 9 | 0.0167323001441 10 | 0.0368830535508 11 | 0.00167268667389 12 | 0.0641612226989 13 | 0.0610889087678 14 | 0.0610275854202 15 | 0.0270431323038 16 | 0.0364368667728 17 | 0.0794165202977 18 | 0.00702439458439 19 | 0.0396614830338 20 | 0.0213951855485 21 | 0.0611325598054 22 | 0.0554052131464 23 | 0.0536721487228 24 | 0.0520027515158 25 | 0.0365359896375 26 | -------------------------------------------------------------------------------- /src/example/data/ignition-zero-d/isoOctane/sample.dat: -------------------------------------------------------------------------------- 1 | T P IC8H18 O2 N2 AR 2 | 8.000000000000000000e+02 1.317225000000000000e+06 1.654852956820578869e-01 1.931486027241477166e-01 6.302015669181122437e-01 1.116453467568208867e-02 3 | 8.000000000000000000e+02 1.317225000000000000e+06 3.199283586619732639e-02 2.240454604478427647e-01 7.310112433832700596e-01 1.295046030268991698e-02 4 | 8.000000000000000000e+02 4.559625000000000000e+06 1.654852956820578869e-01 1.931486027241477166e-01 6.302015669181122437e-01 1.116453467568208867e-02 5 | 8.000000000000000000e+02 4.559625000000000000e+06 3.199283586619732639e-02 2.240454604478427647e-01 7.310112433832700596e-01 1.295046030268991698e-02 6 | 1.250000000000000000e+03 1.317225000000000000e+06 1.654852956820578869e-01 1.931486027241477166e-01 6.302015669181122437e-01 1.116453467568208867e-02 7 | 1.250000000000000000e+03 1.317225000000000000e+06 3.199283586619732639e-02 2.240454604478427647e-01 7.310112433832700596e-01 1.295046030268991698e-02 8 | 1.250000000000000000e+03 4.559625000000000000e+06 1.654852956820578869e-01 1.931486027241477166e-01 6.302015669181122437e-01 1.116453467568208867e-02 9 | 1.250000000000000000e+03 4.559625000000000000e+06 3.199283586619732639e-02 2.240454604478427647e-01 7.310112433832700596e-01 1.295046030268991698e-02 10 | -------------------------------------------------------------------------------- /src/example/data/ignition-zero-d/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/ignition-zero-d/therm.dat -------------------------------------------------------------------------------- /src/example/data/iso-octane/run-cvode.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/isoOctane 3 | 4 | this="$exec --chemfile=$inputs/chem.inp \ 5 | --thermfile=$inputs/therm.dat \ 6 | --samplefile=sample.dat \ 7 | --outputfile=IgnSolution_cvode.dat \ 8 | --use-cvode=true \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-8 \ 13 | --atol-time=1e-18 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=0.25 \ 17 | --time-iterations-per-interval=50 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime_cvode.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold_cvode.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/iso-octane/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/isoOctane 3 | 4 | this="$exec --chemfile=$inputs/chem.inp \ 5 | --thermfile=$inputs/therm.dat \ 6 | --samplefile=sample.dat \ 7 | --outputfile=IgnSolution.dat \ 8 | --use-cvode=false \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-6\ 13 | --rtol-time=1e-12 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=0.25 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/iso-octane/sample.dat: -------------------------------------------------------------------------------- 1 | T P IC8H18 O2 N2 AR 2 | 8.000000000000000000e+02 1.013250000000000000e+06 1.654852956820578869e-01 1.931486027241477166e-01 6.302015669181122437e-01 1.116453467568208867e-02 3 | -------------------------------------------------------------------------------- /src/example/data/jacobian/input.dat: -------------------------------------------------------------------------------- 1 | 0.0 2 | 1013250.0 3 | 2500.0 4 | 0.028207406309 5 | 0.0728378568589 6 | 0.0286693614538 7 | 0.0797207732086 8 | 0.0792725995454 9 | 0.0167323001441 10 | 0.0368830535508 11 | 0.00167268667389 12 | 0.0641612226989 13 | 0.0610889087678 14 | 0.0610275854202 15 | 0.0270431323038 16 | 0.0364368667728 17 | 0.0794165202977 18 | 0.00702439458439 19 | 0.0396614830338 20 | 0.0213951855485 21 | 0.0611325598054 22 | 0.0554052131464 23 | 0.0536721487228 24 | 0.0520027515158 25 | 0.0365359896375 26 | -------------------------------------------------------------------------------- /src/example/data/jacobian/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/jacobian/therm.dat -------------------------------------------------------------------------------- /src/example/data/nbutane/chem_nbutane_T.inp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/nbutane/chem_nbutane_T.inp -------------------------------------------------------------------------------- /src/example/data/nbutane/run-cvode.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nbutane 3 | 4 | this="$exec --chemfile=$inputs/chem_nbutane.inp \ 5 | --thermfile=$inputs/therm_nbutane.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution_cvode.dat \ 8 | --use-cvode=true \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-8 \ 13 | --atol-time=1e-18 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime_cvode.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold_cvode.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/nbutane/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nbutane 3 | 4 | this="$exec --chemfile=$inputs/chem_nbutane.inp \ 5 | --thermfile=$inputs/therm_nbutane.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution.dat \ 8 | --use-cvode=false \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-6 \ 13 | --atol-time=1e-12 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/nbutane/runT-cvode.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nbutane 3 | 4 | this="$exec --chemfile=$inputs/chem_nbutane_T.inp \ 5 | --thermfile=$inputs/therm_nbutane.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolutionT_cvode.dat \ 8 | --use-cvode=true \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-8 \ 13 | --rtol-time=1e-18 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTimeT_cvode.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthresholdT_cvode.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/nbutane/runT.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nbutane 3 | 4 | this="$exec --chemfile=$inputs/chem_nbutane_T.inp \ 5 | --thermfile=$inputs/therm_nbutane.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolutionT.dat \ 8 | --use-cvode=false \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-6 \ 13 | --rtol-time=1e-12 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTimeT.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthresholdT.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/nbutane/sample.dat: -------------------------------------------------------------------------------- 1 | T P C4H10 O2 N2 AR 2 | 1.200000000000000000e+03 1.013250000000000000e+05 6.075041856298054460e-02 2.173895119224689421e-01 7.092943418325631244e-01 1.256572768198739760e-02 3 | -------------------------------------------------------------------------------- /src/example/data/nbutanol/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nbutanol 3 | this="$exec --chemfile=$inputs/chem_nbutanol.inp \ 4 | --thermfile=$inputs/therm_nbutanol.dat \ 5 | --samplefile=$inputs/sample.dat \ 6 | --outputfile=IgnSolution.dat \ 7 | --use-cvode=false \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-4\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-10 \ 12 | --rtol-time=1e-18 \ 13 | --dtmax=1e-3 \ 14 | --dtmin=1e-20 \ 15 | --tend=0.2 \ 16 | --time-iterations-per-interval=10 \ 17 | --max-time-iterations=1000 \ 18 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 19 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 20 | --threshold-temperature=1500" 21 | 22 | echo $this 23 | eval $this 24 | -------------------------------------------------------------------------------- /src/example/data/nbutanol/sample.dat: -------------------------------------------------------------------------------- 1 | T P NC4H9OH O2 N2 AR H2O 2 | 8.000000000000000000e+02 9.999997297499999404e+05 3.379999999999999671e-02 2.030000000000000138e-01 7.631980000000000430e-01 9.999999999999999547e-07 9.999999999999999547e-07 3 | -------------------------------------------------------------------------------- /src/example/data/ndodecane/run-cvode.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ndodecane 3 | this="$exec --chemfile=$inputs/chem_ndodecane.inp \ 4 | --thermfile=$inputs/therm_ndodecane.dat \ 5 | --samplefile=$inputs/sample.dat \ 6 | --outputfile=IgnSolution_cvode.dat \ 7 | --use-cvode=true \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-4\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-8 \ 12 | --atol-time=1e-18 \ 13 | --dtmax=1e-3 \ 14 | --dtmin=1e-20 \ 15 | --tend=0.2 \ 16 | --time-iterations-per-interval=20 \ 17 | --max-time-iterations=5000 \ 18 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 19 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 20 | --threshold-temperature=1500" 21 | 22 | echo $this 23 | eval $this 24 | -------------------------------------------------------------------------------- /src/example/data/ndodecane/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ndodecane 3 | this="$exec --chemfile=$inputs/chem_ndodecane.inp \ 4 | --thermfile=$inputs/therm_ndodecane.dat \ 5 | --samplefile=$inputs/sample.dat \ 6 | --outputfile=IgnSolution.dat \ 7 | --use-cvode=false \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-6\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-6 \ 12 | --rtol-time=1e-12 \ 13 | --dtmax=1e-3 \ 14 | --dtmin=1e-20 \ 15 | --tend=0.2 \ 16 | --time-iterations-per-interval=10 \ 17 | --max-time-iterations=1000 \ 18 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 19 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 20 | --threshold-temperature=1500" 21 | 22 | echo $this 23 | eval $this 24 | -------------------------------------------------------------------------------- /src/example/data/ndodecane/sample.dat: -------------------------------------------------------------------------------- 1 | T P NC12H26 O2 N2 AR 2 | 1.200000000000000000e+03 1.013250000000000000e+05 6.244102126951704690e-02 2.169982215727128128e-01 7.080176471629753276e-01 1.254310999479474852e-02 3 | -------------------------------------------------------------------------------- /src/example/data/nheptane/run-cvode.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nheptane 3 | 4 | this="$exec --chemfile=$inputs/chem.inp \ 5 | --thermfile=$inputs/therm.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution_cvode.dat \ 8 | --use-cvode=true \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-8\ 13 | --atol-time=1e-18 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=0.25 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime_cvode.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold_cvode.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/nheptane/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/nheptane 3 | 4 | this="$exec --chemfile=$inputs/chem.inp \ 5 | --thermfile=$inputs/therm.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution.dat \ 8 | --use-cvode=false \ 9 | --atol-newton=1e-18 \ 10 | --rtol-newton=1e-8\ 11 | --max-newton-iterations=20 \ 12 | --tol-time=1e-6\ 13 | --rtol-time=1e-12 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=0.25 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=2000 \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/data/nheptane/sample.dat: -------------------------------------------------------------------------------- 1 | T P NC7H16 O2 N2 AR 2 | 8.000000000000000000e+02 1.013250000000000000e+06 6.181736020594310460e-02 2.171425680562193705e-01 7.084886181086718082e-01 1.255145362916586065e-02 3 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/CH4-PTnogas/inputSurf.dat: -------------------------------------------------------------------------------- 1 | X(1) OX(7) 2 | 1.000000000000000056e-01 9.000000000000000222e-01 3 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/CH4-PTnogas/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.9e-3 2 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/CH4-PTnogas/sample.dat: -------------------------------------------------------------------------------- 1 | T P CH4(2) O2(3) N2 NO(4) 2 | 8.000000000000000000e+02 1.013250000000000000e+05 2.278117045364567647e-02 1.817948764380702409e-01 7.943583936860366679e-01 1.065559422247360985e-03 3 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/CH4-PTnogas/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/CH4-PTnogas/therm.dat -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/CH4-PTnogas/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/CH4-PTnogas/thermSurf.dat -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/chemSurf.inp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/PT/chemSurf.inp -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/inputGas.dat: -------------------------------------------------------------------------------- 1 | 2.700730661541209110e-01 2 | 1.013250000000000146e+05 3 | 1.300000000000000000e+03 4 | 0.000000000000000000e+00 5 | 0.000000000000000000e+00 6 | 5.834130512231755494e-01 7 | 2.221373132206369838e-01 8 | 0.000000000000000000e+00 9 | 0.000000000000000000e+00 10 | 0.000000000000000000e+00 11 | 1.944496355561874112e-01 12 | 0.000000000000000000e+00 13 | 0.000000000000000000e+00 14 | 0.000000000000000000e+00 15 | 0.000000000000000000e+00 16 | 0.000000000000000000e+00 17 | 0.000000000000000000e+00 18 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/inputGasOriginal.dat: -------------------------------------------------------------------------------- 1 | 2.700730661541209110e-01 2 | 1.013250000000000146e+05 3 | 1.300000000000000000e+03 4 | 0.000000000000000000e+00 5 | 0.000000000000000000e+00 6 | 5.834130512231755494e-01 7 | 2.221373132206369838e-01 8 | 0.000000000000000000e+00 9 | 0.000000000000000000e+00 10 | 0.000000000000000000e+00 11 | 1.944496355561874112e-01 12 | 0.000000000000000000e+00 13 | 0.000000000000000000e+00 14 | 0.000000000000000000e+00 15 | 0.000000000000000000e+00 16 | 0.000000000000000000e+00 17 | 0.000000000000000000e+00 18 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/inputSurfGas.dat: -------------------------------------------------------------------------------- 1 | 2.000000000000000389e-01 2 | 2.000000000000000389e-01 3 | 2.000000000000000389e-01 4 | 2.000000000000000389e-01 5 | 2.000000000000000389e-01 6 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/inputSurfGasOriginal.dat: -------------------------------------------------------------------------------- 1 | 2.000000000000000389e-01 2 | 2.000000000000000389e-01 3 | 2.000000000000000389e-01 4 | 2.000000000000000389e-01 5 | 2.000000000000000389e-01 6 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.899999999999999953e-02 2 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/plugflowreactorRHS.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(22) Omega(22) 2 | 0 -7.546471e+10 3 | 1 0.000000e+00 4 | 2 0.000000e+00 5 | 3 -5.069454e+07 6 | 4 6.761175e+07 7 | 5 0.000000e+00 8 | 6 0.000000e+00 9 | 7 0.000000e+00 10 | 8 -1.691721e+07 11 | 9 7.302009e-01 12 | 10 2.654576e-01 13 | 11 0.000000e+00 14 | 12 0.000000e+00 15 | 13 0.000000e+00 16 | 14 0.000000e+00 17 | 15 1.801713e+07 18 | 16 3.834393e+05 19 | 17 2.842852e+02 20 | 18 -2.843633e+02 21 | 19 1.224948e-05 22 | 20 7.805730e-02 23 | 21 2.220446e-16 24 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/PT/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/PT/thermSurf.dat -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/T/chem.inp: -------------------------------------------------------------------------------- 1 | ELEMENTS 2 | A /2./ 3 | B /3./ 4 | C /4./ 5 | P /1./ 6 | END 7 | SPECIES 8 | A B C AB CB 9 | END 10 | REACTIONS 11 | A + B=AB .9600E+15 -.200 16625.0 12 | C + B=CB .9600E+15 -.200 16625.0 13 | END 14 | 15 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/T/chemSurf.inp: -------------------------------------------------------------------------------- 1 | SITE SDEN/2.72E-9/ 2 | (P) B(P) 3 | END 4 | THERMO ALL 5 | 300.0 1000.0 3000.0 6 | B(P) B 1P 1 I 300.00 3000.00 1000.00 1 7 | 0.35989249E+01 0.20437732E-02-0.23878221E-06-0.22041054E-09 0.53299430E-13 2 8 | -0.41095444E+04-0.21604582E+02-0.20174649E+01 0.14146218E-01-0.16376665E-05 3 9 | -0.11264421E-07 0.60101386E-11-0.25084473E+04 0.79811935E+01 4 10 | (P) P 1 S 300.0 3000.0 1000.0 1 11 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2 12 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 3 13 | 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 4 14 | END 15 | 16 | REACTIONS KJOULES/MOLE MWOFF 17 | B(P) => (P) + B 1E+11 -0.1 50 18 | (P) + B => B(P) 1E+12 -0.069 19.573 19 | END 20 | 21 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/T/inputGas.dat: -------------------------------------------------------------------------------- 1 | 1.107872466742452766e-01 2 | 1.013250063145247696e+05 3 | 3.000000000000000000e+02 4 | 4.000000000000000222e-01 5 | 2.000000000000000111e-01 6 | 4.000000000000000222e-01 7 | 0.000000000000000000e+00 8 | 0.000000000000000000e+00 9 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/T/inputSurfGas.dat: -------------------------------------------------------------------------------- 1 | 1. 2 | 0. 3 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/T/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.899999999999999953e-02 2 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/T/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/T/thermSurf.dat -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/X/inputSurf.dat: -------------------------------------------------------------------------------- 1 | X(1) OX(25) 2 | 1.000000000000000056e-01 9.000000000000000222e-01 3 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/X/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.899999999999999953e-02 2 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/X/sample.dat: -------------------------------------------------------------------------------- 1 | T P CH4(2) O2(3) AR 2 | 8.500000000000000000e+02 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.264036053121397662e-01 3 | -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/X/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/X/therm.dat -------------------------------------------------------------------------------- /src/example/data/plug-flow-reactor/X/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/plug-flow-reactor/X/thermSurf.dat -------------------------------------------------------------------------------- /src/example/data/propane/chem.inp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/propane/chem.inp -------------------------------------------------------------------------------- /src/example/data/propane/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/propane/therm.dat -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/PT/inputGas.dat: -------------------------------------------------------------------------------- 1 | 2.273090047100067679e+00 2 | 1.013250000000000000e+06 3 | 1.544571392797537555e+03 4 | 0.000000000000000000e+00 5 | 0.000000000000000000e+00 6 | 5.834130512231755494e-01 7 | 2.221373132206369838e-01 8 | 0.000000000000000000e+00 9 | 0.000000000000000000e+00 10 | 0.000000000000000000e+00 11 | 1.944496355561874112e-01 12 | 0.000000000000000000e+00 13 | 0.000000000000000000e+00 14 | 0.000000000000000000e+00 15 | 0.000000000000000000e+00 16 | 0.000000000000000000e+00 17 | 0.000000000000000000e+00 18 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/PT/inputGasOriginal.dat: -------------------------------------------------------------------------------- 1 | 2.700730661541209110e-01 2 | 1.013250000000000146e+05 3 | 1.300000000000000000e+03 4 | 0.000000000000000000e+00 5 | 0.000000000000000000e+00 6 | 5.834130512231755494e-01 7 | 2.221373132206369838e-01 8 | 0.000000000000000000e+00 9 | 0.000000000000000000e+00 10 | 0.000000000000000000e+00 11 | 1.944496355561874112e-01 12 | 0.000000000000000000e+00 13 | 0.000000000000000000e+00 14 | 0.000000000000000000e+00 15 | 0.000000000000000000e+00 16 | 0.000000000000000000e+00 17 | 0.000000000000000000e+00 18 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/PT/inputSurfGas.dat: -------------------------------------------------------------------------------- 1 | 2.000000000000000389e-01 2 | 2.000000000000000389e-01 3 | 2.000000000000000389e-01 4 | 2.000000000000000389e-01 5 | 2.000000000000000389e-01 6 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/PT/inputSurfGasOriginal.dat: -------------------------------------------------------------------------------- 1 | 2.000000000000000389e-01 2 | 2.000000000000000389e-01 3 | 2.000000000000000389e-01 4 | 2.000000000000000389e-01 5 | 2.000000000000000389e-01 6 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/PT/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/reaction-rates-surfaces/PT/thermSurf.dat -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/X/inputGas.dat: -------------------------------------------------------------------------------- 1 | 2.382728466485578345e+00 2 | 1.013250000000000000e+06 3 | 1.351081455831330004e+03 4 | 0.000000000000000000e+00 5 | 0.000000000000000000e+00 6 | 6.362747384200722056e-01 7 | 1.214606078042428094e-01 8 | 2.422646537756847629e-01 9 | 0.000000000000000000e+00 10 | 0.000000000000000000e+00 11 | 0.000000000000000000e+00 12 | 0.000000000000000000e+00 13 | 0.000000000000000000e+00 14 | 0.000000000000000000e+00 15 | 0.000000000000000000e+00 16 | 0.000000000000000000e+00 17 | 0.000000000000000000e+00 18 | 0.000000000000000000e+00 19 | 0.000000000000000000e+00 20 | 0.000000000000000000e+00 21 | 0.000000000000000000e+00 22 | 0.000000000000000000e+00 23 | 0.000000000000000000e+00 24 | 0.000000000000000000e+00 25 | 0.000000000000000000e+00 26 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/X/inputGasOriginal.dat: -------------------------------------------------------------------------------- 1 | 1.051066039654527939e+00 2 | 1.013250000000000000e+06 3 | 1.524226440294723716e+03 4 | 2.751735567962312109e-03 5 | 1.260483009929382406e-02 6 | 6.117662404952511207e-02 7 | 7.024264337911884093e-02 8 | 4.619482482879996854e-02 9 | 7.609865416541732042e-02 10 | 2.644351591167282481e-02 11 | 6.431981322079168006e-02 12 | 1.723154312688846002e-02 13 | 5.027070940199691862e-02 14 | 9.016917740890991947e-03 15 | 5.568643532899008458e-02 16 | 6.475615926920032239e-02 17 | 9.010683253404009815e-03 18 | 5.854314633256740841e-02 19 | 1.661234477502801857e-02 20 | 8.077862617650995170e-02 21 | 1.214874582924915444e-02 22 | 7.561772305803964034e-02 23 | 2.859429698830643490e-02 24 | 7.409385683935217071e-02 25 | 8.780617065699471147e-02 26 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/X/inputSurfGas.dat: -------------------------------------------------------------------------------- 1 | 7.521818926151034590e-02 2 | 1.633639990195834930e-03 3 | 8.201751948978885931e-02 4 | 9.432431780170481839e-02 5 | 8.421274693172314807e-02 6 | 3.100636093646847238e-02 7 | 3.632315296745478733e-02 8 | 7.582311994462319349e-02 9 | 2.533489833844927708e-02 10 | 7.097148184155814554e-02 11 | 7.997821046536972289e-02 12 | 4.827318598732670968e-02 13 | 6.230438195653584948e-02 14 | 7.332205883390166545e-02 15 | 2.854913127912572096e-02 16 | 9.187053376250242653e-02 17 | 3.883707021176106833e-02 18 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/X/inputSurfGasOriginal.dat: -------------------------------------------------------------------------------- 1 | 5.008791574498570875e-02 2 | 5.349822900323288749e-02 3 | 8.211975385564321273e-02 4 | 4.246840268232909138e-02 5 | 8.277025668043255791e-02 6 | 7.620304017808089692e-02 7 | 2.222716192424904411e-02 8 | 7.687916671641675803e-02 9 | 8.494532118927977660e-02 10 | 2.020955831183468207e-02 11 | 4.027419423033612444e-02 12 | 8.191981524403224579e-02 13 | 6.090394683258038705e-02 14 | 1.921657889725113949e-02 15 | 7.429429578469300133e-02 16 | 3.348420961552112801e-02 17 | 9.849815310910135790e-02 18 | -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/X/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/reaction-rates-surfaces/X/therm.dat -------------------------------------------------------------------------------- /src/example/data/reaction-rates-surfaces/X/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/reaction-rates-surfaces/X/thermSurf.dat -------------------------------------------------------------------------------- /src/example/data/reaction-rates/omega-reference.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(53) Omega(53) 2 | 0 3.964071e+06 3 | 1 -2.509824e+06 4 | 2 -4.545162e+06 5 | 3 -2.640899e+05 6 | 4 9.459012e+05 7 | 5 7.325047e+05 8 | 6 -6.012919e+05 9 | 7 -8.554922e+04 10 | 8 -1.071878e+06 11 | 9 -7.073640e+05 12 | 10 -1.870479e+06 13 | 11 -2.164888e+05 14 | 12 2.910222e+06 15 | 13 -6.055419e+04 16 | 14 5.472395e+06 17 | 15 6.641011e+05 18 | 16 1.417101e+06 19 | 17 7.907009e+05 20 | 18 -2.592745e+05 21 | 19 -1.220883e+06 22 | 20 -1.156731e+04 23 | 21 -5.187176e+05 24 | 22 1.683895e+06 25 | 23 -1.369964e+05 26 | 24 6.328791e+05 27 | 25 -1.943826e+06 28 | 26 3.041346e+05 29 | 27 -2.207752e+06 30 | 28 7.170633e+05 31 | 29 -8.511988e+04 32 | 30 4.836594e+05 33 | 31 -5.237838e+05 34 | 32 -1.727859e+05 35 | 33 -1.045998e+04 36 | 34 -1.062345e+05 37 | 35 1.299000e+06 38 | 36 -7.641500e+05 39 | 37 9.947109e+04 40 | 38 -9.714397e+05 41 | 39 -8.358471e+05 42 | 40 4.291052e+05 43 | 41 9.816711e+03 44 | 42 -8.559170e+05 45 | 43 8.535022e+04 46 | 44 -1.111224e+05 47 | 45 1.736071e+05 48 | 46 1.896914e+05 49 | 47 0.000000e+00 50 | 48 -3.326832e+05 51 | 49 1.075278e+03 52 | 50 -8.847962e+05 53 | 51 4.762904e+05 54 | 52 1.222360e+06 55 | -------------------------------------------------------------------------------- /src/example/data/surface-ford-motz-wise/inputGas.dat: -------------------------------------------------------------------------------- 1 | 3.377322470801531057e-02 2 | 1.013250000000000000e+05 3 | 1.641752446762465752e+03 4 | 2.981065150979362796e-02 5 | 2.481551111008211980e-03 6 | 1.752703167759077363e-01 7 | 1.998499110268053304e-03 8 | 6.306238810456819832e-02 9 | 6.836215332867869032e-02 10 | 1.006684684303072175e-01 11 | 1.765870030888952169e-01 12 | 1.188959071075595259e-01 13 | 4.826107380131099134e-02 14 | 1.333869795514601997e-01 15 | 5.188497544748790768e-02 16 | 2.933003263275450051e-02 17 | -------------------------------------------------------------------------------- /src/example/data/surface-ford-motz-wise/inputSurfGas.dat: -------------------------------------------------------------------------------- 1 | 2.063379950554731779e-01 2 | 1.412504011422325949e-02 3 | 1.519685751256845130e-01 4 | 1.868428551664483572e-01 5 | 8.073851121817812726e-02 6 | 1.966395534151423041e-01 7 | 3.902508102367512055e-02 8 | 1.169611612912018761e-01 9 | 7.361227589973145559e-03 10 | -------------------------------------------------------------------------------- /src/example/data/toy-problem/chem.inp: -------------------------------------------------------------------------------- 1 | ELEMENTS 2 | X /1/ 3 | END 4 | SPECIES 5 | X X2 6 | END 7 | THERM ALL 8 | 300.000 1000.000 5000.000 9 | X X 1 G 200.000 6000.000 1000.00 1 10 | 2.50000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2 11 | -7.45375000E+02 4.37967000E+00 2.50000000E+00 0.00000000E+00 0.00000000E+00 3 12 | 0.00000000E+00 0.00000000E+00-7.45375000E+02 4.37967000E+00 4 13 | X2 X 2 G 200.000 6000.000 1000.00 1 14 | 2.50000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2 15 | -7.45375000E+02 4.37967000E+00 2.50000000E+00 0.00000000E+00 0.00000000E+00 3 16 | 0.00000000E+00 0.00000000E+00-7.45375000E+02 4.37967000E+00 4 17 | END 18 | REACTIONS 19 | X2=>2X 10E+0 1 1 20 | X+X=>X2 10E+0 1 1 21 | END 22 | 23 | -------------------------------------------------------------------------------- /src/example/data/toy-problem/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/data/toy-problem/therm.dat -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Arrhenius/config_arrhenius/rxn_arrhenius.json: -------------------------------------------------------------------------------- 1 | { 2 | "camp-data" : [ 3 | { 4 | "type" : "RELATIVE_TOLERANCE", 5 | "value" : 1.0e-10 6 | }, 7 | { 8 | "name" : "A", 9 | "type" : "CHEM_SPEC", 10 | "absolute integration tolerance" : 1.0e-10 11 | }, 12 | { 13 | "name" : "D", 14 | "type" : "CHEM_SPEC", 15 | "tracer type" : "CONSTANT" 16 | }, 17 | { 18 | "name" : "B", 19 | "type" : "CHEM_SPEC", 20 | "absolute integration tolerance" : 1.0e-10 21 | }, 22 | { 23 | "name" : "C", 24 | "type" : "CHEM_SPEC", 25 | "absolute integration tolerance" : 1.0e-10 26 | }, 27 | { 28 | "name" : "arrhenius", 29 | "type" : "MECHANISM", 30 | "reactions" : [ 31 | { 32 | "type" : "ARRHENIUS", 33 | "reactants" : { 34 | "A" : {}, 35 | "D" : {} 36 | }, 37 | "products" : { 38 | "B" : {} 39 | } 40 | }, 41 | { 42 | "type" : "ARRHENIUS", 43 | "reactants" : { 44 | "A" : {} 45 | }, 46 | "products" : { 47 | "B" : {} 48 | }, 49 | "A" : 1476.0, 50 | "Ea" : 5.5e-21, 51 | "B" : 150.0, 52 | "E" : 0.15, 53 | "time unit" : "MIN" 54 | }, 55 | { 56 | "type" : "ARRHENIUS", 57 | "reactants" : { 58 | "B" : {} 59 | }, 60 | "products" : { 61 | "C" : {}, 62 | "D" : {} 63 | }, 64 | "A" : 21.0, 65 | "C" : -4000.0, 66 | "B" : 11.0, 67 | "D" : 315.0, 68 | "E" : 0.05 69 | } 70 | ] 71 | } 72 | ] 73 | } 74 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Arrhenius/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_NetProductionRatePerMassNCAR.x 2 | chemfile="troe_arrhenius/config_arrhenius/config_arrhenius.yaml" 3 | 4 | $exec --chemfile=$chemfile 5 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Arrhenius/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_arrhenius/config_arrhenius.yaml \ 4 | --outputfile=Arrhenius.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e-1 \ 9 | --tend=100 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=200" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CB05CL_AE5/CAMP/config_cb05cl_ae5.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "camp-files" : [ 4 | "/Users/odiazib/Documents/CODE/GitHub/camp/build/mechanisms_run/cb05cl_ae5/cb05cl_ae5_mechanism.json", 5 | "/Users/odiazib/Documents/CODE/GitHub/camp/build/mechanisms_run/cb05cl_ae5/cb05cl_ae5_species.json", 6 | "/Users/odiazib/Documents/CODE/GitHub/camp/build/test_run/chemistry/cb05cl_ae5/cb05cl_ae5_abs_tol.json", 7 | "/Users/odiazib/Documents/CODE/GitHub/camp/build/test_run/chemistry/cb05cl_ae5/cb05cl_ae5_init.json" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CB05CL_AE5/CAMP/run.sh: -------------------------------------------------------------------------------- 1 | camp_dir="/Users/odiazib/Documents/CODE/GitHub/camp/build" 2 | mkdir out 3 | exec=$camp_dir/test_chemistry_cb05cl_ae5 4 | echo "$exec" 5 | eval "$exec" 6 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CB05CL_AE5/runKFwd.sh: -------------------------------------------------------------------------------- 1 | TCHEM_INSTALL_PATH=${HOME}/Documents/CODE/Getz/install/tchem 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_NetProductionRatePerMassNCAR.x 3 | 4 | run_this="$exec --chemfile=config_full_gas.yaml \ 5 | --outputfile=kfwd.dat" 6 | 7 | echo $run_this 8 | eval $run_this 9 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CB05CL_AE5/runModel.sh: -------------------------------------------------------------------------------- 1 | TCHEM_INSTALL_PATH=${HOME}/Documents/CODE/Getz/install/tchem 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 3 | 4 | run_this="$exec --chemfile=config_full_gas.yaml \ 5 | --outputfile=full_gas.dat \ 6 | --time-iterations-per-interval=10 \ 7 | --tol-time=1e-10 \ 8 | --dtmin=1e-20 \ 9 | --dtmax=10 \ 10 | --tend=600\ 11 | --atol-newton=1e-18 \ 12 | --rtol-newton=1e-8 \ 13 | --max-newton-iterations=20 \ 14 | --max-time-iterations=20000" 15 | 16 | echo $run_this 17 | eval $run_this 18 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CMAQ_H2O2/config_cmaq_h2o2.json: -------------------------------------------------------------------------------- 1 | { 2 | "camp-data" : [ 3 | { 4 | "type" : "RELATIVE_TOLERANCE", 5 | "value" : 1.0e-30 6 | }, 7 | { 8 | "name" : "A", 9 | "type" : "CHEM_SPEC", 10 | "absolute tolerance" : 1.0e-30 11 | }, 12 | { 13 | "name" : "B", 14 | "type" : "CHEM_SPEC", 15 | "absolute tolerance" : 1.0e-30 16 | }, 17 | { 18 | "name" : "C", 19 | "type" : "CHEM_SPEC", 20 | "absolute tolerance" : 1.0e-30 21 | }, 22 | { 23 | "name" : "CMAQ_H2O2", 24 | "type" : "MECHANISM", 25 | "reactions" : [ 26 | { 27 | "type" : "CMAQ_H2O2", 28 | "reactants" : { 29 | "A" : {} 30 | }, 31 | "products" : { 32 | "B" : {} 33 | }, 34 | "k2_A" : 4.0e-21 35 | }, 36 | { 37 | "type" : "CMAQ_H2O2", 38 | "reactants" : { 39 | "B" : {} 40 | }, 41 | "products" : { 42 | "C" : {} 43 | }, 44 | "k1_A" : 1476.0, 45 | "k1_B" : 60, 46 | "k1_C" : -398, 47 | "k2_A" : 4e-20, 48 | "k2_B" : 1.5, 49 | "k2_C" : -2, 50 | "time unit" : "MIN" 51 | } 52 | ] 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CMAQ_H2O2/config_cmaq_h2o2.yaml: -------------------------------------------------------------------------------- 1 | NCAR-version: v1.0 2 | environmental_conditions: 3 | pressure: 4 | evolving: false 5 | initial_value: [101253.3] 6 | units: Pa 7 | temperature: 8 | evolving: false 9 | initial_value: [272.5] 10 | units: K 11 | initial_state: 12 | A: 13 | initial_value: [1.0] 14 | units: mol m-3 15 | B: 16 | initial_value: [0.0] 17 | units: mol m-3 18 | C: 19 | initial_value: [0.0] 20 | units: mol m-3 21 | model_info: 22 | chemistry_time_step: 23 | units: sec 24 | value: 1.0 25 | evolving_conditions: 26 | exist: false 27 | output_time_step: 28 | units: sec 29 | value: 1.0 30 | simulation_length: 31 | units: sec 32 | value: 100.0 33 | cells: 1 34 | reactions: 35 | - coefficients: 36 | k2_A: 4.0e-21 37 | products: 38 | B: 1.0 39 | reactants: 40 | A: 1.0 41 | type: CMAQ_H2O2 42 | - coefficients: 43 | k1_A : 1476.0 44 | k1_B : 60.0 45 | k1_C : -398.0 46 | k2_A : 4.0e-20 47 | k2_B : 1.5 48 | k2_C : -2.0 49 | products: 50 | C: 1.0 51 | reactants: 52 | B: 1.0 53 | type: CMAQ_H2O2 54 | time_unit: min 55 | species: 56 | - description: A 57 | name: A 58 | - description: B 59 | name: B 60 | - description: C 61 | name: C 62 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CMAQ_H2O2/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_cmaq_h2o2.yaml \ 4 | --outputfile=CMAQ_H2O2.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e-1 \ 9 | --tend=100 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=200" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CMAQ_OH_HNO3/config_oh_hno3.json: -------------------------------------------------------------------------------- 1 | { 2 | "camp-data" : [ 3 | { 4 | "type" : "RELATIVE_TOLERANCE", 5 | "value" : 1.0e-30 6 | }, 7 | { 8 | "name" : "A", 9 | "type" : "CHEM_SPEC", 10 | "absolute tolerance" : 1.0e-30 11 | }, 12 | { 13 | "name" : "B", 14 | "type" : "CHEM_SPEC", 15 | "absolute tolerance" : 1.0e-30 16 | }, 17 | { 18 | "name" : "C", 19 | "type" : "CHEM_SPEC", 20 | "absolute tolerance" : 1.0e-30 21 | }, 22 | { 23 | "name" : "CMAQ_OH_HNO3", 24 | "type" : "MECHANISM", 25 | "reactions" : [ 26 | { 27 | "type" : "CMAQ_OH_HNO3", 28 | "reactants" : { 29 | "A" : {} 30 | }, 31 | "products" : { 32 | "B" : {} 33 | }, 34 | "k3_A" : 4e-21 35 | }, 36 | { 37 | "type" : "CMAQ_OH_HNO3", 38 | "reactants" : { 39 | "B" : {} 40 | }, 41 | "products" : { 42 | "C" : {} 43 | }, 44 | "k0_A" : 1476.0, 45 | "k0_B" : 60, 46 | "k0_C" : -398, 47 | "k2_A" : 1350, 48 | "k2_B" : 58, 49 | "k2_C" : -450, 50 | "k3_A" : 4e-20, 51 | "k3_B" : 1.5, 52 | "k3_C" : -2, 53 | "time unit" : "MIN" 54 | } 55 | ] 56 | } 57 | ] 58 | } 59 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CMAQ_OH_HNO3/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_oh_hno3.yaml \ 4 | --outputfile=CMAQ_OH_HNO3.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e-1 \ 9 | --tend=100 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=200" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CarbonBond05/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_full_gas.yaml \ 4 | --outputfile=full_gas.dat \ 5 | --time-iterations-per-interval=100 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=10 \ 9 | --tend=1.08e4 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=20000" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/CarbonBond05/runModel2.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_full_gas.yaml \ 4 | --outputfile=full_gas.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=10 \ 9 | --tend=10.08e4 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=20000" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/ChapmanConstPhotolysis/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_chapman.yaml \ 4 | --outputfile=Chapman.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e2 \ 9 | --tend=1000000 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=1000" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Emission/config_emissions.json: -------------------------------------------------------------------------------- 1 | { 2 | "camp-data" : [ 3 | { 4 | "type" : "RELATIVE_TOLERANCE", 5 | "value" : 1.0e-10 6 | }, 7 | { 8 | "name" : "A", 9 | "type" : "CHEM_SPEC", 10 | "absolute tolerance" : 1.0e-8 11 | }, 12 | { 13 | "name" : "B", 14 | "type" : "CHEM_SPEC", 15 | "absolute tolerance" : 1.0e-8 16 | }, 17 | { 18 | "name" : "emissions", 19 | "type" : "MECHANISM", 20 | "reactions" : [ 21 | { 22 | "type" : "EMISSION", 23 | "species" : "A", 24 | "rxn id" : "rxn A" 25 | }, 26 | { 27 | "type" : "EMISSION", 28 | "species" : "B", 29 | "rxn id" : "rxn B", 30 | "scaling factor" : 12.3 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Emission/config_emissions.yaml: -------------------------------------------------------------------------------- 1 | NCAR-version: v1.0 2 | environmental_conditions: 3 | pressure: 4 | evolving: false 5 | initial_value: [101253.3] 6 | units: Pa 7 | temperature: 8 | evolving: false 9 | initial_value: [272.5] 10 | units: K 11 | air_concetration: 12 | initial_value: 1.0 13 | initial_state: 14 | A: 15 | initial_value: [1.0] 16 | units: mol m-3 17 | B: 18 | initial_value: [1.0] 19 | units: mol m-3 20 | model_info: 21 | chemistry_time_step: 22 | units: sec 23 | value: 1.0 24 | evolving_conditions: 25 | exist: false 26 | output_time_step: 27 | units: sec 28 | value: 1.0 29 | simulation_length: 30 | units: sec 31 | value: 100.0 32 | cells: 1 33 | sources: 34 | - coefficients: 35 | emission_rate: 0.954 36 | species: A 37 | type: EMISSION 38 | - coefficients: 39 | emission_rate: 12.3e-2 40 | species: B 41 | type: EMISSION 42 | species: 43 | - description: A 44 | name: A 45 | - description: B 46 | name: B 47 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Emission/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_emissions.yaml \ 4 | --outputfile=Emissions.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e-1 \ 9 | --tend=100 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=200" 14 | 15 | echo $run_this 16 | eval $run_this 17 | 18 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Photolysis/config_photolysis.yaml: -------------------------------------------------------------------------------- 1 | NCAR-version: v1.0 2 | environmental_conditions: 3 | pressure: 4 | evolving: false 5 | initial_value: [101253.3] 6 | units: Pa 7 | temperature: 8 | evolving: false 9 | initial_value: [272.5] 10 | units: K 11 | initial_state: 12 | A: 13 | initial_value: [1.0] 14 | units: mol m-3 15 | B: 16 | initial_value: [0.0] 17 | units: mol m-3 18 | C: 19 | initial_value: [0.0] 20 | units: mol m-3 21 | model_info: 22 | chemistry_time_step: 23 | units: sec 24 | value: 1.0 25 | evolving_conditions: 26 | exist: false 27 | output_time_step: 28 | units: sec 29 | value: 1.0 30 | simulation_length: 31 | units: sec 32 | value: 100.0 33 | cells: 5 34 | reactions: 35 | - coefficients: 36 | A: 0.954 37 | products: 38 | B: 1.0 39 | reactants: 40 | A: 1.0 41 | type: ARRHENIUS 42 | - coefficients: 43 | A: 12.3e-2 44 | products: 45 | C: 1.0 46 | reactants: 47 | B: 1.0 48 | type: ARRHENIUS 49 | species: 50 | - description: A 51 | name: A 52 | - description: B 53 | name: B 54 | - description: C 55 | name: C 56 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Photolysis/runModel.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_photolysis.yaml \ 4 | --outputfile=Photolysis.dat \ 5 | --time-iterations-per-interval=10 \ 6 | --tol-time=1e-6 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e-1 \ 9 | --tend=100 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=1000" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Troe/config_troe/config_troe.yaml: -------------------------------------------------------------------------------- 1 | NCAR-version: v1.0 2 | environmental_conditions: 3 | pressure: 4 | evolving: false 5 | initial_value: [101253.3] 6 | units: Pa 7 | temperature: 8 | evolving: false 9 | initial_value: [272.5] 10 | units: K 11 | air_concetration: 12 | initial_value: 1.0 13 | initial_state: 14 | A: 15 | initial_value: [1.0] 16 | units: mol m-3 17 | model_info: 18 | chemistry_time_step: 19 | units: sec 20 | value: 1.0 21 | evolving_conditions: 22 | exist: false 23 | output_time_step: 24 | units: sec 25 | value: 1.0 26 | simulation_length: 27 | units: sec 28 | value: 100.0 29 | cells: 1 30 | reactions: 31 | - coefficients: 32 | k0_A: 4.0e-18 33 | products: 34 | B: 1.0 35 | reactants: 36 | A: 1.0 37 | type: TROE 38 | - coefficients: 39 | k0_A: 1.2e-12 40 | k0_B: 167.0 41 | k0_C: 3.0 42 | kinf_A: 136.0 43 | kinf_B: 5.0 44 | kinf_C: 24.0 45 | Fc: 0.9 46 | N: 0.8 47 | products: 48 | C: 1.0 49 | reactants: 50 | B: 1.0 51 | type: TROE 52 | time_unit: min 53 | species: 54 | - description: A 55 | name: A 56 | - description: B 57 | name: B 58 | - description: C 59 | name: C 60 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Troe/config_troe/test_troe.json: -------------------------------------------------------------------------------- 1 | { 2 | "camp-data" : [ 3 | { 4 | "type" : "RELATIVE_TOLERANCE", 5 | "value" : 1.0e-30 6 | }, 7 | { 8 | "name" : "A", 9 | "type" : "CHEM_SPEC", 10 | "absolute tolerance" : 1.0e-30 11 | }, 12 | { 13 | "name" : "B", 14 | "type" : "CHEM_SPEC", 15 | "absolute tolerance" : 1.0e-30 16 | }, 17 | { 18 | "name" : "C", 19 | "type" : "CHEM_SPEC", 20 | "absolute tolerance" : 1.0e-30 21 | }, 22 | { 23 | "name" : "troe", 24 | "type" : "MECHANISM", 25 | "reactions" : [ 26 | { 27 | "type" : "TROE", 28 | "reactants" : { 29 | "A" : {} 30 | }, 31 | "products" : { 32 | "B" : {} 33 | }, 34 | "k0_A" : 4.0e-18 35 | }, 36 | { 37 | "type" : "TROE", 38 | "reactants" : { 39 | "B" : {} 40 | }, 41 | "products" : { 42 | "C" : {} 43 | }, 44 | "k0_A" : 1.2e-12, 45 | "k0_B" : 167, 46 | "k0_C" : 3, 47 | "kinf_A" : 136, 48 | "kinf_B" : 5, 49 | "kinf_C" : 24, 50 | "Fc" : 0.9, 51 | "N" : 0.8, 52 | "time unit" : "MIN" 53 | } 54 | ] 55 | } 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Troe/runModelTroe.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_AtmosphericChemistry.x 2 | 3 | run_this="$exec --chemfile=config_troe/config_troe.yaml \ 4 | --outputfile=Troe.dat \ 5 | --time-iterations-per-interval=50 \ 6 | --tol-time=1e-8 \ 7 | --dtmin=1e-20 \ 8 | --dtmax=1e-1 \ 9 | --tend=100 \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8 \ 12 | --max-newton-iterations=20 \ 13 | --max-time-iterations=200" 14 | 15 | echo $run_this 16 | eval $run_this 17 | -------------------------------------------------------------------------------- /src/example/runs/AtmosphericChemistry/Troe/runTroe.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_NetProductionRatePerMassNCAR.x 2 | chemfile="config_troe/config_troe.yaml" 3 | 4 | $exec --chemfile=$chemfile --unit-test="troe" 5 | -------------------------------------------------------------------------------- /src/example/runs/ConstantVolumeIgnition/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0 3 | 4 | export OMP_PROC_BIND=spread 5 | this="$exec --chemfile=$inputs/chem.inp \ 6 | --thermfile=$inputs/therm.dat \ 7 | --samplefile=$inputs/sample.dat \ 8 | --outputfile=ConstVolumeIgnSolution.dat \ 9 | --run-constant-pressure=false \ 10 | --atol-newton=1e-18 \ 11 | --rtol-newton=1e-8\ 12 | --max-newton-iterations=20 \ 13 | --tol-time=1e-6 \ 14 | --dtmax=1e-3 \ 15 | --dtmin=1e-20 \ 16 | --tend=2 \ 17 | --time-iterations-per-interval=10 \ 18 | --max-time-iterations=260 \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/runs/InitialConditionPFR/SimpleSurface.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/InitialConditionPFR/SimpleSurface.tar.gz -------------------------------------------------------------------------------- /src/example/runs/InitialConditionPFR/inputs/inputSurf.dat: -------------------------------------------------------------------------------- 1 | X(1) 2 | 1 3 | -------------------------------------------------------------------------------- /src/example/runs/InitialConditionPFR/inputs/sample.dat: -------------------------------------------------------------------------------- 1 | T P CH4(2) O2(3) AR 2 | 8.500000000000000000e+02 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.264036053121397662e-01 3 | -------------------------------------------------------------------------------- /src/example/runs/InitialConditionPFR/runit.sh: -------------------------------------------------------------------------------- 1 | 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_SimpleSurface.x 3 | mech=$TCHEM_INSTALL_PATH/example/data/plug-flow-reactor/CH4-PTnogas 4 | 5 | run_this="$exec --chemfile=$mech/chem.inp \ 6 | --thermfile=$mech/therm.dat \ 7 | --samplefile=inputs/sample.dat \ 8 | --surf-chemfile=$mech/chemSurf.inp \ 9 | --surf-thermfile=$mech/thermSurf.dat \ 10 | --surf-inputfile=inputs/inputSurf.dat \ 11 | --max-newton-iterations=20 \ 12 | --atol-newton=1e-18 \ 13 | --rtol-newton=1e-6 \ 14 | --tol-time=1e-10 \ 15 | --dtmin=1e-20 \ 16 | --dtmax=1e-8 \ 17 | --tend=1e-3 \ 18 | --time-iterations-per-interval=10 \ 19 | --max-time-iterations=12000 " 20 | 21 | echo $run_this 22 | eval $run_this 23 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariation/H2/runit.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD_ModelVariation.x 2 | mech=$TCHEM_INSTALL_PATH/example/data/H2 3 | 4 | run_this="$exec --chemfile=$mech/chem.inp \ 5 | --thermfile=$mech/therm.dat \ 6 | --samplefile=inputs/sample.dat \ 7 | --input-file-param-modifiers=inputs/ParameterModifiers.dat \ 8 | --tol-time=1e-7 \ 9 | --dtmin=1e-20 \ 10 | --dtmax=1e-2 \ 11 | --tend=1.0 \ 12 | --max-newton-iterations=20 \ 13 | --atol-newton=1e-18 \ 14 | --rtol-newton=1e-8 \ 15 | --max-time-iterations=1000" 16 | 17 | echo $run_this 18 | eval $run_this 19 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/KForward/checkPLOG.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_checkPLOGreactions.x 2 | mech=$TCHEM_INSTALL_PATH/example/data/propane 3 | chemfile=$mech/"chem.inp" 4 | thermfile=$mech/"therm.dat" 5 | 6 | run_this="$exec --chemfile=$chemfile \ 7 | --thermfile=$thermfile \ 8 | --initial-temperature=300 \ 9 | --final-temperature=400 \ 10 | --initial-pressure=100 \ 11 | --final-pressure=4000000 \ 12 | --npoints-temperature=100 \ 13 | --npoints-pressure=100 \ 14 | --factor-pre-exponential=100 \ 15 | --verbose=true " 16 | echo $run_this 17 | eval $run_this 18 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/KForward/runit.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_KForwardReverse.x 2 | mech=$TCHEM_INSTALL_PATH/example/data/propane 3 | chemfile=$mech/"chem.inp" 4 | thermfile=$mech/"therm.dat" 5 | samplefile=inputs/"sample.dat" 6 | inputFileParamModifiers=inputs/"Factors.dat" 7 | 8 | OMP_NUM_THREADS=8 OMP_PLACES=threads OMP_PROC_BIND=spread $exec --chemfile=$chemfile --thermfile=$thermfile --samplefile=$samplefile --inputFileParamModifiers=$inputFileParamModifiers 9 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/inputs/Factors.dat: -------------------------------------------------------------------------------- 1 | 1 3 5 7 1142 1140 1139 2 | 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 3 | 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 4 | 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 5 | 1.000000000000000056e-01 2.000000000000000000e+00 3.000000000000000000e+00 4.000000000000000000e+00 1.000000000000000021e-02 1.000000000000000000e+01 2.000000000000000000e+01 6 | 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 7 | 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 1.000000000000000000e+00 8 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/inputs/MakeFactor.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # In[1]: 5 | 6 | 7 | import numpy as np 8 | import matplotlib.pyplot as plt 9 | import matplotlib.colors as colors 10 | import matplotlib.cbook as cbook 11 | import sys 12 | dirwork ='TCHEM_INSTALL_PATH/example/runs/scripts/' 13 | sys.path.append(dirwork) 14 | import pmixSample 15 | 16 | 17 | # In[2]: 18 | Nsamples = 2#int(sys.argv[1]) 19 | UF = 1 #float(sys.argv[2]) 20 | 21 | #sampledir = sys.argv[3] 22 | savedir = './'#sys.argv[4] 23 | 24 | 25 | # In[3]: 26 | ReactionNumber = [1, 3, 5, 7, 1142, 1140, 1139]#range(Ndim) # change parameters for reaction 0 and 2 27 | Nparameter = len(ReactionNumber); 28 | Ndim=Nparameter 29 | sampleParam = np.vstack((Ndim*[1],Ndim*[1],Ndim*[1])) # reference sample 30 | 31 | for sp in range(1,Nsamples): 32 | sampleParam = np.vstack((sampleParam, [.1,2,3,4, 1e-2, 10, 20 ], Ndim*[1], Ndim*[1])) 33 | header ="" 34 | for Reac in ReactionNumber: 35 | header += str(Reac) + " " 36 | np.savetxt(savedir + '/Factors.dat',sampleParam,header=header,comments='') 37 | 38 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/inputs/ThinkMech_chem.inp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/ModelVariationVerification/inputs/ThinkMech_chem.inp -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/inputs/ThinkMech_therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/ModelVariationVerification/inputs/ThinkMech_therm.dat -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/inputs/ThinkMech_trans.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/ModelVariationVerification/inputs/ThinkMech_trans.dat -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/inputs/sample.dat: -------------------------------------------------------------------------------- 1 | T P C3H8 O2 CH3CH2CH2 CH3CHCH3 HE 2 | 6.000000000000000000e+02 1.0000000000000e+06 7.784434790379e-06 0.1701420183354 2.373594232151e-08 2.373594232151e-08 0.8298501497579 3 | 6.000000000000000000e+02 1.0000000000000e+06 7.784434790379e-06 0.1701420183354 2.373594232151e-08 2.373594232151e-08 0.8298501497579 4 | -------------------------------------------------------------------------------- /src/example/runs/ModelVariationVerification/runit.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_KForwardReverse.x 2 | 3 | chemfile=inputs/"ThinkMech_chem.inp" 4 | thermfile=inputs/"ThinkMech_therm.dat" 5 | samplefile=inputs/"sample.dat" 6 | inputFileParamModifiers=inputs/"Factors.dat" 7 | 8 | OMP_NUM_THREADS=8 OMP_PLACES=threads OMP_PROC_BIND=spread $exec --chemfile=$chemfile --thermfile=$thermfile --samplefile=$samplefile --inputFileParamModifiers=$inputFileParamModifiers 9 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas/PFRSolution.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/PlugFlowReactor/CH4-PTnogas/PFRSolution.tar.gz -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas/runit.sh: -------------------------------------------------------------------------------- 1 | 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_PlugFlowReactor.x 3 | inputs=$TCHEM_INSTALL_PATH/example/data/plug-flow-reactor/CH4-PTnogas/ 4 | 5 | run_this="$exec --inputs-path=$inputs \ 6 | --initial-condition=false \ 7 | --use-prefix-path=true \ 8 | --transient-initial-condition=true \ 9 | --reactor-area=0.00053 \ 10 | --catalytic-perimeter=0.025977239243415308 \ 11 | --max-newton-iterations=20 \ 12 | --atol-newton=1e-18 \ 13 | --rtol-newton=1e-8 \ 14 | --tol-z=1e-8 \ 15 | --dzmin=1e-20 \ 16 | --dzmax=1e-3 \ 17 | --zend=0.025 \ 18 | --max-z-iterations=310 " 19 | 20 | echo $run_this 21 | eval $run_this 22 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas_SA/PFRSolution.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/PlugFlowReactor/CH4-PTnogas_SA/PFRSolution.tar.gz -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas_SA/inputs/inputSurf.dat: -------------------------------------------------------------------------------- 1 | X(1) OX(7) 2 | 1.000000000000000056e-01 9.000000000000000222e-01 3 | 1.000000000000000056e-01 9.000000000000000222e-01 4 | 1.000000000000000056e-01 9.000000000000000222e-01 5 | 1.000000000000000056e-01 9.000000000000000222e-01 6 | 1.000000000000000056e-01 9.000000000000000222e-01 7 | 1.000000000000000056e-01 9.000000000000000222e-01 8 | 1.000000000000000056e-01 9.000000000000000222e-01 9 | 1.000000000000000056e-01 9.000000000000000222e-01 10 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas_SA/inputs/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.899999999999999996e-03 2 | 1.899999999999999996e-03 3 | 3.799999999999999992e-03 4 | 3.799999999999999992e-03 5 | 1.899999999999999996e-03 6 | 1.899999999999999996e-03 7 | 3.799999999999999992e-03 8 | 3.799999999999999992e-03 9 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas_SA/inputs/sample.dat: -------------------------------------------------------------------------------- 1 | T P CH4(2) O2(3) N2 2 | 8.000000000000000000e+02 1.013250000000000000e+05 2.278279643202090615e-02 1.818078518266007526e-01 7.954093517413782788e-01 3 | 8.000000000000000000e+02 1.013250000000000000e+05 4.635302277193387860e-02 1.849497167957461774e-01 7.686972604323200065e-01 4 | 8.000000000000000000e+02 1.013250000000000000e+05 2.278279643202090615e-02 1.818078518266007526e-01 7.954093517413782788e-01 5 | 8.000000000000000000e+02 1.013250000000000000e+05 4.635302277193387860e-02 1.849497167957461774e-01 7.686972604323200065e-01 6 | 9.000000000000000000e+02 1.013250000000000000e+05 2.278279643202090615e-02 1.818078518266007526e-01 7.954093517413782788e-01 7 | 9.000000000000000000e+02 1.013250000000000000e+05 4.635302277193387860e-02 1.849497167957461774e-01 7.686972604323200065e-01 8 | 9.000000000000000000e+02 1.013250000000000000e+05 2.278279643202090615e-02 1.818078518266007526e-01 7.954093517413782788e-01 9 | 9.000000000000000000e+02 1.013250000000000000e+05 4.635302277193387860e-02 1.849497167957461774e-01 7.686972604323200065e-01 10 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/CH4-PTnogas_SA/runit.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_PlugFlowReactor.x 2 | mech=$TCHEM_INSTALL_PATH/example/data/plug-flow-reactor/CH4-PTnogas 3 | 4 | run_this="$exec --chemfile=$mech/chem.inp \ 5 | --thermfile=$mech/therm.dat \ 6 | --samplefile=inputs/sample.dat \ 7 | --surf-chemfile=$mech/chemSurf.inp \ 8 | --surf-thermfile=$mech/thermSurf.dat \ 9 | --surf-inputfile=inputs/inputSurf.dat \ 10 | --velocity-inputfile=inputs/inputVelocity.dat \ 11 | --outputfile=PFRSolution.dat \ 12 | --initial-condition=false \ 13 | --transient-initial-condition=true \ 14 | --reactor-area=0.00053 \ 15 | --catalytic-perimeter=0.025977239243415308 \ 16 | --max-newton-iterations=20 \ 17 | --atol-newton=1e-16 \ 18 | --rtol-newton=1e-6 \ 19 | --tol-z=1e-6 \ 20 | --dzmin=1e-30 \ 21 | --dzmax=1e-3 \ 22 | --zend=0.025 \ 23 | --max-z-iterations=400 " 24 | 25 | echo $run_this 26 | eval $run_this 27 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/X/runit.sh: -------------------------------------------------------------------------------- 1 | 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_PlugFlowReactor.x 3 | inputs=$TCHEM_INSTALL_PATH/example/data/plug-flow-reactor/X 4 | 5 | run_this="$exec --chemfile=$inputs/chem.inp \ 6 | --thermfile=$inputs/therm.dat \ 7 | --samplefile=$inputs/sample.dat \ 8 | --surf-chemfile=$inputs/chemSurf.inp \ 9 | --surf-thermfile=$inputs/thermSurf.dat \ 10 | --surf-inputfile=$inputs/inputSurf.dat \ 11 | --velocity-inputfile=$inputs/inputVelocity.dat \ 12 | --outputfile=PFRSolution.dat \ 13 | --transient-initial-condition=true \ 14 | --reactor-area=0.00053 \ 15 | --catalytic-perimeter=0.025977239243415308 \ 16 | --max-newton-iterations=20 \ 17 | --atol-newton=1e-16 \ 18 | --rtol-newton=1e-6 \ 19 | --tol-z=1e-6 \ 20 | --dzmin=1e-30 \ 21 | --dzmax=1e-3 \ 22 | --zend=0.025 \ 23 | --max-z-iterations=400 " 24 | 25 | echo $run_this 26 | eval $run_this 27 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/X_SA/inputs/inputSurf.dat: -------------------------------------------------------------------------------- 1 | X(1) OX(25) 2 | 1.000000000000000056e-01 9.000000000000000222e-01 3 | 1.000000000000000056e-01 9.000000000000000222e-01 4 | 1.000000000000000056e-01 9.000000000000000222e-01 5 | 1.000000000000000056e-01 9.000000000000000222e-01 6 | 1.000000000000000056e-01 9.000000000000000222e-01 7 | 1.000000000000000056e-01 9.000000000000000222e-01 8 | 1.000000000000000056e-01 9.000000000000000222e-01 9 | 1.000000000000000056e-01 9.000000000000000222e-01 10 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/X_SA/inputs/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.519999999999999997e-02 2 | 1.519999999999999997e-02 3 | 2.279999999999999735e-02 4 | 2.279999999999999735e-02 5 | 1.519999999999999997e-02 6 | 1.519999999999999997e-02 7 | 2.279999999999999735e-02 8 | 2.279999999999999735e-02 9 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/X_SA/inputs/sample.dat: -------------------------------------------------------------------------------- 1 | T P CH4(2) O2(3) AR 2 | 8.000000000000000000e+02 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.264036053121397662e-01 3 | 8.000000000000000000e+02 1.013250000000000000e+05 1.039753172678735127e-01 2.073851000834150693e-01 6.886395826487112792e-01 4 | 8.000000000000000000e+02 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.264036053121397662e-01 5 | 8.000000000000000000e+02 1.013250000000000000e+05 1.039753172678735127e-01 2.073851000834150693e-01 6.886395826487112792e-01 6 | 1.000000000000000000e+03 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.264036053121397662e-01 7 | 1.000000000000000000e+03 1.013250000000000000e+05 1.039753172678735127e-01 2.073851000834150693e-01 6.886395826487112792e-01 8 | 1.000000000000000000e+03 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.264036053121397662e-01 9 | 1.000000000000000000e+03 1.013250000000000000e+05 1.039753172678735127e-01 2.073851000834150693e-01 6.886395826487112792e-01 10 | -------------------------------------------------------------------------------- /src/example/runs/PlugFlowReactor/X_SA/runit.sh: -------------------------------------------------------------------------------- 1 | 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_PlugFlowReactor.x 3 | mech=$TCHEM_INSTALL_PATH/example/data/plug-flow-reactor/X/ 4 | 5 | run_this="$exec --chemfile=$mech/chem.inp \ 6 | --thermfile=$mech/therm.dat \ 7 | --samplefile=inputs/sample.dat \ 8 | --surf-chemfile=$mech/chemSurf.inp \ 9 | --surf-thermfile=$mech/thermSurf.dat \ 10 | --surf-inputfile=inputs/inputSurf.dat \ 11 | --velocity-inputfile=inputs/inputVelocity.dat \ 12 | --outputfile=PFRSolution.dat \ 13 | --initial-condition=false \ 14 | --transient-initial-condition=true \ 15 | --reactor-area=0.00053 \ 16 | --catalytic-perimeter=0.025977239243415308 \ 17 | --max-newton-iterations=20 \ 18 | --atol-newton=1e-16 \ 19 | --rtol-newton=1e-6 \ 20 | --tol-z=1e-6 \ 21 | --dzmin=1e-30 \ 22 | --dzmax=1e-3 \ 23 | --zend=0.025 \ 24 | --max-z-iterations=400 " 25 | 26 | echo $run_this 27 | eval $run_this 28 | -------------------------------------------------------------------------------- /src/example/runs/PythonInterface/IgnitionZeroD/TChem_Logo_Small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/PythonInterface/IgnitionZeroD/TChem_Logo_Small.jpg -------------------------------------------------------------------------------- /src/example/runs/PythonInterface/ModelVariation/n-butanol/selectedReactionForSenstivityAnalysis.txt: -------------------------------------------------------------------------------- 1 | 1646 2 | 1647 3 | 1648 4 | 1649 5 | 1650 6 | 1661 7 | 1662 8 | 1663 9 | 1664 10 | 1665 11 | 2945 12 | 2970 13 | 2971 14 | 2972 15 | 2973 16 | 2974 17 | 2975 18 | 2976 19 | 2977 20 | 2978 21 | 2979 22 | 2980 23 | 2981 24 | 2982 25 | 2983 26 | 2984 27 | 2985 28 | 2986 29 | 2987 30 | 2988 31 | 2989 32 | 2990 33 | 2991 34 | -------------------------------------------------------------------------------- /src/example/runs/T-CSTR/CH4_PT_Quinceno2006/inputs/inputSurf.dat: -------------------------------------------------------------------------------- 1 | _PT_ O_PT CO_PT CO2_PT H_PT OH_PT H2O_PT CH3_PT CH2_PT CH_PT C_PT 2 | 2.23161451912849140289e-01 7.46563596705026477629e-01 2.50214088009276212909e-02 3.82191212092960660584e-08 8.61318080211217892105e-06 4.93385464627998406029e-03 1.63511942234242573564e-06 2.91037037420673343115e-04 3.36070045734044865450e-09 5.92942709173470671148e-14 2.24460296738155141562e-08 3 | 4 | -------------------------------------------------------------------------------- /src/example/runs/T-CSTR/CH4_PT_Quinceno2006/inputs/sample_phi1.dat: -------------------------------------------------------------------------------- 1 | T P CH4 O2 N2 AR 2 | 5.000000000000000000e+02 1.013250000000000000e+05 5.483858845025559731e-02 2.187578062376045740e-01 7.137587863547695255e-01 1.264481895737025810e-02 3 | -------------------------------------------------------------------------------- /src/example/runs/T-CSTR/CH4_PT_Quinceno2006/inputs/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/T-CSTR/CH4_PT_Quinceno2006/inputs/thermSurf.dat -------------------------------------------------------------------------------- /src/example/runs/T-CSTR/CH4_PT_Quinceno2006/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_TransientContStirredTankReactor.x 2 | 3 | run_this="$exec --chemfile=inputs/chemgri30.inp \ 4 | --thermfile=inputs/thermgri30.dat \ 5 | --samplefile=inputs/sample_phi1.dat \ 6 | --surf-chemfile=inputs/chemSurf.inp \ 7 | --surf-thermfile=inputs/thermSurf.dat \ 8 | --surf-inputfile=inputs/inputSurf.dat \ 9 | --outputfile=CSTRSolutionODE.dat \ 10 | --catalytic-area=1.347e-2 \ 11 | --reactor-volume=1.347e-1 \ 12 | --inlet-mass-flow=1e-2 \ 13 | --number-of-algebraic-constraints=0 \ 14 | --transient-initial-condition=true \ 15 | --max-newton-iterations=20 \ 16 | --atol-newton=1e-18 \ 17 | --rtol-newton=1e-8 \ 18 | --tol-time=1e-8 \ 19 | --atol-newton=1e-12 \ 20 | --dtmin=1e-20 \ 21 | --dtmax=1e-3 \ 22 | --tend=3 \ 23 | --time-iterations-per-interval=10\ 24 | --max-z-iterations=400 " 25 | 26 | echo $run_this 27 | eval $run_this 28 | -------------------------------------------------------------------------------- /src/example/runs/TLA/H2/runit.sh: -------------------------------------------------------------------------------- 1 | 2 | exe=$TCHEM_INSTALL_PATH/install/tchem/bin/tchem.x 3 | eval "$exe --input=input_h2.json" 4 | -------------------------------------------------------------------------------- /src/example/runs/TLA/H2/sample_h2.json: -------------------------------------------------------------------------------- 1 | {"variable name": ["T", "P", "H2", "O2", "O", "OH", "H2O", "H", "HO2", "H2O2", "N2"], "state vector": [[1000.0, 101324.99999999678, 0.02874974919467, 0.2281708469821, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7430794038232], [1050, 101324.99999999678, 0.02874974919467, 0.2281708469821, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7430794038232], [1100, 101324.99999999678, 0.02874974919467, 0.2281708469821, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7430794038232], [1150, 101324.99999999678, 0.02874974919467, 0.2281708469821, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7430794038232], [1200, 101324.99999999678, 0.02874974919467, 0.2281708469821, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7430794038232]]} -------------------------------------------------------------------------------- /src/example/runs/TLA/ModelVariation/MakeH2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | # In[1]: 5 | 6 | 7 | import matplotlib.pyplot as plt 8 | import numpy as np 9 | import sys 10 | import json 11 | 12 | savedir = "inputs" 13 | one_atm = 101325 14 | Pressure= one_atm; 15 | 16 | Temp = 1000 17 | YH2=0.02874974919467 18 | YO2=0.2281708469821 19 | YN2=1.0 - YH2 - YO2 20 | 21 | Nparameters = 19 22 | ReactionNumber = np.arange(Nparameters) # change parameters for reaction 0 and 2 23 | 24 | Nsamples = Nparameters*2 +1 25 | Ndim = Nparameters 26 | DOE = np.ones([Nsamples, Ndim]) 27 | 28 | for ireac in range(Nparameters): 29 | DOE[ireac + 1 ,ireac] = 0.95 30 | DOE[ireac + Nparameters + 1 ,ireac] = 1.05 31 | 32 | 33 | sample = {} 34 | sample.update({"variable name": ["T", "P", "H2", "O2", "N2"]}) 35 | sample.update({"state vector":Nsamples * [[Temp, Pressure, YH2, YO2, YN2]]}) 36 | 37 | with open(savedir+'/sample.json', 'w') as outfile: 38 | json.dump(sample, outfile) 39 | 40 | # 41 | Nreaction = len(ReactionNumber) 42 | A = DOE 43 | gas = {} 44 | gas.update({"reaction_index":ReactionNumber.tolist(),"pre_exponential_factor":A.tolist()}) 45 | with open(savedir+'/Factors.json', 'w') as outfile: 46 | json.dump(gas, outfile) 47 | -------------------------------------------------------------------------------- /src/example/runs/TLA/ModelVariation/helper.py: -------------------------------------------------------------------------------- 1 | import json 2 | import numpy as np 3 | 4 | def readTChemJson(file_name,tla=False): 5 | # read and parser json file 6 | f1 = open(file_name) 7 | data = json.load(f1) 8 | f1.close() 9 | # get variable names 10 | var_names = data['variable name'] 11 | # total number of time iterations (n_samples * number of time iterations) 12 | niter=len(data['state vector'])-1 13 | # get number of samples 14 | n_samples = int(data['number of samples']) 15 | # ge time iteration per sample 16 | n = int(niter/n_samples) 17 | t = [] 18 | dt = [] 19 | sp = [] 20 | count =0 21 | # loop over data 22 | for i in range(n): 23 | temp_t = [] 24 | temp_dt = [] 25 | temp_sp = [] 26 | for j in range(n_samples): 27 | st = data['state vector'][count] 28 | count +=1 29 | temp_t += [st['t']] 30 | temp_dt += [st['dt']] 31 | temp_sp += [st['data']] 32 | t += [temp_t] 33 | dt += [temp_dt] 34 | sp += [temp_sp] 35 | # convert to np.array 36 | sp = np.array(sp) 37 | t = np.array(t) 38 | dt = np.array(dt) 39 | if tla: 40 | return var_names, t, dt, sp, n_samples, data['parameter name'] 41 | else: 42 | return var_names, t, dt, sp, n_samples 43 | -------------------------------------------------------------------------------- /src/example/runs/TLA/ModelVariation/runit.sh: -------------------------------------------------------------------------------- 1 | export TCHEM_INSTALL_PATH=${HOME}/Documents/CODE/Getz/install/tchem 2 | exe=${TCHEM_INSTALL_PATH}/bin/tchem.x 3 | 4 | eval "$exe --input=input_h2.json" 5 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/EnthalpyCp.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/ThermalProperties/EnthalpyCp.tar.gz -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/USC/README.txt: -------------------------------------------------------------------------------- 1 | 1. MakeSampleGRI3.0.ipynb : script to produce an input file for tchem 2 | 2. runIgnition.sh: script to run an ignition problem 3 | 3. makeTChemInputFromTChemSolution.py : script to convert a tchem solution to an input file 4 | 4. runThermo.sh : script to run thermal properties 5 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/USC/makeTChemInputFromTChemSolution.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # coding: utf-8 3 | 4 | import numpy as np 5 | 6 | data = np.genfromtxt("IgnSolution.dat", dtype=str) 7 | Header = (data[0,:]).tolist() 8 | solTchem = (data[1:,:]).astype(float) 9 | 10 | n_iterations, n_variables = np.shape(solTchem) 11 | n_samples = len(np.where(solTchem[:,0]==-1)[0]) 12 | print('Number of Samples: ',n_samples,' Number of iterations per sample: ',int(n_iterations/n_samples), ' Number of variables',n_variables ) 13 | 14 | 15 | header_input_file = "T P" 16 | for var in Header[6:]: 17 | header_input_file +=" "+var 18 | 19 | sample=solTchem[:,6:] 20 | Tv = np.atleast_2d(solTchem[:,Header.index('Temperature[K]')]).T 21 | Pv = np.atleast_2d(solTchem[:,Header.index('Pressure[Pascal]')]).T 22 | 23 | sample=np.hstack((Tv,Pv,sample)) 24 | 25 | np.savetxt('thermal_pro_sample.dat',sample,header=header_input_file,comments='') 26 | 27 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/USC/runIgnition.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | mech=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0 3 | 4 | export OMP_PROC_BIND=spread 5 | this="$exec --chemfile=$mech/chem.inp \ 6 | --thermfile=$mech/therm.dat \ 7 | --samplefile=inputs/sample.dat \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-8\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-6 \ 12 | --dtmax=1e-1 \ 13 | --dtmin=1e-8 \ 14 | --tend=2 \ 15 | --jacobian-interval=4 \ 16 | --time-iterations-per-interval=1 \ 17 | --max-time-iterations=5000 \ 18 | --only-compute-ignition-delay-time=false \ 19 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 20 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat \ 21 | --threshold-temperature=1500" 22 | 23 | echo $this 24 | eval $this 25 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/USC/runThermo.sh: -------------------------------------------------------------------------------- 1 | TCHEM_INSTALL_PATH=${HOME}/Documents/CODE/Getz/install/tchem 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_ThermalProperties.x 3 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0/ 4 | 5 | 6 | run_this="$exec --chemfile=${inputs}chem.inp \ 7 | --thermfile=${inputs}therm.dat \ 8 | --inputfile=thermal_pro_sample.dat" 9 | 10 | echo $run_this 11 | eval $run_this 12 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/run.sh: -------------------------------------------------------------------------------- 1 | 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_ThermalProperties.x 3 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0/ 4 | 5 | 6 | run_this="$exec --chemfile=${inputs}chem.inp \ 7 | --thermfile=${inputs}therm.dat \ 8 | --inputfile=sample.dat " 9 | 10 | echo $run_this 11 | eval $run_this 12 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/runTime.sh: -------------------------------------------------------------------------------- 1 | 2 | exec=$TCHEM_INSTALL_PATH/example/TChem_ThermalProperties.x 3 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0/ 4 | chemfile=$inputs"chem.inp" 5 | thermfile=$inputs"therm.dat" 6 | N=1 7 | N=100 8 | N=400 9 | N=3600 10 | N=10000 11 | N=1000000 12 | samplefile="sample"$N".dat" 13 | 14 | OMP_NUM_THREADS=8 OMP_PLACES=threads OMP_PROC_BIND=spread $exec --chemfile=$chemfile --thermfile=$thermfile --inputfile=$samplefile 15 | -------------------------------------------------------------------------------- /src/example/runs/ThermalProperties/sample1.dat: -------------------------------------------------------------------------------- 1 | T P CH4 O2 N2 AR 2 | 8.000000000000000000e+02 1.013250000000000000e+05 1.482555186097303801e-01 1.971364382284825911e-01 6.432130003325841061e-01 1.139504282920287236e-02 3 | -------------------------------------------------------------------------------- /src/example/runs/ToyProblem/inputs/chem.inp: -------------------------------------------------------------------------------- 1 | ELEMENTS 2 | X /1/ 3 | END 4 | SPECIES 5 | X X2 6 | END 7 | THERM ALL 8 | 300.000 1000.000 5000.000 9 | X X 1 G 200.000 6000.000 1000.00 1 10 | 2.50000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2 11 | -7.45375000E+02 4.37967000E+00 2.50000000E+00 0.00000000E+00 0.00000000E+00 3 12 | 0.00000000E+00 0.00000000E+00-7.45375000E+02 4.37967000E+00 4 13 | X2 X 2 G 200.000 6000.000 1000.00 1 14 | 2.50000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 2 15 | -7.45375000E+02 4.37967000E+00 2.50000000E+00 0.00000000E+00 0.00000000E+00 3 16 | 0.00000000E+00 0.00000000E+00-7.45375000E+02 4.37967000E+00 4 17 | END 18 | REACTIONS 19 | X2=>2X 10E+0 1 1 20 | X+X=>X2 10E+0 1 1 21 | END 22 | 23 | -------------------------------------------------------------------------------- /src/example/runs/ToyProblem/inputs/chem.yaml: -------------------------------------------------------------------------------- 1 | generator: ck2yaml 2 | input-files: [chem.inp] 3 | cantera-version: 2.5.0a4 4 | date: Thu, 01 Jul 2021 18:04:53 -0700 5 | 6 | units: {length: cm, time: s, quantity: mol, activation-energy: cal/mol} 7 | 8 | phases: 9 | - name: gas 10 | thermo: ideal-gas 11 | elements: [X] 12 | species: [X, X2] 13 | kinetics: gas 14 | state: {T: 300.0, P: 1 atm} 15 | 16 | elements: 17 | - symbol: X 18 | atomic-weight: 1.0 19 | 20 | species: 21 | - name: X 22 | composition: {X: 1} 23 | thermo: 24 | model: NASA7 25 | temperature-ranges: [200.0, 1000.0, 6000.0] 26 | data: 27 | - [2.5, 0.0, 0.0, 0.0, 0.0, -745.375, 4.37967] 28 | - [2.5, 0.0, 0.0, 0.0, 0.0, -745.375, 4.37967] 29 | - name: X2 30 | composition: {X: 2} 31 | thermo: 32 | model: NASA7 33 | temperature-ranges: [200.0, 1000.0, 6000.0] 34 | data: 35 | - [2.5, 0.0, 0.0, 0.0, 0.0, -745.375, 4.37967] 36 | - [2.5, 0.0, 0.0, 0.0, 0.0, -745.375, 4.37967] 37 | 38 | reactions: 39 | - equation: X2 => 2 X # Reaction 1 40 | rate-constant: {A: 10.0, b: 1.0, Ea: 1.0} 41 | - equation: X + X => X2 # Reaction 2 42 | rate-constant: {A: 10.0, b: 1.0, Ea: 1.0} 43 | -------------------------------------------------------------------------------- /src/example/runs/ToyProblem/inputs/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/ToyProblem/inputs/therm.dat -------------------------------------------------------------------------------- /src/example/runs/ToyProblem/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_SourceTermToyProblem.x 2 | chemfile="inputs/chem.inp" 3 | thermfile="inputs/therm.dat" 4 | outputfile="omega.dat" 5 | 6 | $exec --chemfile=$chemfile --thermfile=$thermfile --outputfile=$outputfile 7 | -------------------------------------------------------------------------------- /src/example/runs/ToyProblem/run_yaml.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_SourceTermToyProblem.x 2 | chemfile="inputs/chem.yaml" 3 | outputfile="omega_yaml.dat" 4 | $exec --chemfile=$chemfile --outputfile=$outputfile --useYaml=true 5 | -------------------------------------------------------------------------------- /src/example/runs/gri3.0_IgnDelay/IgnitionDelayTime.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/gri3.0_IgnDelay/IgnitionDelayTime.tar.gz -------------------------------------------------------------------------------- /src/example/runs/gri3.0_IgnDelay/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | mech=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0 3 | 4 | export OMP_PROC_BIND=spread 5 | this="$exec --chemfile=$mech/chem.inp \ 6 | --thermfile=$mech/therm.dat \ 7 | --samplefile=inputs/sample.dat \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-8\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-6 \ 12 | --dtmax=1e-3 \ 13 | --dtmin=1e-20 \ 14 | --tend=2 \ 15 | --time-iterations-per-interval=10 \ 16 | --max-time-iterations=500 \ 17 | --only-compute-ignition-delay-time=true \ 18 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 19 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat \ 20 | --threshold-temperature=1500" 21 | 22 | echo $this 23 | eval $this 24 | -------------------------------------------------------------------------------- /src/example/runs/gri3.0_IgnitionZeroD/IgnSolution.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/gri3.0_IgnitionZeroD/IgnSolution.tar.gz -------------------------------------------------------------------------------- /src/example/runs/gri3.0_IgnitionZeroD/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0 3 | 4 | this="$exec --chemfile=$inputs/chem.inp \ 5 | --thermfile=$inputs/therm.dat \ 6 | --samplefile=$inputs/sample.dat \ 7 | --outputfile=IgnSolution.dat \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-8\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-6 \ 12 | --dtmax=1e-3 \ 13 | --dtmin=1e-20 \ 14 | --tend=2 \ 15 | --time-iterations-per-interval=10 \ 16 | --max-time-iterations=260 \ 17 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 18 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat 19 | --threshold-temperature=1500" 20 | 21 | echo $this 22 | eval $this 23 | -------------------------------------------------------------------------------- /src/example/runs/gri3.0_IgnitionZeroD/run_host_single.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD_HostSingle.x 2 | inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0 3 | 4 | this="$exec --chemfile=$inputs/chem.inp \ 5 | --thermfile=$inputs/therm.dat \ 6 | --samplefile=$inputs/input.dat \ 7 | --outputfile=IgnSolution_host_single.dat \ 8 | --atol-newton=1e-18 \ 9 | --rtol-newton=1e-8\ 10 | --max-newton-iterations=20 \ 11 | --tol-time=1e-6 \ 12 | --dtmax=1e-3 \ 13 | --dtmin=1e-20 \ 14 | --tend=2 \ 15 | --time-iterations-per-interval=10 \ 16 | --max-time-iterations=260 " 17 | 18 | echo $this 19 | eval $this 20 | -------------------------------------------------------------------------------- /src/example/runs/isoOctane_IgnDelay/batch.slurm: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --time=40:00:00 3 | #SBATCH -N 1 4 | #SBATCH -J isoOctane 5 | ##SBATCH --output=test-tchem.out 6 | 7 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD.x 8 | 9 | module purge 10 | module load devpack/20190329/openmpi/4.0.1/intel/19.3.199 11 | module load ninja 12 | module list 13 | 14 | export OMP_NUM_THREADS=48 15 | export OMP_PROC_BIND=spread 16 | 17 | this="$exec --chemfile=chem.inp \ 18 | --thermfile=therm.dat \ 19 | --samplefile=sample10.dat \ 20 | --atol-newton=1e-18 \ 21 | --rtol-newton=1e-8\ 22 | --max-newton-iterations=20 \ 23 | --tol-time=1e-6 \ 24 | --dtmax=1e-3 \ 25 | --dtmin=1e-20 \ 26 | --tend=2 \ 27 | --time-iterations-per-interval=10 \ 28 | --max-time-iterations=500 \ 29 | --only-compute-ignition-delay-time=true \ 30 | --ignition-delay-time-file=IgnitionDelayTime.dat \ 31 | --ignition-delay-time-w-threshold-temperature-file=IgnitionDelayTimeTthreshold.dat \ 32 | --threshold-temperature=1500" 33 | 34 | echo $this 35 | eval $this 36 | -------------------------------------------------------------------------------- /src/example/runs/isoOctane_IgnDelay/isoOctaneIgnDelayBlake.hdf5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/example/runs/isoOctane_IgnDelay/isoOctaneIgnDelayBlake.hdf5 -------------------------------------------------------------------------------- /src/example/runs/umerced/H2/chem.inp: -------------------------------------------------------------------------------- 1 | ! Hydrogen mechanism, from : 2 | ! Yetter, R.A., Dryer, F.L., and Rabitz, H., Comb. Sci. & Tech., 3 | ! vol. 79, pp. 97-128 (1991) 4 | ! HNN: Took out N and N2 from elements and species lists 5 | ELEMENTS 6 | H O 7 | END 8 | 9 | SPECIES 10 | H2 O2 O OH H2O H HO2 H2O2 11 | END 12 | 13 | REACTIONS 14 | H+O2=O+OH 1.915E+14 0.00 1.644E+04 15 | O+H2=H+OH 5.080E+04 2.67 6.290E+03 16 | H2+OH=H2O+H 2.160E+08 1.51 3.430E+03 17 | OH+OH=O+H2O 1.230E+04 2.62 -1.880E+03 18 | H2+M=H+H+M 4.577E+19 -1.40 1.044E+05 19 | H2/2.5/ H2O/12/ 20 | O+O+M=O2+M 6.165E+15 -0.50 0.000E+00 21 | H2/2.5/ H2O/12/ 22 | O+H+M=OH+M 4.714E+18 -1.00 0.000E+00 23 | H2/2.5/ H2O/12/ 24 | H+OH+M=H2O+M 2.240E+22 -2.00 0.000E+00 25 | H2/2.5/ H2O/6.3/ 26 | H+O2+M=HO2+M 6.170E+19 -1.42 0.000E+00 27 | H2/2.5/ H2O/12/ 28 | HO2+H=H2+O2 6.630E+13 0.00 2.130E+03 29 | HO2+H=OH+OH 1.690E+14 0.00 8.740E+02 30 | HO2+O=O2+OH 1.810E+13 0.00 -4.000E+02 31 | HO2+OH=H2O+O2 1.450E+16 -1.00 0.000E+00 32 | HO2+HO2=H2O2+O2 3.020E+12 0.00 1.390E+03 33 | H2O2+M=OH+OH+M 1.202E+17 0.00 4.550E+04 34 | H2/2.5/ H2O/12/ 35 | H2O2+H=H2O+OH 1.000E+13 0.00 3.590E+03 36 | H2O2+H=HO2+H2 4.820E+13 0.00 7.950E+03 37 | H2O2+O=OH+HO2 9.550E+06 2.00 3.970E+03 38 | H2O2+OH=HO2+H2O 7.000E+12 0.00 1.430E+03 39 | END 40 | -------------------------------------------------------------------------------- /src/example/runs/umerced/run.sh: -------------------------------------------------------------------------------- 1 | exec=$TCHEM_INSTALL_PATH/example/TChem_IgnitionZeroD_SourceTermJacobian.x 2 | #inputs=$TCHEM_INSTALL_PATH/example/data/ignition-zero-d/gri3.0/ 3 | inputs=H2/ 4 | 5 | chemfile=$inputs"chem.inp" 6 | thermfile=$inputs"therm.dat" 7 | $exec --chemfile=$chemfile --thermfile=$thermfile 8 | -------------------------------------------------------------------------------- /src/git/README: -------------------------------------------------------------------------------- 1 | install clang format 2 | - port install clang (e.g., clang-11) 3 | - check available clang options 4 | port select --list clang 5 | Available versions for clang: 6 | mp-clang-11 (active) 7 | mp-clang-12 8 | mp-clang-13 9 | none 10 | - set the default version (in this case, clang 11) 11 | sudo port select --set clang mp-clang-11 12 | - check clang format is avail 13 | which clang-format 14 | clang-format is /opt/local/bin/clang-format 15 | 16 | setup git pre commit hook 17 | - copy this pre-commit to $REPO_ROOT/.git/hooks/ 18 | copy pre-commit ../../.git/hooks -------------------------------------------------------------------------------- /src/git/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | for FILE in $(git diff --cached --name-only | grep -E '\.(h|hpp|c|cpp)$') 5 | do 6 | if test -f "$FILE"; then 7 | echo "clang format $FILE" 8 | clang-format -style=file -i $FILE 9 | git add $FILE 10 | fi 11 | done 12 | 13 | -------------------------------------------------------------------------------- /src/main/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | SET(TCHEM_INTERNAL_MAIN_LIBRARY tchem-main) 3 | ADD_LIBRARY(tchem-main STATIC TChem_Main_Util.cpp) 4 | TARGET_LINK_LIBRARIES(${TCHEM_INTERNAL_MAIN_LIBRARY} ${TCHEM_LINK_LIBRARIES} ${TCHEM_INTERNAL_BOOST_TARGET}) 5 | TARGET_INCLUDE_DIRECTORIES(${TCHEM_INTERNAL_MAIN_LIBRARY} 6 | PUBLIC 7 | $ 8 | ) 9 | 10 | SET(TCHEM_MAIN_EXE "tchem.x") 11 | ADD_EXECUTABLE(${TCHEM_MAIN_EXE} TChem_Main.cpp) 12 | TARGET_LINK_LIBRARIES(${TCHEM_MAIN_EXE} ${TCHEM_LINK_LIBRARIES} ${TCHEM_INTERNAL_MAIN_LIBRARY}) 13 | IF(TCHEM_ENABLE_INSTALL) 14 | INSTALL(TARGETS ${TCHEM_MAIN_EXE} 15 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 16 | DESTINATION "${TCHEM_INSTALL_BIN_PATH}") 17 | ENDIF() 18 | SET(TCHEM_JSON_TEST_EXE "tchem-json-test.x") 19 | ADD_EXECUTABLE(${TCHEM_JSON_TEST_EXE} TChem_JSON_Test.cpp) 20 | TARGET_LINK_LIBRARIES(${TCHEM_JSON_TEST_EXE} ${TCHEM_LINK_LIBRARIES} ${TCHEM_INTERNAL_MAIN_LIBRARY}) 21 | IF(TCHEM_ENABLE_INSTALL) 22 | INSTALL(TARGETS ${TCHEM_JSON_TEST_EXE} 23 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 24 | DESTINATION "${TCHEM_INSTALL_BIN_PATH}") 25 | ENDIF() 26 | SET(TCHEM_MAIN_FILES "input.json;sample.json;input-const-volume-ignition-tla.json") 27 | FOREACH(TCHEM_MAIN_FILE ${TCHEM_MAIN_FILES} ) 28 | FILE(COPY ${TCHEM_MAIN_FILE} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 29 | IF(TCHEM_ENABLE_INSTALL) 30 | INSTALL(FILES ${TCHEM_MAIN_FILE} DESTINATION "${TCHEM_INSTALL_BIN_PATH}") 31 | ENDIF() 32 | ENDFOREACH() 33 | 34 | -------------------------------------------------------------------------------- /src/main/sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "variable name" : [ "T", "P", "H2", "O2", "O", "OH", "H2O", "H", "HO2", "H2O2", "N2" ], 3 | "state vector" : [ [ 1.000000000000000000e+03, 1.013249999999967840e+05, 2.874974919467000040e-02, 2.281708469820999952e-01, 0.000000000000000000e+00, 0.000000000000000000e+00, 0.000000000000000000e+00, 0.000000000000000000e+00, 0.000000000000000000e+00, 0.000000000000000000e+00, 7.430794038232000354e-01 ] ] 4 | } 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/SimpleSurface.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/SimpleSurface.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/SimpleSurface.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/SimpleSurface.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/TempDensVelPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/TempDensVelPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/TempDensVelPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/TempDensVelPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/TempDensVelPFR2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/TempDensVelPFR2.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/gas1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/gas1.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/gas1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/gas1.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/gas2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/gas2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/gas2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/gas2.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/surf1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/surf1.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/surf1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/surf1.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/surf2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/surf2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/surf2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/surf2.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas/surfgas1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas/surfgas1.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/CH4SamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/CH4SamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/CH4SamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/CH4SamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/CH4XSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/CH4XSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/CH4XSamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/CH4XSamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/COSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/COSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/COSamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/COSamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/O2SamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/O2SamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/O2SamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/O2SamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/OHSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/OHSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/OHSamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/OHSamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/OXSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/OXSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/OXSamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/OXSamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/TempSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/TempSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/TempSamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/TempSamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/XSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/XSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/CH4-PTnogas_SA/XSamplesPFR.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/CH4-PTnogas_SA/XSamplesPFR.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction2.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction3.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/ConstantVolumeIgnition/TempMassFraction3.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/T-CSTR/TempCH4O2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/T-CSTR/TempCH4O2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/T-CSTR/TempCH4O2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/T-CSTR/TempCH4O2.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/T-CSTR/surface.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/T-CSTR/surface.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/T-CSTR/surface.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/T-CSTR/surface.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/X/SimpleSurface.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X/SimpleSurface.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X/TempDensVelPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X/TempDensVelPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X/gas1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X/gas1.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X/gas2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X/gas2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X/surf1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X/surf1.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X/surf2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X/surf2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/CH4SamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/CH4SamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/CH4XSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/CH4XSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/COSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/COSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/O2SamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/O2SamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/OHSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/OHSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/OXSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/OXSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/TempSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/TempSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/X_SA/XSamplesPFR.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/X_SA/XSamplesPFR.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_IgnDelay/Gri3IgnDelayTime.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_IgnDelay/Gri3IgnDelayTime.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_IgnDelay/Gri3IgnDelayTime.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_IgnDelay/Gri3IgnDelayTime.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/MixtureEnthalpy.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/MixtureEnthalpy.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/MixtureEnthalpy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/MixtureEnthalpy.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/MixtureSpecificHeatCapacity.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/MixtureSpecificHeatCapacity.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/MixtureSpecificHeatCapacity.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/MixtureSpecificHeatCapacity.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/TempMassFraction.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/TempMassFraction.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/TempMassFraction2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/TempMassFraction2.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/TempMassFraction2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/TempMassFraction2.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/TempMassFraction3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/TempMassFraction3.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/gri3.0_OneSample/TempMassFraction3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/gri3.0_OneSample/TempMassFraction3.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane10atm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane10atm.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane10atm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane10atm.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane16atm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane16atm.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane16atm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane16atm.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane34atm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane34atm.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane34atm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane34atm.pdf -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane45atm.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane45atm.jpg -------------------------------------------------------------------------------- /src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane45atm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/markdown/Figures/isoOctane/TempvsEquiRatio900IsoOctane45atm.pdf -------------------------------------------------------------------------------- /src/markdown/future-work.md: -------------------------------------------------------------------------------- 1 | # On-going and Future Work 2 | 3 | * HDF5 IO interface 4 | * GPU performance optimization 5 | * Exploring exponential time integrator 6 | -------------------------------------------------------------------------------- /src/markdown/time-integration.md: -------------------------------------------------------------------------------- 1 | 2 | # Time Integration 3 | 4 | For stiff ODEs/DAEs, the numerical time step size is limited by a stability condition rather than a truncation error. To obtain a reliable solution, we use a stable time integration method i.e., 2nd order Trapezoidal Backward Difference Formula (TrBDF2). The TrBDF2 scheme is a composite single step method. The method is 2-nd order accurate and $L$-stable. This ODE/DAE solver was implemented via Kokkos, it takes advantage of parallel threads available through the Kokkos interface, and it is part of the [Tines](https://github.com/sandialabs/Tines) library. 5 | 6 | * R. E. Bank, W. M. Coughran, W. Fichtner, E. H. Grosse, D. J. Rose, and R. K. Smith, Transient simulation of silicon devices and circuits, IEEE Trans. Comput. Aided Des. CAD-4, 436-451, 1985. 7 | -------------------------------------------------------------------------------- /src/pytchem/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # PYBIND 2 | ADD_SUBDIRECTORY(pybind11) 3 | PYBIND11_ADD_MODULE(pytchem TChem_PyTChem.cpp) 4 | TARGET_LINK_LIBRARIES(pytchem PUBLIC tchem) 5 | 6 | IF(TCHEM_ENABLE_INSTALL) 7 | INSTALL(TARGETS pytchem 8 | EXPORT pytchem-targets 9 | LIBRARY DESTINATION "${TCHEM_INSTALL_LIB_PATH}" 10 | ARCHIVE DESTINATION "${TCHEM_INSTALL_LIB_PATH}" 11 | ) 12 | 13 | INSTALL(EXPORT pytchem-targets 14 | DESTINATION "${TCHEM_INSTALL_LIB_PATH}/cmake/TChem" 15 | NAMESPACE TChem:: 16 | ) 17 | ENDIF() -------------------------------------------------------------------------------- /src/pytchem/pybind11/.appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build} 2 | image: 3 | - Visual Studio 2015 4 | test: off 5 | skip_branch_with_pr: true 6 | build: 7 | parallel: true 8 | platform: 9 | - x86 10 | environment: 11 | matrix: 12 | - PYTHON: 36 13 | CONFIG: Debug 14 | - PYTHON: 27 15 | CONFIG: Debug 16 | install: 17 | - ps: | 18 | $env:CMAKE_GENERATOR = "Visual Studio 14 2015" 19 | if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" } 20 | $env:PATH = "C:\Python$env:PYTHON\;C:\Python$env:PYTHON\Scripts\;$env:PATH" 21 | python -W ignore -m pip install --upgrade pip wheel 22 | python -W ignore -m pip install pytest numpy --no-warn-script-location 23 | - ps: | 24 | Start-FileDownload 'https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.zip' 25 | 7z x eigen-3.3.7.zip -y > $null 26 | $env:CMAKE_INCLUDE_PATH = "eigen-3.3.7;$env:CMAKE_INCLUDE_PATH" 27 | build_script: 28 | - cmake -G "%CMAKE_GENERATOR%" -A "%CMAKE_ARCH%" 29 | -DCMAKE_CXX_STANDARD=14 30 | -DPYBIND11_WERROR=ON 31 | -DDOWNLOAD_CATCH=ON 32 | -DCMAKE_SUPPRESS_REGENERATION=1 33 | . 34 | - set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" 35 | - cmake --build . --config %CONFIG% --target pytest -- /m /v:m /logger:%MSBuildLogger% 36 | - cmake --build . --config %CONFIG% --target cpptest -- /m /v:m /logger:%MSBuildLogger% 37 | on_failure: if exist "tests\test_cmake_build" type tests\test_cmake_build\*.log* 38 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.clang-tidy: -------------------------------------------------------------------------------- 1 | FormatStyle: file 2 | 3 | Checks: ' 4 | llvm-namespace-comment, 5 | modernize-use-override, 6 | readability-container-size-empty, 7 | modernize-use-using, 8 | modernize-use-equals-default, 9 | modernize-use-auto, 10 | modernize-use-emplace, 11 | ' 12 | 13 | HeaderFilterRegex: 'pybind11/.*h' 14 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: File an issue about a bug 4 | title: "[BUG] " 5 | --- 6 | 7 | 8 | Make sure you've completed the following steps before submitting your issue -- thank you! 9 | 10 | 1. Make sure you've read the [documentation][]. Your issue may be addressed there. 11 | 2. Search the [issue tracker][] to verify that this hasn't already been reported. +1 or comment there if it has. 12 | 3. Consider asking first in the [Gitter chat room][]. 13 | 4. Include a self-contained and minimal piece of code that reproduces the problem. If that's not possible, try to make the description as clear as possible. 14 | a. If possible, make a PR with a new, failing test to give us a starting point to work on! 15 | 16 | [documentation]: https://pybind11.readthedocs.io 17 | [issue tracker]: https://github.com/pybind/pybind11/issues 18 | [Gitter chat room]: https://gitter.im/pybind/Lobby 19 | 20 | *After reading, remove this checklist and the template text in parentheses below.* 21 | 22 | ## Issue description 23 | 24 | (Provide a short description, state the expected behavior and what actually happens.) 25 | 26 | ## Reproducible example code 27 | 28 | (The code should be minimal, have no external dependencies, isolate the function(s) that cause breakage. Submit matched and complete C++ and Python snippets that can be easily compiled and run to diagnose the issue.) 29 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: Gitter room 4 | url: https://gitter.im/pybind/Lobby 5 | about: A room for discussing pybind11 with an active community 6 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/ISSUE_TEMPLATE/feature-request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature Request 3 | about: File an issue about adding a feature 4 | title: "[FEAT] " 5 | --- 6 | 7 | 8 | Make sure you've completed the following steps before submitting your issue -- thank you! 9 | 10 | 1. Check if your feature has already been mentioned / rejected / planned in other issues. 11 | 2. If those resources didn't help, consider asking in the [Gitter chat room][] to see if this is interesting / useful to a larger audience and possible to implement reasonably, 12 | 4. If you have a useful feature that passes the previous items (or not suitable for chat), please fill in the details below. 13 | 14 | [Gitter chat room]: https://gitter.im/pybind/Lobby 15 | 16 | *After reading, remove this checklist.* 17 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: File an issue about unexplained behavior 4 | title: "[QUESTION] " 5 | --- 6 | 7 | If you have a question, please check the following first: 8 | 9 | 1. Check if your question has already been answered in the [FAQ][] section. 10 | 2. Make sure you've read the [documentation][]. Your issue may be addressed there. 11 | 3. If those resources didn't help and you only have a short question (not a bug report), consider asking in the [Gitter chat room][] 12 | 4. Search the [issue tracker][], including the closed issues, to see if your question has already been asked/answered. +1 or comment if it has been asked but has no answer. 13 | 5. If you have a more complex question which is not answered in the previous items (or not suitable for chat), please fill in the details below. 14 | 6. Include a self-contained and minimal piece of code that illustrates your question. If that's not possible, try to make the description as clear as possible. 15 | 16 | [FAQ]: http://pybind11.readthedocs.io/en/latest/faq.html 17 | [documentation]: https://pybind11.readthedocs.io 18 | [issue tracker]: https://github.com/pybind/pybind11/issues 19 | [Gitter chat room]: https://gitter.im/pybind/Lobby 20 | 21 | *After reading, remove this checklist.* 22 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Maintain dependencies for GitHub Actions 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "daily" 8 | ignore: 9 | # Offical actions have moving tags like v1 10 | # that are used, so they don't need updates here 11 | - dependency-name: "actions/*" 12 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/labeler.yml: -------------------------------------------------------------------------------- 1 | docs: 2 | - any: 3 | - 'docs/**/*.rst' 4 | - '!docs/changelog.rst' 5 | - '!docs/upgrade.rst' 6 | 7 | ci: 8 | - '.github/workflows/*.yml' 9 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/labeler_merged.yml: -------------------------------------------------------------------------------- 1 | needs changelog: 2 | - all: 3 | - '!docs/changelog.rst' 4 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | 4 | 5 | 6 | ## Suggested changelog entry: 7 | 8 | 9 | 10 | ```rst 11 | 12 | ``` 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/workflows/format.yml: -------------------------------------------------------------------------------- 1 | # This is a format job. Pre-commit has a first-party GitHub action, so we use 2 | # that: https://github.com/pre-commit/action 3 | 4 | name: Format 5 | 6 | on: 7 | workflow_dispatch: 8 | pull_request: 9 | push: 10 | branches: 11 | - master 12 | - stable 13 | - "v*" 14 | 15 | jobs: 16 | pre-commit: 17 | name: Format 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@v2 21 | - uses: actions/setup-python@v2 22 | - uses: pre-commit/action@v2.0.0 23 | with: 24 | # Slow hooks are marked with manual - slow is okay here, run them too 25 | extra_args: --hook-stage manual --all-files 26 | 27 | clang-tidy: 28 | name: Clang-Tidy 29 | runs-on: ubuntu-latest 30 | container: silkeh/clang:10 31 | steps: 32 | - uses: actions/checkout@v2 33 | 34 | - name: Install requirements 35 | run: apt-get update && apt-get install -y python3-dev python3-pytest 36 | 37 | - name: Configure 38 | run: > 39 | cmake -S . -B build 40 | -DCMAKE_CXX_CLANG_TIDY="$(which clang-tidy);--warnings-as-errors=*" 41 | -DDOWNLOAD_EIGEN=ON 42 | -DDOWNLOAD_CATCH=ON 43 | -DCMAKE_CXX_STANDARD=17 44 | 45 | - name: Build 46 | run: cmake --build build -j 2 47 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.github/workflows/labeler.yml: -------------------------------------------------------------------------------- 1 | name: Labeler 2 | on: 3 | pull_request_target: 4 | types: [closed] 5 | 6 | jobs: 7 | label: 8 | name: Labeler 9 | runs-on: ubuntu-latest 10 | steps: 11 | 12 | - uses: actions/labeler@main 13 | if: github.event.pull_request.merged == true 14 | with: 15 | repo-token: ${{ secrets.GITHUB_TOKEN }} 16 | configuration-path: .github/labeler_merged.yml 17 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.gitignore: -------------------------------------------------------------------------------- 1 | CMakeCache.txt 2 | CMakeFiles 3 | Makefile 4 | cmake_install.cmake 5 | cmake_uninstall.cmake 6 | .DS_Store 7 | *.so 8 | *.pyd 9 | *.dll 10 | *.sln 11 | *.sdf 12 | *.opensdf 13 | *.vcxproj 14 | *.vcxproj.user 15 | *.filters 16 | example.dir 17 | Win32 18 | x64 19 | Release 20 | Debug 21 | .vs 22 | CTestTestfile.cmake 23 | Testing 24 | autogen 25 | MANIFEST 26 | /.ninja_* 27 | /*.ninja 28 | /docs/.build 29 | *.py[co] 30 | *.egg-info 31 | *~ 32 | .*.swp 33 | .DS_Store 34 | /dist 35 | /*build* 36 | .cache/ 37 | sosize-*.txt 38 | pybind11Config*.cmake 39 | pybind11Targets.cmake 40 | /*env* 41 | /.vscode 42 | /pybind11/include/* 43 | /pybind11/share/* 44 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/.readthedocs.yml: -------------------------------------------------------------------------------- 1 | python: 2 | version: 3 3 | requirements_file: docs/requirements.txt 4 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include pybind11/include/pybind11 *.h 2 | recursive-include pybind11 *.py 3 | recursive-include pybind11 py.typed 4 | recursive-include pybind11 *.pyi 5 | include pybind11/share/cmake/pybind11/*.cmake 6 | include LICENSE README.rst pyproject.toml setup.py setup.cfg 7 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/Doxyfile: -------------------------------------------------------------------------------- 1 | PROJECT_NAME = pybind11 2 | INPUT = ../include/pybind11/ 3 | RECURSIVE = YES 4 | 5 | GENERATE_HTML = NO 6 | GENERATE_LATEX = NO 7 | GENERATE_XML = YES 8 | XML_OUTPUT = .build/doxygenxml 9 | XML_PROGRAMLISTING = YES 10 | 11 | MACRO_EXPANSION = YES 12 | EXPAND_ONLY_PREDEF = YES 13 | EXPAND_AS_DEFINED = PYBIND11_RUNTIME_EXCEPTION 14 | 15 | ALIASES = "rst=\verbatim embed:rst" 16 | ALIASES += "endrst=\endverbatim" 17 | 18 | QUIET = YES 19 | WARNINGS = YES 20 | WARN_IF_UNDOCUMENTED = NO 21 | PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS \ 22 | PY_MAJOR_VERSION=3 \ 23 | PYBIND11_NOINLINE 24 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/_static/theme_overrides.css: -------------------------------------------------------------------------------- 1 | .wy-table-responsive table td, 2 | .wy-table-responsive table th { 3 | white-space: initial !important; 4 | } 5 | .rst-content table.docutils td { 6 | vertical-align: top !important; 7 | } 8 | div[class^='highlight'] pre { 9 | white-space: pre; 10 | white-space: pre-wrap; 11 | } 12 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/advanced/pycpp/index.rst: -------------------------------------------------------------------------------- 1 | Python C++ interface 2 | #################### 3 | 4 | pybind11 exposes Python types and functions using thin C++ wrappers, which 5 | makes it possible to conveniently call Python code from C++ without resorting 6 | to Python's C API. 7 | 8 | .. toctree:: 9 | :maxdepth: 2 10 | 11 | object 12 | numpy 13 | utilities 14 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/cmake/index.rst: -------------------------------------------------------------------------------- 1 | CMake helpers 2 | ------------- 3 | 4 | Pybind11 can be used with ``add_subdirectory(extern/pybind11)``, or from an 5 | install with ``find_package(pybind11 CONFIG)``. The interface provided in 6 | either case is functionally identical. 7 | 8 | .. cmake-module:: ../../tools/pybind11Config.cmake.in 9 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/index.rst: -------------------------------------------------------------------------------- 1 | .. only:: latex 2 | 3 | Intro 4 | ===== 5 | 6 | .. include:: readme.rst 7 | 8 | .. only:: not latex 9 | 10 | Contents: 11 | 12 | .. toctree:: 13 | :maxdepth: 1 14 | 15 | changelog 16 | upgrade 17 | 18 | .. toctree:: 19 | :caption: The Basics 20 | :maxdepth: 2 21 | 22 | installing 23 | basics 24 | classes 25 | compiling 26 | 27 | .. toctree:: 28 | :caption: Advanced Topics 29 | :maxdepth: 2 30 | 31 | advanced/functions 32 | advanced/classes 33 | advanced/exceptions 34 | advanced/smart_ptrs 35 | advanced/cast/index 36 | advanced/pycpp/index 37 | advanced/embedding 38 | advanced/misc 39 | 40 | .. toctree:: 41 | :caption: Extra Information 42 | :maxdepth: 1 43 | 44 | faq 45 | benchmark 46 | limitations 47 | reference 48 | cmake/index 49 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/pybind11-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/docs/pybind11-logo.png -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/pybind11_vs_boost_python1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/docs/pybind11_vs_boost_python1.png -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/pybind11_vs_boost_python2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/docs/pybind11_vs_boost_python2.png -------------------------------------------------------------------------------- /src/pytchem/pybind11/docs/requirements.txt: -------------------------------------------------------------------------------- 1 | breathe==4.20.0 2 | commonmark==0.9.1 3 | recommonmark==0.6.0 4 | sphinx==3.2.1 5 | sphinx_rtd_theme==0.5.0 6 | sphinxcontrib-moderncmakedomain==3.13 7 | sphinxcontrib-svg2pdfconverter==1.1.0 8 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/include/pybind11/common.h: -------------------------------------------------------------------------------- 1 | #include "detail/common.h" 2 | #warning "Including 'common.h' is deprecated. It will be removed in v3.0. Use 'pybind11.h'." 3 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11-stable.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/pybind11-stable.tar.gz -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | from ._version import version_info, __version__ 4 | from .commands import get_include, get_cmake_dir 5 | 6 | 7 | __all__ = ( 8 | "version_info", 9 | "__version__", 10 | "get_include", 11 | "get_cmake_dir", 12 | ) 13 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11/__main__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function 3 | 4 | import argparse 5 | import sys 6 | import sysconfig 7 | 8 | from .commands import get_include, get_cmake_dir 9 | 10 | 11 | def print_includes(): 12 | # type: () -> None 13 | dirs = [ 14 | sysconfig.get_path("include"), 15 | sysconfig.get_path("platinclude"), 16 | get_include(), 17 | ] 18 | 19 | # Make unique but preserve order 20 | unique_dirs = [] 21 | for d in dirs: 22 | if d and d not in unique_dirs: 23 | unique_dirs.append(d) 24 | 25 | print(" ".join("-I" + d for d in unique_dirs)) 26 | 27 | 28 | def main(): 29 | # type: () -> None 30 | 31 | parser = argparse.ArgumentParser() 32 | parser.add_argument( 33 | "--includes", 34 | action="store_true", 35 | help="Include flags for both pybind11 and Python headers.", 36 | ) 37 | parser.add_argument( 38 | "--cmakedir", 39 | action="store_true", 40 | help="Print the CMake module directory, ideal for setting -Dpybind11_ROOT in CMake.", 41 | ) 42 | args = parser.parse_args() 43 | if not sys.argv[1:]: 44 | parser.print_help() 45 | if args.includes: 46 | print_includes() 47 | if args.cmakedir: 48 | print(get_cmake_dir()) 49 | 50 | 51 | if __name__ == "__main__": 52 | main() 53 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11/_version.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | 4 | def _to_int(s): 5 | try: 6 | return int(s) 7 | except ValueError: 8 | return s 9 | 10 | 11 | __version__ = "2.6.1" 12 | version_info = tuple(_to_int(s) for s in __version__.split(".")) 13 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11/_version.pyi: -------------------------------------------------------------------------------- 1 | from typing import Union, Tuple 2 | 3 | def _to_int(s: str) -> Union[int, str]: ... 4 | 5 | __version__: str 6 | version_info: Tuple[Union[int, str], ...] 7 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11/commands.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import os 3 | 4 | 5 | DIR = os.path.abspath(os.path.dirname(__file__)) 6 | 7 | 8 | def get_include(user=False): 9 | # type: (bool) -> str 10 | installed_path = os.path.join(DIR, "include") 11 | source_path = os.path.join(os.path.dirname(DIR), "include") 12 | return installed_path if os.path.exists(installed_path) else source_path 13 | 14 | 15 | def get_cmake_dir(): 16 | # type: () -> str 17 | cmake_installed_path = os.path.join(DIR, "share", "cmake", "pybind11") 18 | if os.path.exists(cmake_installed_path): 19 | return cmake_installed_path 20 | else: 21 | msg = "pybind11 not installed, installation required to access the CMake files" 22 | raise ImportError(msg) 23 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/pybind11/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/pybind11/py.typed -------------------------------------------------------------------------------- /src/pytchem/pybind11/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=42", "wheel", "cmake>=3.18", "ninja"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/env.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import platform 3 | import sys 4 | 5 | LINUX = sys.platform.startswith("linux") 6 | MACOS = sys.platform.startswith("darwin") 7 | WIN = sys.platform.startswith("win32") or sys.platform.startswith("cygwin") 8 | 9 | CPYTHON = platform.python_implementation() == "CPython" 10 | PYPY = platform.python_implementation() == "PyPy" 11 | 12 | PY2 = sys.version_info.major == 2 13 | 14 | PY = sys.version_info 15 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/extra_python_package/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/tests/extra_python_package/pytest.ini -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/extra_setuptools/pytest.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/pytchem/pybind11/tests/extra_setuptools/pytest.ini -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/pytest.ini: -------------------------------------------------------------------------------- 1 | [pytest] 2 | minversion = 3.1 3 | norecursedirs = test_* extra_* 4 | xfail_strict = True 5 | addopts = 6 | # show summary of skipped tests 7 | -rs 8 | # capture only Python print and C++ py::print, but not C output (low-level Python errors) 9 | --capture=sys 10 | # enable all warnings 11 | -Wa 12 | filterwarnings = 13 | # make warnings into errors but ignore certain third-party extension issues 14 | error 15 | # importing scipy submodules on some version of Python 16 | ignore::ImportWarning 17 | # bogus numpy ABI warning (see numpy/#432) 18 | ignore:.*numpy.dtype size changed.*:RuntimeWarning 19 | ignore:.*numpy.ufunc size changed.*:RuntimeWarning 20 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/requirements.txt: -------------------------------------------------------------------------------- 1 | --extra-index-url https://antocuni.github.io/pypy-wheels/manylinux2010/ 2 | numpy==1.16.6; python_version<"3.6" and sys_platform!="win32" 3 | numpy==1.18.0; platform_python_implementation=="PyPy" and sys_platform=="darwin" and python_version>="3.6" 4 | numpy==1.19.3; (platform_python_implementation!="PyPy" or sys_platform=="linux") and python_version>="3.6" and python_version<"3.10" 5 | pytest==4.6.9; python_version<"3.5" 6 | pytest==5.4.3; python_version>="3.5" 7 | scipy==1.2.3; (platform_python_implementation!="PyPy" or sys_platform=="linux") and python_version<"3.6" 8 | scipy==1.5.2; (platform_python_implementation!="PyPy" or sys_platform=="linux") and python_version>="3.6" and python_version<"3.9" 9 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_async.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | tests/test_async.cpp -- __await__ support 3 | 4 | Copyright (c) 2019 Google Inc. 5 | 6 | All rights reserved. Use of this source code is governed by a 7 | BSD-style license that can be found in the LICENSE file. 8 | */ 9 | 10 | #include "pybind11_tests.h" 11 | 12 | TEST_SUBMODULE(async_module, m) { 13 | struct DoesNotSupportAsync {}; 14 | py::class_(m, "DoesNotSupportAsync") 15 | .def(py::init<>()); 16 | struct SupportsAsync {}; 17 | py::class_(m, "SupportsAsync") 18 | .def(py::init<>()) 19 | .def("__await__", [](const SupportsAsync& self) -> py::object { 20 | static_cast(self); 21 | py::object loop = py::module_::import("asyncio.events").attr("get_event_loop")(); 22 | py::object f = loop.attr("create_future")(); 23 | f.attr("set_result")(5); 24 | return f.attr("__await__")(); 25 | }); 26 | } 27 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_async.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import pytest 3 | 4 | asyncio = pytest.importorskip("asyncio") 5 | m = pytest.importorskip("pybind11_tests.async_module") 6 | 7 | 8 | @pytest.fixture 9 | def event_loop(): 10 | loop = asyncio.new_event_loop() 11 | yield loop 12 | loop.close() 13 | 14 | 15 | async def get_await_result(x): 16 | return await x 17 | 18 | 19 | def test_await(event_loop): 20 | assert 5 == event_loop.run_until_complete(get_await_result(m.SupportsAsync())) 21 | 22 | 23 | def test_await_missing(event_loop): 24 | with pytest.raises(TypeError): 25 | event_loop.run_until_complete(get_await_result(m.DoesNotSupportAsync())) 26 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/embed.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | namespace py = pybind11; 3 | 4 | PYBIND11_EMBEDDED_MODULE(test_cmake_build, m) { 5 | m.def("add", [](int i, int j) { return i + j; }); 6 | } 7 | 8 | int main(int argc, char *argv[]) { 9 | if (argc != 2) 10 | throw std::runtime_error("Expected test.py file as the first argument"); 11 | auto test_py_file = argv[1]; 12 | 13 | py::scoped_interpreter guard{}; 14 | 15 | auto m = py::module_::import("test_cmake_build"); 16 | if (m.attr("add")(1, 2).cast() != 3) 17 | throw std::runtime_error("embed.cpp failed"); 18 | 19 | py::module_::import("sys").attr("argv") = py::make_tuple("test.py", "embed.cpp"); 20 | py::eval_file(test_py_file, py::globals()); 21 | } 22 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4) 2 | 3 | # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with 4 | # some versions of VS that have a patched CMake 3.11. This forces us to emulate 5 | # the behavior using the following workaround: 6 | if(${CMAKE_VERSION} VERSION_LESS 3.18) 7 | cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) 8 | else() 9 | cmake_policy(VERSION 3.18) 10 | endif() 11 | 12 | project(test_installed_embed CXX) 13 | 14 | find_package(pybind11 CONFIG REQUIRED) 15 | message(STATUS "Found pybind11 v${pybind11_VERSION}: ${pybind11_INCLUDE_DIRS}") 16 | 17 | add_executable(test_installed_embed ../embed.cpp) 18 | target_link_libraries(test_installed_embed PRIVATE pybind11::embed) 19 | set_target_properties(test_installed_embed PROPERTIES OUTPUT_NAME test_cmake_build) 20 | 21 | # Do not treat includes from IMPORTED target as SYSTEM (Python headers in pybind11::embed). 22 | # This may be needed to resolve header conflicts, e.g. between Python release and debug headers. 23 | set_target_properties(test_installed_embed PROPERTIES NO_SYSTEM_FROM_IMPORTED ON) 24 | 25 | add_custom_target(check_installed_embed $ 26 | ${PROJECT_SOURCE_DIR}/../test.py) 27 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4) 2 | project(test_installed_module CXX) 3 | 4 | # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with 5 | # some versions of VS that have a patched CMake 3.11. This forces us to emulate 6 | # the behavior using the following workaround: 7 | if(${CMAKE_VERSION} VERSION_LESS 3.18) 8 | cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) 9 | else() 10 | cmake_policy(VERSION 3.18) 11 | endif() 12 | 13 | project(test_installed_function CXX) 14 | 15 | find_package(pybind11 CONFIG REQUIRED) 16 | message( 17 | STATUS "Found pybind11 v${pybind11_VERSION} ${pybind11_VERSION_TYPE}: ${pybind11_INCLUDE_DIRS}") 18 | 19 | pybind11_add_module(test_installed_function SHARED NO_EXTRAS ../main.cpp) 20 | set_target_properties(test_installed_function PROPERTIES OUTPUT_NAME test_cmake_build) 21 | 22 | if(DEFINED Python_EXECUTABLE) 23 | set(_Python_EXECUTABLE "${Python_EXECUTABLE}") 24 | elseif(DEFINED PYTHON_EXECUTABLE) 25 | set(_Python_EXECUTABLE "${PYTHON_EXECUTABLE}") 26 | else() 27 | message(FATAL_ERROR "No Python executable defined (should not be possible at this stage)") 28 | endif() 29 | 30 | add_custom_target( 31 | check_installed_function 32 | ${CMAKE_COMMAND} 33 | -E 34 | env 35 | PYTHONPATH=$ 36 | ${_Python_EXECUTABLE} 37 | ${PROJECT_SOURCE_DIR}/../test.py 38 | ${PROJECT_NAME}) 39 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | namespace py = pybind11; 3 | 4 | PYBIND11_MODULE(test_cmake_build, m) { 5 | m.def("add", [](int i, int j) { return i + j; }); 6 | } 7 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4) 2 | 3 | # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with 4 | # some versions of VS that have a patched CMake 3.11. This forces us to emulate 5 | # the behavior using the following workaround: 6 | if(${CMAKE_VERSION} VERSION_LESS 3.18) 7 | cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) 8 | else() 9 | cmake_policy(VERSION 3.18) 10 | endif() 11 | 12 | project(test_subdirectory_embed CXX) 13 | 14 | set(PYBIND11_INSTALL 15 | ON 16 | CACHE BOOL "") 17 | set(PYBIND11_EXPORT_NAME test_export) 18 | 19 | add_subdirectory(${PYBIND11_PROJECT_DIR} pybind11) 20 | 21 | # Test basic target functionality 22 | add_executable(test_subdirectory_embed ../embed.cpp) 23 | target_link_libraries(test_subdirectory_embed PRIVATE pybind11::embed) 24 | set_target_properties(test_subdirectory_embed PROPERTIES OUTPUT_NAME test_cmake_build) 25 | 26 | add_custom_target(check_subdirectory_embed $ 27 | ${PROJECT_SOURCE_DIR}/../test.py) 28 | 29 | # Test custom export group -- PYBIND11_EXPORT_NAME 30 | add_library(test_embed_lib ../embed.cpp) 31 | target_link_libraries(test_embed_lib PRIVATE pybind11::embed) 32 | 33 | install( 34 | TARGETS test_embed_lib 35 | EXPORT test_export 36 | ARCHIVE DESTINATION bin 37 | LIBRARY DESTINATION lib 38 | RUNTIME DESTINATION lib) 39 | install(EXPORT test_export DESTINATION lib/cmake/test_export/test_export-Targets.cmake) 40 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4) 2 | 3 | # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with 4 | # some versions of VS that have a patched CMake 3.11. This forces us to emulate 5 | # the behavior using the following workaround: 6 | if(${CMAKE_VERSION} VERSION_LESS 3.18) 7 | cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) 8 | else() 9 | cmake_policy(VERSION 3.18) 10 | endif() 11 | 12 | project(test_subdirectory_function CXX) 13 | 14 | add_subdirectory("${PYBIND11_PROJECT_DIR}" pybind11) 15 | pybind11_add_module(test_subdirectory_function ../main.cpp) 16 | set_target_properties(test_subdirectory_function PROPERTIES OUTPUT_NAME test_cmake_build) 17 | 18 | if(DEFINED Python_EXECUTABLE) 19 | set(_Python_EXECUTABLE "${Python_EXECUTABLE}") 20 | elseif(DEFINED PYTHON_EXECUTABLE) 21 | set(_Python_EXECUTABLE "${PYTHON_EXECUTABLE}") 22 | else() 23 | message(FATAL_ERROR "No Python executable defined (should not be possible at this stage)") 24 | endif() 25 | 26 | add_custom_target( 27 | check_subdirectory_function 28 | ${CMAKE_COMMAND} 29 | -E 30 | env 31 | PYTHONPATH=$ 32 | ${_Python_EXECUTABLE} 33 | ${PROJECT_SOURCE_DIR}/../test.py 34 | ${PROJECT_NAME}) 35 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.4) 2 | 3 | # The `cmake_minimum_required(VERSION 3.4...3.18)` syntax does not work with 4 | # some versions of VS that have a patched CMake 3.11. This forces us to emulate 5 | # the behavior using the following workaround: 6 | if(${CMAKE_VERSION} VERSION_LESS 3.18) 7 | cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) 8 | else() 9 | cmake_policy(VERSION 3.18) 10 | endif() 11 | 12 | project(test_subdirectory_target CXX) 13 | 14 | add_subdirectory(${PYBIND11_PROJECT_DIR} pybind11) 15 | 16 | add_library(test_subdirectory_target MODULE ../main.cpp) 17 | set_target_properties(test_subdirectory_target PROPERTIES OUTPUT_NAME test_cmake_build) 18 | 19 | target_link_libraries(test_subdirectory_target PRIVATE pybind11::module) 20 | 21 | # Make sure result is, for example, test_installed_target.so, not libtest_installed_target.dylib 22 | pybind11_extension(test_subdirectory_target) 23 | 24 | if(DEFINED Python_EXECUTABLE) 25 | set(_Python_EXECUTABLE "${Python_EXECUTABLE}") 26 | elseif(DEFINED PYTHON_EXECUTABLE) 27 | set(_Python_EXECUTABLE "${PYTHON_EXECUTABLE}") 28 | else() 29 | message(FATAL_ERROR "No Python executable defined (should not be possible at this stage)") 30 | endif() 31 | 32 | add_custom_target( 33 | check_subdirectory_target 34 | ${CMAKE_COMMAND} 35 | -E 36 | env 37 | PYTHONPATH=$ 38 | ${_Python_EXECUTABLE} 39 | ${PROJECT_SOURCE_DIR}/../test.py 40 | ${PROJECT_NAME}) 41 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_cmake_build/test.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import sys 3 | import test_cmake_build 4 | 5 | assert test_cmake_build.add(1, 2) == 3 6 | print("{} imports, runs, and adds: 1 + 2 = 3".format(sys.argv[1])) 7 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_constants_and_functions.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import pytest 3 | 4 | m = pytest.importorskip("pybind11_tests.constants_and_functions") 5 | 6 | 7 | def test_constants(): 8 | assert m.some_constant == 14 9 | 10 | 11 | def test_function_overloading(): 12 | assert m.test_function() == "test_function()" 13 | assert m.test_function(7) == "test_function(7)" 14 | assert m.test_function(m.MyEnum.EFirstEntry) == "test_function(enum=1)" 15 | assert m.test_function(m.MyEnum.ESecondEntry) == "test_function(enum=2)" 16 | 17 | assert m.test_function() == "test_function()" 18 | assert m.test_function("abcd") == "test_function(char *)" 19 | assert m.test_function(1, 1.0) == "test_function(int, float)" 20 | assert m.test_function(1, 1.0) == "test_function(int, float)" 21 | assert m.test_function(2.0, 2) == "test_function(float, int)" 22 | 23 | 24 | def test_bytes(): 25 | assert m.print_bytes(m.return_bytes()) == "bytes[1 0 2 0]" 26 | 27 | 28 | def test_exception_specifiers(): 29 | c = m.C() 30 | assert c.m1(2) == 1 31 | assert c.m2(3) == 1 32 | assert c.m3(5) == 2 33 | assert c.m4(7) == 3 34 | assert c.m5(10) == 5 35 | assert c.m6(14) == 8 36 | assert c.m7(20) == 13 37 | assert c.m8(29) == 21 38 | 39 | assert m.f1(33) == 34 40 | assert m.f2(53) == 55 41 | assert m.f3(86) == 89 42 | assert m.f4(140) == 144 43 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_embed/catch.cpp: -------------------------------------------------------------------------------- 1 | // The Catch implementation is compiled here. This is a standalone 2 | // translation unit to avoid recompiling it for every test change. 3 | 4 | #include 5 | 6 | #ifdef _MSC_VER 7 | // Silence MSVC C++17 deprecation warning from Catch regarding std::uncaught_exceptions (up to catch 8 | // 2.0.1; this should be fixed in the next catch release after 2.0.1). 9 | # pragma warning(disable: 4996) 10 | #endif 11 | 12 | #define CATCH_CONFIG_RUNNER 13 | #include 14 | 15 | namespace py = pybind11; 16 | 17 | int main(int argc, char *argv[]) { 18 | py::scoped_interpreter guard{}; 19 | auto result = Catch::Session().run(argc, argv); 20 | 21 | return result < 0xff ? result : 0xff; 22 | } 23 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_embed/external_module.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | namespace py = pybind11; 4 | 5 | /* Simple test module/test class to check that the referenced internals data of external pybind11 6 | * modules aren't preserved over a finalize/initialize. 7 | */ 8 | 9 | PYBIND11_MODULE(external_module, m) { 10 | class A { 11 | public: 12 | A(int value) : v{value} {}; 13 | int v; 14 | }; 15 | 16 | py::class_(m, "A") 17 | .def(py::init()) 18 | .def_readwrite("value", &A::v); 19 | 20 | m.def("internals_at", []() { 21 | return reinterpret_cast(&py::detail::get_internals()); 22 | }); 23 | } 24 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_embed/test_interpreter.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from widget_module import Widget 3 | 4 | 5 | class DerivedWidget(Widget): 6 | def __init__(self, message): 7 | super(DerivedWidget, self).__init__(message) 8 | 9 | def the_answer(self): 10 | return 42 11 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_eval.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import os 3 | 4 | import pytest 5 | 6 | import env # noqa: F401 7 | 8 | from pybind11_tests import eval_ as m 9 | 10 | 11 | def test_evals(capture): 12 | with capture: 13 | assert m.test_eval_statements() 14 | assert capture == "Hello World!" 15 | 16 | assert m.test_eval() 17 | assert m.test_eval_single_statement() 18 | 19 | assert m.test_eval_failure() 20 | 21 | 22 | @pytest.mark.xfail("env.PYPY and not env.PY2", raises=RuntimeError) 23 | def test_eval_file(): 24 | filename = os.path.join(os.path.dirname(__file__), "test_eval_call.py") 25 | assert m.test_eval_file(filename) 26 | 27 | assert m.test_eval_file_failure() 28 | 29 | 30 | def test_eval_empty_globals(): 31 | assert "__builtins__" in m.eval_empty_globals(None) 32 | 33 | g = {} 34 | assert "__builtins__" in m.eval_empty_globals(g) 35 | assert "__builtins__" in g 36 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_eval_call.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # This file is called from 'test_eval.py' 3 | 4 | if "call_test2" in locals(): 5 | call_test2(y) # noqa: F821 undefined name 6 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_pickling.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import pytest 3 | 4 | import env # noqa: F401 5 | 6 | from pybind11_tests import pickling as m 7 | 8 | try: 9 | import cPickle as pickle # Use cPickle on Python 2.7 10 | except ImportError: 11 | import pickle 12 | 13 | 14 | @pytest.mark.parametrize("cls_name", ["Pickleable", "PickleableNew"]) 15 | def test_roundtrip(cls_name): 16 | cls = getattr(m, cls_name) 17 | p = cls("test_value") 18 | p.setExtra1(15) 19 | p.setExtra2(48) 20 | 21 | data = pickle.dumps(p, 2) # Must use pickle protocol >= 2 22 | p2 = pickle.loads(data) 23 | assert p2.value() == p.value() 24 | assert p2.extra1() == p.extra1() 25 | assert p2.extra2() == p.extra2() 26 | 27 | 28 | @pytest.mark.xfail("env.PYPY") 29 | @pytest.mark.parametrize("cls_name", ["PickleableWithDict", "PickleableWithDictNew"]) 30 | def test_roundtrip_with_dict(cls_name): 31 | cls = getattr(m, cls_name) 32 | p = cls("test_value") 33 | p.extra = 15 34 | p.dynamic = "Attribute" 35 | 36 | data = pickle.dumps(p, pickle.HIGHEST_PROTOCOL) 37 | p2 = pickle.loads(data) 38 | assert p2.value == p.value 39 | assert p2.extra == p.extra 40 | assert p2.dynamic == p.dynamic 41 | 42 | 43 | def test_enum_pickle(): 44 | from pybind11_tests import enums as e 45 | 46 | data = pickle.dumps(e.EOne, 2) 47 | assert e.EOne == pickle.loads(data) 48 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_tagbased_polymorphic.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from pybind11_tests import tagbased_polymorphic as m 3 | 4 | 5 | def test_downcast(): 6 | zoo = m.create_zoo() 7 | assert [type(animal) for animal in zoo] == [ 8 | m.Labrador, 9 | m.Dog, 10 | m.Chihuahua, 11 | m.Cat, 12 | m.Panther, 13 | ] 14 | assert [animal.name for animal in zoo] == [ 15 | "Fido", 16 | "Ginger", 17 | "Hertzl", 18 | "Tiger", 19 | "Leo", 20 | ] 21 | zoo[1].sound = "woooooo" 22 | assert [dog.bark() for dog in zoo[:3]] == [ 23 | "Labrador Fido goes WOOF!", 24 | "Dog Ginger goes woooooo", 25 | "Chihuahua Hertzl goes iyiyiyiyiyi and runs in circles", 26 | ] 27 | assert [cat.purr() for cat in zoo[3:]] == ["mrowr", "mrrrRRRRRR"] 28 | zoo[0].excitement -= 1000 29 | assert zoo[0].excitement == 14000 30 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_union.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | tests/test_class.cpp -- test py::class_ definitions and basic functionality 3 | 4 | Copyright (c) 2019 Roland Dreier 5 | 6 | All rights reserved. Use of this source code is governed by a 7 | BSD-style license that can be found in the LICENSE file. 8 | */ 9 | 10 | #include "pybind11_tests.h" 11 | 12 | TEST_SUBMODULE(union_, m) { 13 | union TestUnion { 14 | int value_int; 15 | unsigned value_uint; 16 | }; 17 | 18 | py::class_(m, "TestUnion") 19 | .def(py::init<>()) 20 | .def_readonly("as_int", &TestUnion::value_int) 21 | .def_readwrite("as_uint", &TestUnion::value_uint); 22 | } 23 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tests/test_union.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from pybind11_tests import union_ as m 3 | 4 | 5 | def test_union(): 6 | instance = m.TestUnion() 7 | 8 | instance.as_uint = 10 9 | assert instance.as_int == 10 10 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tools/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | # Source: https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#can-i-do-make-uninstall-with-cmake 2 | 3 | if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt") 4 | message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt") 5 | endif() 6 | 7 | file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files) 8 | string(REGEX REPLACE "\n" ";" files "${files}") 9 | foreach(file ${files}) 10 | message(STATUS "Uninstalling $ENV{DESTDIR}${file}") 11 | if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 12 | exec_program( 13 | "@CMAKE_COMMAND@" ARGS 14 | "-E remove \"$ENV{DESTDIR}${file}\"" 15 | OUTPUT_VARIABLE rm_out 16 | RETURN_VALUE rm_retval) 17 | if(NOT "${rm_retval}" STREQUAL 0) 18 | message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}") 19 | endif() 20 | else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}") 21 | message(STATUS "File $ENV{DESTDIR}${file} does not exist.") 22 | endif() 23 | endforeach() 24 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tools/libsize.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import print_function, division 3 | import os 4 | import sys 5 | 6 | # Internal build script for generating debugging test .so size. 7 | # Usage: 8 | # python libsize.py file.so save.txt -- displays the size of file.so and, if save.txt exists, compares it to the 9 | # size in it, then overwrites save.txt with the new size for future runs. 10 | 11 | if len(sys.argv) != 3: 12 | sys.exit("Invalid arguments: usage: python libsize.py file.so save.txt") 13 | 14 | lib = sys.argv[1] 15 | save = sys.argv[2] 16 | 17 | if not os.path.exists(lib): 18 | sys.exit("Error: requested file ({}) does not exist".format(lib)) 19 | 20 | libsize = os.path.getsize(lib) 21 | 22 | print("------", os.path.basename(lib), "file size:", libsize, end="") 23 | 24 | if os.path.exists(save): 25 | with open(save) as sf: 26 | oldsize = int(sf.readline()) 27 | 28 | if oldsize > 0: 29 | change = libsize - oldsize 30 | if change == 0: 31 | print(" (no change)") 32 | else: 33 | print(" (change of {:+} bytes = {:+.2%})".format(change, change / oldsize)) 34 | else: 35 | print() 36 | 37 | with open(save, "w") as sf: 38 | sf.write(str(libsize)) 39 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tools/pyproject.toml: -------------------------------------------------------------------------------- 1 | [build-system] 2 | requires = ["setuptools>=42", "wheel"] 3 | build-backend = "setuptools.build_meta" 4 | -------------------------------------------------------------------------------- /src/pytchem/pybind11/tools/setup_main.py.in: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | # Setup script (in the sdist or in tools/setup_main.py in the repository) 5 | 6 | from setuptools import setup 7 | 8 | cmdclass = {} 9 | $extra_cmd 10 | 11 | setup( 12 | name="pybind11", 13 | version="$version", 14 | download_url='https://github.com/pybind/pybind11/tarball/v$version', 15 | packages=[ 16 | "pybind11", 17 | "pybind11.include.pybind11", 18 | "pybind11.include.pybind11.detail", 19 | "pybind11.share.cmake.pybind11", 20 | ], 21 | package_data={ 22 | "pybind11": ["py.typed", "*.pyi"], 23 | "pybind11.include.pybind11": ["*.h"], 24 | "pybind11.include.pybind11.detail": ["*.h"], 25 | "pybind11.share.cmake.pybind11": ["*.cmake"], 26 | }, 27 | extras_require={ 28 | "global": ["pybind11_global==$version"] 29 | }, 30 | entry_points={ 31 | "console_scripts": [ 32 | "pybind11-config = pybind11.__main__:main", 33 | ] 34 | }, 35 | cmdclass=cmdclass 36 | ) 37 | -------------------------------------------------------------------------------- /src/unit-test/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test 3 | # 4 | ADD_EXECUTABLE(tchem-test.x TChem_Test_Driver.cpp) 5 | TARGET_LINK_LIBRARIES(tchem-test.x ${TCHEM_LINK_LIBRARIES}) 6 | 7 | # 8 | # Testing method should be improved 9 | # 10 | FILE(COPY reference 11 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 12 | 13 | INSTALL(DIRECTORY reference 14 | DESTINATION ${CMAKE_INSTALL_PREFIX}/unit-test) 15 | 16 | INSTALL(TARGETS tchem-test.x 17 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 18 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}") 19 | 20 | ADD_TEST(TChemTest tchem-test.x) 21 | 22 | ADD_SUBDIRECTORY (surfaceKinetics) 23 | ADD_SUBDIRECTORY (plug-flow-reactor) 24 | ADD_SUBDIRECTORY (ignition-zero-d) 25 | ADD_SUBDIRECTORY (gas-yaml) 26 | ADD_SUBDIRECTORY (surface-ford-motz-wise) 27 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test 3 | # 4 | ADD_EXECUTABLE(tchem-test-yaml.x TChem_Test_DriverYaml.cpp) 5 | TARGET_LINK_LIBRARIES(tchem-test-yaml.x ${TCHEM_LINK_LIBRARIES}) 6 | # 7 | # Testing method should be improved 8 | # 9 | FILE(COPY inputs_chebyshev 10 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 11 | FILE(COPY inputs_plog 12 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 13 | 14 | INSTALL(DIRECTORY inputs_chebyshev 15 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 16 | 17 | INSTALL(DIRECTORY inputs_plog 18 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 19 | 20 | INSTALL(TARGETS tchem-test-yaml.x 21 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 22 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}/gas-yaml") 23 | 24 | ADD_TEST(TChemTest tchem-test-yaml.x) 25 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_chebyshev/inputGas.dat: -------------------------------------------------------------------------------- 1 | 4.361904492974573344e+01 2 | 5.182767592240615189e+07 3 | 1.206479633012799695e+03 4 | 1.801713326456486630e-01 5 | 2.334989009033026086e-01 6 | 2.458139130295022845e-02 7 | 1.016537876362478138e-01 8 | 8.007740033530356960e-02 9 | 1.039252649744024648e-01 10 | 1.262503830597006271e-01 11 | 1.362076696080256610e-01 12 | 1.363386953441847460e-02 13 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_chebyshev/kfwd_net-production-rate-per-mass-chebyshev.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 2.125466e+02 3 | 1 1.329196e+12 4 | 2 1.489740e-06 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_chebyshev/krev_net-production-rate-per-mass-chebyshev.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 8.168105e+13 3 | 1 3.033742e-02 4 | 2 2.206726e-05 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_chebyshev/net-production-rate-per-mass-chebyshev.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(9) Omega(9) 2 | 0 7.122731e+08 3 | 1 -7.122731e+08 4 | 2 -7.122731e+08 5 | 3 -2.833912e+08 6 | 4 -2.833912e+08 7 | 5 2.833912e+08 8 | 6 2.412566e-11 9 | 7 -2.412566e-11 10 | 8 0.000000e+00 11 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_chebyshev/ropfwd_net-production-rate-per-mass-chebyshev.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 2.315109e+01 3 | 1 2.834055e+08 4 | 2 1.610487e-12 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_chebyshev/roprev_net-production-rate-per-mass-chebyshev.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 7.123089e+08 3 | 1 1.882021e-03 4 | 2 2.573736e-11 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_plog/kfwd_net-production-rate-per-mass-plog.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 2.070910e-01 3 | 1 5.150858e+10 4 | 2 2.385327e+11 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_plog/krev_net-production-rate-per-mass-plog.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 1.111506e+14 3 | 1 6.988493e+05 4 | 2 3.236323e+06 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_plog/net-production-rate-per-mass-plog.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(6) Omega(6) 2 | 0 1.090294e+01 3 | 1 -1.090294e+01 4 | 2 -1.090294e+01 5 | 3 7.391693e+00 6 | 4 7.391693e+00 7 | 5 -7.391693e+00 8 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_plog/ropfwd_net-production-rate-per-mass-plog.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 2.544901e-06 3 | 1 4.734476e-03 4 | 2 2.192503e-02 5 | -------------------------------------------------------------------------------- /src/unit-test/gas-yaml/inputs_plog/roprev_net-production-rate-per-mass-plog.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(3) Omega(3) 2 | 0 1.090294e+01 3 | 1 1.317429e+00 4 | 2 6.100924e+00 5 | -------------------------------------------------------------------------------- /src/unit-test/ignition-zero-d/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test 3 | # 4 | ADD_EXECUTABLE(tchem-test-ignition-zero-d.x TChem_Test_Driver.cpp) 5 | TARGET_LINK_LIBRARIES(tchem-test-ignition-zero-d.x ${TCHEM_LINK_LIBRARIES}) 6 | 7 | # 8 | # Testing method should be improved 9 | # 10 | FILE(COPY reference 11 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 12 | 13 | INSTALL(DIRECTORY reference 14 | DESTINATION ${CMAKE_INSTALL_PREFIX}/unit-test/ignition-zero-d) 15 | 16 | INSTALL(TARGETS tchem-test-ignition-zero-d.x 17 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 18 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}/ignition-zero-d") 19 | 20 | ADD_TEST(TChemTest tchem-test-ignition-zero-d.x) 21 | -------------------------------------------------------------------------------- /src/unit-test/ignition-zero-d/reference/source_term_ign_zero_d.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(54) Omega(54) 2 | 0 2.664340e+07 3 | 1 -6.331881e+01 4 | 2 3.968028e+01 5 | 3 2.342688e+02 6 | 4 -4.820932e+03 7 | 5 5.025003e+02 8 | 6 2.556887e+03 9 | 7 -2.258198e+01 10 | 8 -3.906605e-01 11 | 9 2.966586e-01 12 | 10 6.997694e-01 13 | 11 -4.617949e-01 14 | 12 1.573676e-01 15 | 13 -2.017073e+02 16 | 14 -7.708937e+02 17 | 15 1.886321e+03 18 | 16 1.260209e+03 19 | 17 1.005995e+00 20 | 18 -1.168880e+02 21 | 19 -3.572968e-02 22 | 20 -9.133054e-01 23 | 21 -6.120503e+00 24 | 22 2.024051e-01 25 | 23 -8.305245e+01 26 | 24 -5.424233e+00 27 | 25 -2.041659e+02 28 | 26 -3.115787e+00 29 | 27 -1.606471e+01 30 | 28 -2.908917e+00 31 | 29 -1.507169e+02 32 | 30 -1.458303e-01 33 | 31 1.919811e-02 34 | 32 2.504215e-03 35 | 33 4.077868e-04 36 | 34 2.141547e-04 37 | 35 1.774972e-03 38 | 36 2.246338e-01 39 | 37 1.252652e-05 40 | 38 4.064797e-03 41 | 39 6.200838e-04 42 | 40 1.021176e-03 43 | 41 3.143290e-01 44 | 42 2.277236e-04 45 | 43 1.013321e-03 46 | 44 1.827184e-03 47 | 45 7.534069e-04 48 | 46 1.153989e-02 49 | 47 6.838477e-03 50 | 48 -3.026486e-01 51 | 49 0.000000e+00 52 | 50 -9.772012e-03 53 | 51 -4.831249e-02 54 | 52 -1.107050e+00 55 | 53 -1.151378e+01 56 | -------------------------------------------------------------------------------- /src/unit-test/plug-flow-reactor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test 3 | # 4 | ADD_EXECUTABLE(tchem-test-plug-flow-reactor.x TChem_Test_Driver.cpp) 5 | TARGET_LINK_LIBRARIES(tchem-test-plug-flow-reactor.x ${TCHEM_LINK_LIBRARIES}) 6 | 7 | # 8 | # Testing method should be improved 9 | # 10 | FILE(COPY reference 11 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 12 | 13 | if(TCHEM_ENABLE_INSTALL) 14 | INSTALL(DIRECTORY reference 15 | DESTINATION ${CMAKE_INSTALL_PREFIX}/unit-test/plug-flow-reactor) 16 | 17 | INSTALL(TARGETS tchem-test-plug-flow-reactor.x 18 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 19 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}/plug-flow-reactor") 20 | ENDIF() 21 | 22 | ADD_TEST(TChemTest tchem-test-plug-flow-reactor.x) 23 | -------------------------------------------------------------------------------- /src/unit-test/reference/net-production-rate-per-mass.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(53) Omega(53) 2 | 0 3.964071e+06 3 | 1 -2.509824e+06 4 | 2 -4.545162e+06 5 | 3 -2.640899e+05 6 | 4 9.459012e+05 7 | 5 7.325047e+05 8 | 6 -6.012919e+05 9 | 7 -8.554922e+04 10 | 8 -1.071878e+06 11 | 9 -7.073640e+05 12 | 10 -1.870479e+06 13 | 11 -2.164888e+05 14 | 12 2.910222e+06 15 | 13 -6.055419e+04 16 | 14 5.472395e+06 17 | 15 6.641011e+05 18 | 16 1.417101e+06 19 | 17 7.907009e+05 20 | 18 -2.592745e+05 21 | 19 -1.220883e+06 22 | 20 -1.156731e+04 23 | 21 -5.187176e+05 24 | 22 1.683895e+06 25 | 23 -1.369964e+05 26 | 24 6.328791e+05 27 | 25 -1.943826e+06 28 | 26 3.041346e+05 29 | 27 -2.207752e+06 30 | 28 7.170633e+05 31 | 29 -8.511988e+04 32 | 30 4.836594e+05 33 | 31 -5.237838e+05 34 | 32 -1.727859e+05 35 | 33 -1.045998e+04 36 | 34 -1.062345e+05 37 | 35 1.299000e+06 38 | 36 -7.641500e+05 39 | 37 9.947109e+04 40 | 38 -9.714397e+05 41 | 39 -8.358471e+05 42 | 40 4.291052e+05 43 | 41 9.816711e+03 44 | 42 -8.559170e+05 45 | 43 8.535022e+04 46 | 44 -1.111224e+05 47 | 45 1.736071e+05 48 | 46 1.896914e+05 49 | 47 0.000000e+00 50 | 48 -3.326832e+05 51 | 49 1.075278e+03 52 | 50 -8.847962e+05 53 | 51 4.762904e+05 54 | 52 1.222360e+06 55 | -------------------------------------------------------------------------------- /src/unit-test/surface-ford-motz-wise/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test 3 | # 4 | ADD_EXECUTABLE(tchem-test-surface-ford-motz-wise.x TChem_Test_Driver.cpp) 5 | TARGET_LINK_LIBRARIES(tchem-test-surface-ford-motz-wise.x ${TCHEM_LINK_LIBRARIES}) 6 | 7 | # 8 | # Testing method should be improved 9 | # 10 | FILE(COPY reference 11 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 12 | 13 | INSTALL(DIRECTORY reference 14 | DESTINATION ${CMAKE_INSTALL_PREFIX}/unit-test/surface-ford-motz-wise) 15 | 16 | INSTALL(TARGETS tchem-test-surface-ford-motz-wise.x 17 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 18 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}/plug-flow-reactor") 19 | 20 | ADD_TEST(TChemTest tchem-test-surface-ford-motz-wise.x) 21 | -------------------------------------------------------------------------------- /src/unit-test/surface-ford-motz-wise/reference/omega.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(13) Omega(13) 2 | 0 3.674029e+04 3 | 1 2.701930e+04 4 | 2 6.548900e+03 5 | 3 6.696016e+03 6 | 4 4.567154e+02 7 | 5 4.315708e+04 8 | 6 5.190204e+02 9 | 7 -6.141078e+04 10 | 8 0.000000e+00 11 | 9 -2.267435e+04 12 | 10 -9.288968e+03 13 | 11 -2.758541e+04 14 | 12 1.093900e+02 15 | -------------------------------------------------------------------------------- /src/unit-test/surface-ford-motz-wise/reference/omegaGasSurf.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(13) Omega(13) 2 | 0 3.855023e-01 3 | 1 2.616928e+00 4 | 2 4.663092e-03 5 | 3 2.634305e+03 6 | 4 1.182530e+04 7 | 5 1.878365e-02 8 | 6 -1.831693e-02 9 | 7 -2.031899e+00 10 | 8 0.000000e+00 11 | 9 0.000000e+00 12 | 10 0.000000e+00 13 | 11 0.000000e+00 14 | 12 0.000000e+00 15 | -------------------------------------------------------------------------------- /src/unit-test/surface-ford-motz-wise/reference/omegaSurf.dat: -------------------------------------------------------------------------------- 1 | ## nSpec(9) Omega(9) 2 | 0 -5.226344e+02 3 | 1 9.668323e+01 4 | 2 5.307622e+02 5 | 3 -2.589294e+03 6 | 4 9.416934e+01 7 | 5 -1.118404e+04 8 | 6 -2.181846e+01 9 | 7 1.431240e+04 10 | 8 -7.162268e+02 11 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # test 3 | # 4 | ADD_EXECUTABLE(tchem-surf-test.x TChem_Test_Driver.cpp) 5 | TARGET_LINK_LIBRARIES(tchem-surf-test.x ${TCHEM_LINK_LIBRARIES}) 6 | 7 | # 8 | # Testing method should be improved 9 | # 10 | FILE(GLOB TCHEM_TEST_DATA "input/PT/*") 11 | FILE(COPY ${TCHEM_TEST_DATA} 12 | DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/input/PT) 13 | 14 | INSTALL(FILES ${TCHEM_TEST_DATA} 15 | PERMISSIONS OWNER_READ OWNER_WRITE 16 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}/surface/input/PT") 17 | 18 | INSTALL(TARGETS tchem-surf-test.x 19 | PERMISSIONS OWNER_EXECUTE OWNER_READ OWNER_WRITE 20 | DESTINATION "${CMAKE_INSTALL_PREFIX}/${TCHEM_INSTALL_TEST_PATH}/surface") 21 | 22 | ADD_TEST(TChemTest tchem-surf-test.x) 23 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/Enthalpy.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(14) Omega(14) 2 | 0 2.737908e+07 3 | 1 2.737908e+07 4 | 2 4.244267e+07 5 | 3 4.486585e+07 6 | 4 4.002539e+07 7 | 5 -1.881702e+08 8 | 6 -5.542760e+07 9 | 7 -6.760801e+07 10 | 8 -3.251077e+08 11 | 9 2.769012e+08 12 | 10 2.453596e+08 13 | 11 7.782388e+07 14 | 12 7.319710e+07 15 | 13 1.042673e+08 16 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/EnthalpySurf.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(5) Omega(5) 2 | 0 0.000000e+00 3 | 1 3.140282e+07 4 | 2 -8.263322e+07 5 | 3 -1.971347e+08 6 | 4 -3.452687e+08 7 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/Gk.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(14) Omega(14) 2 | 0 1.735839e+01 3 | 1 2.079567e+01 4 | 2 2.623275e+01 5 | 3 2.801666e+01 6 | 4 1.880759e+01 7 | 5 4.456908e+01 8 | 6 4.379728e+01 9 | 7 3.521703e+01 10 | 8 5.986379e+01 11 | 9 3.039167e+00 12 | 10 -2.605926e-01 13 | 11 2.246298e+01 14 | 12 3.094487e+01 15 | 13 2.805129e+01 16 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/GkSurf.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(5) Omega(5) 2 | 0 0.000000e+00 3 | 1 5.414466e+00 4 | 2 1.023025e+01 5 | 3 3.406092e+01 6 | 4 3.473891e+01 7 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/chemSurf.inp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/unit-test/surfaceKinetics/input/PT/chemSurf.inp -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/input-gas.dat: -------------------------------------------------------------------------------- 1 | 3.732974272729759346e-01 2 | 1.013250000000000000e+06 3 | 1.615327125928190071e+03 4 | 7.068219846733450606e-02 5 | 4.775090359183897792e-02 6 | 8.582980719380998991e-02 7 | 1.329841941412700235e-01 8 | 3.344145914317404183e-02 9 | 6.514895086156140269e-02 10 | 6.270948472015747122e-02 11 | 2.501077061097114682e-02 12 | 5.942022629464058930e-02 13 | 4.558995023042504424e-02 14 | 1.412429317180360633e-01 15 | 5.011008116294907860e-02 16 | 9.551369078464432005e-02 17 | 8.456535107918736194e-02 18 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/input-surface.dat: -------------------------------------------------------------------------------- 1 | 4.079532443112500739e-01 2 | 9.333109214957011068e-02 3 | 2.897358187345306854e-02 4 | 3.468843837139854447e-01 5 | 1.228576979517413403e-01 6 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/kmod.ref.reactions: -------------------------------------------------------------------------------- 1 | H + O2 <=> OH + O, 2 | O + H2 <=> OH + H, 3 | H + O2 (+M) <=> HO2, 4 | OH + HO2 <=> H2O + O2, 5 | H + HO2 <=> 2OH, 6 | O + HO2 <=> O2 + OH, 7 | 2OH <=> O + H2O, 8 | H2 +M <=> 2H, 9 | O2 +M <=> 2O, 10 | H + OH +M <=> H2O, 11 | H + HO2 <=> H2 + O2, 12 | 2HO2 <=> H2O2 + O2, 13 | 2OH (+M) <=> H2O2, 14 | O + OH +M <=> HO2, 15 | O2 + CO <=> CO2 + O, 16 | O2 + HCO <=> HO2 + CO, 17 | CO + O (+M) <=> CO2, 18 | CO + OH <=> CO2 + H, 19 | CO + OH <=> CO2 + H, 20 | CO + HO2 <=> CO2 + OH, 21 | CO + H2O <=> CO2 + H2, 22 | HCO +M <=> CO + H, 23 | HCO + O <=> CO2 + H, 24 | HCO + H <=> H2 + CO, 25 | HCO + OH <=> H2O + CO, 26 | HCO + HO2 <=> H2O2 + CO, 27 | HCO + HO2 => H + OH + CO2, 28 | H + H2O <=> H2 + OH, 29 | H2O2 + H <=> H2O + OH, 30 | H2O2 + H <=> H2 + HO2, 31 | HO2 + H2O => H2O2 + OH, 32 | OH + H2O2 => H2O + HO2, 33 | O + H2O2 => OH + HO2, 34 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/kmodSurf.ref.reactions: -------------------------------------------------------------------------------- 1 | O2 + (PT) => O2(PT), 2 | O2(PT) => (PT) + O2, 3 | O2(PT) + (PT) => 2O(PT), 4 | 2O(PT) => O2(PT) + (PT), 5 | CO + (PT) => CO(PT), 6 | CO(PT) => (PT) + CO, 7 | CO2 + (PT) => CO2(PT), 8 | CO2(PT) => (PT) + CO2, 9 | CO(PT) + O2(PT) => CO2(PT) + O(PT), 10 | CO2(PT) + O(PT) => CO(PT) + O2(PT), 11 | CO(PT) + O(PT) => CO2(PT) + (PT), 12 | CO2(PT) + (PT) => CO(PT) + O(PT), 13 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/reactionrates-gas-surface.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(14) Omega(14) 2 | 0 0.000000e+00 3 | 1 0.000000e+00 4 | 2 0.000000e+00 5 | 3 1.861527e+02 6 | 4 0.000000e+00 7 | 5 0.000000e+00 8 | 6 0.000000e+00 9 | 7 1.261162e+00 10 | 8 3.472085e+01 11 | 9 0.000000e+00 12 | 10 0.000000e+00 13 | 11 0.000000e+00 14 | 12 0.000000e+00 15 | 13 0.000000e+00 16 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/reactionrates-surface.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(5) Omega(5) 2 | 0 2.220975e+02 3 | 1 -1.861528e+02 4 | 2 3.728436e-02 5 | 3 -1.223981e+00 6 | 4 -3.475803e+01 7 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/PT/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/unit-test/surfaceKinetics/input/PT/thermSurf.dat -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/Enthalpy.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(22) Omega(22) 2 | 0 2.082463e+07 3 | 1 2.082463e+07 4 | 2 3.148455e+07 5 | 3 -1.378999e+07 6 | 4 3.336727e+07 7 | 5 -3.430780e+08 8 | 6 -2.031843e+08 9 | 7 2.989584e+07 10 | 8 -7.837114e+07 11 | 9 1.820338e+07 12 | 10 -5.605640e+07 13 | 11 2.002972e+08 14 | 12 4.131848e+07 15 | 13 2.388267e+08 16 | 14 2.128682e+08 17 | 15 -1.252736e+08 18 | 16 8.570560e+07 19 | 17 -6.968782e+07 20 | 18 6.701187e+07 21 | 19 1.310087e+08 22 | 20 4.532534e+08 23 | 21 9.814238e+07 24 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/EnthalpySurf.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(17) Omega(17) 2 | 0 -2.093486e+03 3 | 1 -6.784082e+06 4 | 2 -9.647589e+07 5 | 3 1.322585e+08 6 | 4 -1.052210e+08 7 | 5 -2.175779e+08 8 | 6 -3.065979e+08 9 | 7 -8.110838e+06 10 | 8 5.337475e+08 11 | 9 2.801252e+08 12 | 10 3.549410e+08 13 | 11 -1.466730e+07 14 | 12 2.810083e+07 15 | 13 4.184371e+06 16 | 14 -1.581586e+08 17 | 15 1.138731e+08 18 | 16 4.517358e+08 19 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/Gk.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(22) Omega(22) 2 | 0 2.037833e+01 3 | 1 1.935398e+01 4 | 2 2.558335e+01 5 | 3 3.337528e+01 6 | 4 2.732763e+01 7 | 5 6.583715e+01 8 | 6 4.808572e+01 9 | 7 1.819254e+01 10 | 8 3.649014e+01 11 | 9 4.218454e+01 12 | 10 4.027973e+01 13 | 11 1.370985e+01 14 | 12 5.275132e+01 15 | 13 -4.615226e+00 16 | 14 2.486680e+01 17 | 15 5.282132e+01 18 | 16 2.571731e+01 19 | 17 5.357447e+01 20 | 18 2.116398e+01 21 | 19 2.695031e+01 22 | 20 1.700040e+01 23 | 21 3.707205e+01 24 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/GkSurf.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(17) Omega(17) 2 | 0 4.834557e-05 3 | 1 4.450278e+00 4 | 2 1.468870e+01 5 | 3 5.015833e+00 6 | 4 2.111454e+01 7 | 5 3.927950e+01 8 | 6 5.267945e+01 9 | 7 1.295992e+01 10 | 8 -4.491364e+01 11 | 9 -1.532594e+01 12 | 10 -2.560695e+01 13 | 11 3.151028e+01 14 | 12 1.513098e+01 15 | 13 3.744918e+01 16 | 14 4.316803e+01 17 | 15 1.315021e+01 18 | 16 1.515892e+01 19 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/input-gas.dat: -------------------------------------------------------------------------------- 1 | 2.476354034884682698e-01 2 | 1.013250000000000146e+05 3 | 1.300000000000000000e+03 4 | 0.000000000000000000e+00 5 | 0.000000000000000000e+00 6 | 6.362747384200722056e-01 7 | 1.214606078042428094e-01 8 | 2.422646537756847629e-01 9 | 0.000000000000000000e+00 10 | 0.000000000000000000e+00 11 | 0.000000000000000000e+00 12 | 0.000000000000000000e+00 13 | 0.000000000000000000e+00 14 | 0.000000000000000000e+00 15 | 0.000000000000000000e+00 16 | 0.000000000000000000e+00 17 | 0.000000000000000000e+00 18 | 0.000000000000000000e+00 19 | 0.000000000000000000e+00 20 | 0.000000000000000000e+00 21 | 0.000000000000000000e+00 22 | 0.000000000000000000e+00 23 | 0.000000000000000000e+00 24 | 0.000000000000000000e+00 25 | 0.000000000000000000e+00 26 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/input-surface.dat: -------------------------------------------------------------------------------- 1 | 5.882352941176471200e-02 2 | 5.882352941176471200e-02 3 | 5.882352941176471200e-02 4 | 5.882352941176471200e-02 5 | 5.882352941176471200e-02 6 | 5.882352941176471200e-02 7 | 5.882352941176471200e-02 8 | 5.882352941176471200e-02 9 | 5.882352941176471200e-02 10 | 5.882352941176471200e-02 11 | 5.882352941176471200e-02 12 | 5.882352941176471200e-02 13 | 5.882352941176471200e-02 14 | 5.882352941176471200e-02 15 | 5.882352941176471200e-02 16 | 5.882352941176471200e-02 17 | 5.882352941176471200e-02 18 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/inputVelocity.dat: -------------------------------------------------------------------------------- 1 | 1.899999999999999953e-02 2 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/reactionrates-gas-surface.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(22) Omega(22) 2 | 0 0.000000e+00 3 | 1 0.000000e+00 4 | 2 0.000000e+00 5 | 3 1.254552e+05 6 | 4 -8.959748e-06 7 | 5 2.823737e+02 8 | 6 2.328035e+03 9 | 7 1.604564e+01 10 | 8 1.900977e+09 11 | 9 9.390568e+00 12 | 10 0.000000e+00 13 | 11 1.113062e+02 14 | 12 0.000000e+00 15 | 13 8.326978e-06 16 | 14 0.000000e+00 17 | 15 4.698844e+02 18 | 16 0.000000e+00 19 | 17 0.000000e+00 20 | 18 1.842738e-02 21 | 19 1.344685e+04 22 | 20 8.611036e-02 23 | 21 0.000000e+00 24 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/reactionrates-surface.ref.txt: -------------------------------------------------------------------------------- 1 | ## nSpec(17) Omega(17) 2 | 0 2.430260e+10 3 | 1 -1.028300e+10 4 | 2 1.844697e+05 5 | 3 -1.179426e+05 6 | 4 -1.211873e+10 7 | 5 5.856819e+04 8 | 6 1.211849e+10 9 | 7 -1.401946e+10 10 | 8 -2.240147e+10 11 | 9 -2.322215e+01 12 | 10 2.240146e+10 13 | 11 -1.129694e-01 14 | 12 -1.088153e+00 15 | 13 -1.502401e+00 16 | 14 -1.989856e+02 17 | 15 -1.344685e+04 18 | 16 -8.611036e-02 19 | -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/therm.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/unit-test/surfaceKinetics/input/X/therm.dat -------------------------------------------------------------------------------- /src/unit-test/surfaceKinetics/input/X/thermSurf.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sandialabs/TChem/7fe112ae99f24487a5117fc8944f54eaacc82726/src/unit-test/surfaceKinetics/input/X/thermSurf.dat --------------------------------------------------------------------------------