General whitespace cleanup
Remove unnecessary blank lines and trailing whitespace. Replace tabs with spaces.
This commit is contained in:
parent
619cd20f14
commit
e4c45b6429
340 changed files with 625 additions and 2692 deletions
|
|
@ -2,8 +2,8 @@
|
|||
Copyright (c) 2001-2009, California Institute of Technology
|
||||
All rights reserved.
|
||||
|
||||
Copyright (c) 2009 Sandia Corporation. Under the terms of
|
||||
Contract AC04-94AL85000 with Sandia Corporation, the U.S. Government
|
||||
Copyright (c) 2009 Sandia Corporation. Under the terms of
|
||||
Contract AC04-94AL85000 with Sandia Corporation, the U.S. Government
|
||||
retains certain rights in this software.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
|
|
@ -18,7 +18,7 @@ met:
|
|||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
- Neither the name of the California Institute of Technology, Sandia
|
||||
Corporation nor the names of other contributors may be used to
|
||||
Corporation nor the names of other contributors may be used to
|
||||
endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
|
|
|
|||
|
|
@ -19,16 +19,16 @@ ideal_gas(name = "air",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "O",
|
||||
atoms = " O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
|
||||
6.643063960E-06, -6.128066240E-09, 2.112659710E-12,
|
||||
2.912225920E+04, 2.051933460E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
|
||||
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
|
||||
4.194845890E-08, -1.001777990E-11, 1.228336910E-15,
|
||||
2.921757910E+04, 4.784338640E+00] )
|
||||
),
|
||||
|
|
@ -42,10 +42,10 @@ species(name = "O",
|
|||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
-1.088457720E+03, 5.453231290E+00] )
|
||||
),
|
||||
|
|
@ -61,10 +61,10 @@ species(name = "O2",
|
|||
species(name = "N",
|
||||
atoms = " N:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
5.610463700E+04, 4.193908700E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 2.415942900E+00, 1.748906500E-04,
|
||||
NASA( [ 1000.00, 6000.00], [ 2.415942900E+00, 1.748906500E-04,
|
||||
-1.190236900E-07, 3.022624500E-11, -2.036098200E-15,
|
||||
5.613377300E+04, 4.649609600E+00] )
|
||||
),
|
||||
|
|
@ -78,10 +78,10 @@ species(name = "N",
|
|||
species(name = "NO",
|
||||
atoms = " N:1 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 4.218476300E+00, -4.638976000E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 4.218476300E+00, -4.638976000E-03,
|
||||
1.104102200E-05, -9.336135400E-09, 2.803577000E-12,
|
||||
9.844623000E+03, 2.280846400E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 3.260605600E+00, 1.191104300E-03,
|
||||
NASA( [ 1000.00, 6000.00], [ 3.260605600E+00, 1.191104300E-03,
|
||||
-4.291704800E-07, 6.945766900E-11, -4.033609900E-15,
|
||||
9.920974600E+03, 6.369302700E+00] )
|
||||
),
|
||||
|
|
@ -97,10 +97,10 @@ species(name = "NO",
|
|||
species(name = "NO2",
|
||||
atoms = " N:1 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.944031200E+00, -1.585429000E-03,
|
||||
NASA( [ 200.00, 1000.00], [ 3.944031200E+00, -1.585429000E-03,
|
||||
1.665781200E-05, -2.047542600E-08, 7.835056400E-12,
|
||||
2.896617900E+03, 6.311991700E+00] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 4.884754200E+00, 2.172395600E-03,
|
||||
NASA( [ 1000.00, 6000.00], [ 4.884754200E+00, 2.172395600E-03,
|
||||
-8.280690600E-07, 1.574751000E-10, -1.051089500E-14,
|
||||
2.316498300E+03, -1.174169500E-01] )
|
||||
),
|
||||
|
|
@ -115,10 +115,10 @@ species(name = "NO2",
|
|||
species(name = "N2O",
|
||||
atoms = " N:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 2.257150200E+00, 1.130472800E-02,
|
||||
NASA( [ 200.00, 1000.00], [ 2.257150200E+00, 1.130472800E-02,
|
||||
-1.367131900E-05, 9.681980600E-09, -2.930718200E-12,
|
||||
8.741774400E+03, 1.075799200E+01] ),
|
||||
NASA( [ 1000.00, 6000.00], [ 4.823072900E+00, 2.627025100E-03,
|
||||
NASA( [ 1000.00, 6000.00], [ 4.823072900E+00, 2.627025100E-03,
|
||||
-9.585087400E-07, 1.600071200E-10, -9.775230300E-15,
|
||||
8.073404800E+03, -2.201720700E+00] )
|
||||
),
|
||||
|
|
@ -133,10 +133,10 @@ species(name = "N2O",
|
|||
species(name = "N2",
|
||||
atoms = " N:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.298677000E+00, 1.408240400E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 3.298677000E+00, 1.408240400E-03,
|
||||
-3.963222000E-06, 5.641515000E-09, -2.444854000E-12,
|
||||
-1.020899900E+03, 3.950372000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.926640000E+00, 1.487976800E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.926640000E+00, 1.487976800E-03,
|
||||
-5.684760000E-07, 1.009703800E-10, -6.753351000E-15,
|
||||
-9.227977000E+02, 5.980528000E+00] )
|
||||
),
|
||||
|
|
@ -152,10 +152,10 @@ species(name = "N2",
|
|||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] )
|
||||
),
|
||||
|
|
@ -169,7 +169,7 @@ species(name = "AR",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
|
|||
|
||||
ideal_gas(name = "airNASA9",
|
||||
elements = " O N E ",
|
||||
species = """ N2 O2 NO N O N2+ O2+ NO+ N+ O+
|
||||
species = """ N2 O2 NO N O N2+ O2+ NO+ N+ O+
|
||||
e- """,
|
||||
reactions = "all",
|
||||
initial_state = state(temperature = 300.0,
|
||||
|
|
@ -16,7 +16,7 @@ ideal_gas(name = "airNASA9",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "N2",
|
||||
|
|
@ -198,5 +198,5 @@ species(name = "e-",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -18,16 +18,16 @@ ideal_gas(name = "argon",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750000E+02, 4.366000000E+00] )
|
||||
),
|
||||
|
|
@ -41,5 +41,5 @@ species(name = "AR",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ ideal_interface(name = 'diamond_100',
|
|||
species = 'c6HH c6H* c6*H c6** c6HM c6HM* c6*M c6B ',
|
||||
reactions = 'all',
|
||||
phases = 'gas diamond',
|
||||
site_density = (3.0e-9, 'mol/cm2'),
|
||||
site_density = (3.0e-9, 'mol/cm2'),
|
||||
initial_state = state(temperature = 1200.0,
|
||||
coverages = 'c6H*:0.1, c6HH:0.9'))
|
||||
|
||||
|
|
|
|||
|
|
@ -10,10 +10,10 @@ stoichiometric_solid(name = "graphite",
|
|||
species(name = "C(gr)",
|
||||
atoms = " C:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ -3.108720720E-01, 4.403536860E-03,
|
||||
NASA( [ 200.00, 1000.00], [ -3.108720720E-01, 4.403536860E-03,
|
||||
1.903941180E-06, -6.385469660E-09, 2.989642480E-12,
|
||||
-1.086507940E+02, 1.113829530E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 1.455718290E+00, 1.717022160E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 1.455718290E+00, 1.717022160E-03,
|
||||
-6.975627860E-07, 1.352770320E-10, -9.675906520E-15,
|
||||
-6.951388140E+02, -8.525830330E+00] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
# SURFACE MECHANISM OF POX of CH4 on PT wire gauze
|
||||
#
|
||||
#***********************************************************************
|
||||
#**** *
|
||||
#**** CH4-O2 SURFACE MECHANISM ON PT *
|
||||
#**** *
|
||||
#**** *
|
||||
#**** CH4-O2 SURFACE MECHANISM ON PT *
|
||||
#**** *
|
||||
#**** Version 1.0 Spring 2005 *
|
||||
#**** *
|
||||
#**** *
|
||||
#**** Raul Quiceno, Olaf Deutschmann, IWR, Heidelberg University, *
|
||||
#**** Germany *
|
||||
#**** Contact: mail@detchem.com (O. Deutschmann) *
|
||||
|
|
@ -30,8 +30,8 @@ units(length = "cm", time = "s", quantity = "mol", act_energy = "J/mol")
|
|||
|
||||
#
|
||||
# Define a gas mixture. This contains only major species, and no
|
||||
# gas-phase reactions.
|
||||
#
|
||||
# gas-phase reactions.
|
||||
#
|
||||
ideal_gas(name = "gas",
|
||||
elements = "O H C N Ar",
|
||||
species = """H2 O2 H2O CH4 CO CO2 AR""",
|
||||
|
|
@ -43,7 +43,7 @@ ideal_gas(name = "gas",
|
|||
|
||||
|
||||
#
|
||||
# The platinum surface.
|
||||
# The platinum surface.
|
||||
ideal_interface(name = "Pt_surf",
|
||||
elements = " Pt H O C ",
|
||||
species = """ PT(S) H(S)
|
||||
|
|
@ -53,7 +53,7 @@ ideal_interface(name = "Pt_surf",
|
|||
site_density = 2.72e-9,
|
||||
reactions = "all",
|
||||
options = ['skip_undeclared_elements',
|
||||
'skip_undeclared_species'],
|
||||
'skip_undeclared_species'],
|
||||
initial_state = state(temperature = 900.0,
|
||||
coverages = 'O(S):0.00, PT(S):0.01, H(S):0.99')
|
||||
)
|
||||
|
|
@ -61,16 +61,16 @@ ideal_interface(name = "Pt_surf",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Species data
|
||||
# Species data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
species(name = "CH4",
|
||||
atoms = " C:1 H:4 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 7.787414790E-01, 1.747668350E-02,
|
||||
NASA( [ 300.00, 1000.00], [ 7.787414790E-01, 1.747668350E-02,
|
||||
-2.783409040E-05, 3.049708040E-08, -1.223930680E-11,
|
||||
-9.825228520E+03, 1.372219470E+01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 1.683478830E+00, 1.023723560E-02,
|
||||
NASA( [ 1000.00, 5000.00], [ 1.683478830E+00, 1.023723560E-02,
|
||||
-3.875128640E-06, 6.785584870E-10, -4.503423120E-14,
|
||||
-1.008078710E+04, 9.623394970E+00] )
|
||||
)
|
||||
|
|
@ -79,10 +79,10 @@ species(name = "CH4",
|
|||
species(name = "O2",
|
||||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.783713500E+00, -3.023363400E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 3.783713500E+00, -3.023363400E-03,
|
||||
9.949275100E-06, -9.818910100E-09, 3.303182500E-12,
|
||||
-1.063810700E+03, 3.641634500E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.612213900E+00, 7.485316600E-04,
|
||||
NASA( [ 1000.00, 5000.00], [ 3.612213900E+00, 7.485316600E-04,
|
||||
-1.982064700E-07, 3.374900800E-11, -2.390737400E-15,
|
||||
-1.197815100E+03, 3.670330700E+00] )
|
||||
)
|
||||
|
|
@ -91,10 +91,10 @@ species(name = "O2",
|
|||
species(name = "CO",
|
||||
atoms = " C:1 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.262451650E+00, 1.511940850E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 3.262451650E+00, 1.511940850E-03,
|
||||
-3.881755220E-06, 5.581944240E-09, -2.474951230E-12,
|
||||
-1.431053910E+04, 4.848896980E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.025078060E+00, 1.442688520E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 3.025078060E+00, 1.442688520E-03,
|
||||
-5.630827790E-07, 1.018581330E-10, -6.910951560E-15,
|
||||
-1.426834960E+04, 6.108217720E+00] )
|
||||
)
|
||||
|
|
@ -103,10 +103,10 @@ species(name = "CO",
|
|||
species(name = "CO2",
|
||||
atoms = " C:1 O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.275724650E+00, 9.922072290E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 2.275724650E+00, 9.922072290E-03,
|
||||
-1.040911320E-05, 6.866686780E-09, -2.117280090E-12,
|
||||
-4.837314060E+04, 1.018848800E+01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 4.453622820E+00, 3.140168730E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 4.453622820E+00, 3.140168730E-03,
|
||||
-1.278410540E-06, 2.393996670E-10, -1.669033190E-14,
|
||||
-4.896696090E+04, -9.553958770E-01] )
|
||||
)
|
||||
|
|
@ -115,10 +115,10 @@ species(name = "CO2",
|
|||
species(name = "H2",
|
||||
atoms = " H:2 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 3.355351400E+00, 5.013614400E-04,
|
||||
NASA( [ 300.00, 1000.00], [ 3.355351400E+00, 5.013614400E-04,
|
||||
-2.300690800E-07, -4.790532400E-10, 4.852258500E-13,
|
||||
-1.019162600E+03, -3.547722800E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 3.066709500E+00, 5.747375500E-04,
|
||||
NASA( [ 1000.00, 5000.00], [ 3.066709500E+00, 5.747375500E-04,
|
||||
1.393831900E-08, -2.548351800E-11, 2.909857400E-15,
|
||||
-8.654741200E+02, -1.779842400E+00] )
|
||||
)
|
||||
|
|
@ -127,10 +127,10 @@ species(name = "H2",
|
|||
species(name = "H2O",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.167723400E+00, -1.811497000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 4.167723400E+00, -1.811497000E-03,
|
||||
5.947128800E-06, -4.869202100E-09, 1.529199100E-12,
|
||||
-3.028996900E+04, -7.313547400E-01] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.611047200E+00, 3.156313000E-03,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.611047200E+00, 3.156313000E-03,
|
||||
-9.298543800E-07, 1.333153800E-10, -7.468935100E-15,
|
||||
-2.986816700E+04, 7.209126800E+00] )
|
||||
)
|
||||
|
|
@ -139,10 +139,10 @@ species(name = "H2O",
|
|||
species(name = "AR",
|
||||
atoms = " Ar:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453749800E+02, 4.366000600E+00] ),
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-7.453750200E+02, 4.366000600E+00] )
|
||||
)
|
||||
|
|
@ -152,10 +152,10 @@ species(name = "AR",
|
|||
species(name = "PT(S)",
|
||||
atoms = " Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] )
|
||||
)
|
||||
|
|
@ -164,10 +164,10 @@ species(name = "PT(S)",
|
|||
species(name = "H(S)",
|
||||
atoms = " H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
3.127797200E-07, -3.232853300E-09, 1.136282000E-12,
|
||||
-4.227707500E+03, 5.874323800E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
-1.550092200E-07, -1.657316500E-10, 3.835934700E-14,
|
||||
-5.054612800E+03, -7.155523800E+00] )
|
||||
)
|
||||
|
|
@ -176,10 +176,10 @@ species(name = "H(S)",
|
|||
species(name = "H2O(S)",
|
||||
atoms = " O:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
1.012769500E-06, -7.182008300E-09, 2.281377600E-12,
|
||||
-3.639805500E+04, 1.209814500E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
-4.689405600E-07, -5.263313700E-10, 1.199832200E-13,
|
||||
-3.830223400E+04, -1.740632200E+01] )
|
||||
)
|
||||
|
|
@ -188,10 +188,10 @@ species(name = "H2O(S)",
|
|||
species(name = "OH(S)",
|
||||
atoms = " O:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
6.627521400E-07, -5.207488700E-09, 1.708873500E-12,
|
||||
-2.531994900E+04, 8.986318600E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
-3.119754100E-07, -3.460320600E-10, 7.917147200E-14,
|
||||
-2.668549200E+04, -1.228089100E+01] )
|
||||
)
|
||||
|
|
@ -200,10 +200,10 @@ species(name = "OH(S)",
|
|||
species(name = "CO(S)",
|
||||
atoms = " C:1 O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
1.976881400E-07, 1.238866900E-09, -9.033924900E-13,
|
||||
-3.229783600E+04, -1.745316100E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
-1.180527900E-07, -7.688382600E-11, 1.823200000E-14,
|
||||
-3.231172300E+04, -1.671959300E+01] )
|
||||
)
|
||||
|
|
@ -212,10 +212,10 @@ species(name = "CO(S)",
|
|||
species(name = "CO2(S)",
|
||||
atoms = " C:1 O:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] )
|
||||
)
|
||||
|
|
@ -224,10 +224,10 @@ species(name = "CO2(S)",
|
|||
species(name = "CH3(S)",
|
||||
atoms = " C:1 H:3 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
9.817947600E-07, -2.047129400E-09, 9.083271700E-14,
|
||||
-2.574561000E+03, -1.198303700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
-4.053805800E-07, -5.342246600E-10, 1.145188700E-13,
|
||||
-3.275272200E+03, -1.096598400E+01] )
|
||||
)
|
||||
|
|
@ -236,10 +236,10 @@ species(name = "CH3(S)",
|
|||
species(name = "CH2(S)",
|
||||
atoms = " C:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
1.121107500E-06, -8.275545200E-10, -4.457234500E-13,
|
||||
1.087870000E+04, 5.745188200E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
-3.282563300E-07, -4.777978600E-10, 1.007345200E-13,
|
||||
1.044375200E+04, 4.084208600E-01] )
|
||||
)
|
||||
|
|
@ -248,10 +248,10 @@ species(name = "CH2(S)",
|
|||
species(name = "CH(S)",
|
||||
atoms = " C:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
2.846457500E-07, 6.386290400E-10, -4.276665800E-13,
|
||||
2.233280100E+04, 1.145230500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
-1.606609900E-07, -2.904170000E-10, 5.799992400E-14,
|
||||
2.259521900E+04, 5.667781800E+00] )
|
||||
)
|
||||
|
|
@ -260,10 +260,10 @@ species(name = "CH(S)",
|
|||
species(name = "C(S)",
|
||||
atoms = " C:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
-3.422949800E-07, -1.899434600E-09, 1.019040600E-12,
|
||||
1.023692300E+04, 2.193701700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
-5.065767200E-08, -3.488485500E-11, 8.808969900E-15,
|
||||
9.953575200E+03, -3.024049500E+00] )
|
||||
)
|
||||
|
|
@ -272,17 +272,17 @@ species(name = "C(S)",
|
|||
species(name = "O(S)",
|
||||
atoms = " O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
-1.045142400E-06, -6.112042000E-09, 3.378799200E-12,
|
||||
-1.320991200E+04, 3.613790500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
-1.122671900E-07, -9.909962400E-11, 2.430769900E-14,
|
||||
-1.400518700E+04, -1.153166300E+01] )
|
||||
)
|
||||
)
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Adsorption reactions
|
||||
|
|
@ -316,12 +316,12 @@ surface_reaction( "CO + PT(S) => CO(S)",
|
|||
|
||||
# Desorption reactions
|
||||
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
coverage = ['H(S)', 0.0, 0.0, -10000.0]))
|
||||
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 235500,
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 235500,
|
||||
coverage = ['O(S)', 0.0, 0.0, -188300.0]) )
|
||||
|
||||
surface_reaction( "H2O(S) => H2O + PT(S)", [4.50000E+12, 0, 41800])
|
||||
|
|
@ -355,7 +355,7 @@ surface_reaction( "CO2(S) + PT(S) => CO(S) + O(S)",
|
|||
|
||||
surface_reaction( "CO(S) + OH(S) => CO2(S) + H(S)",
|
||||
Arrhenius(1.0000E+19, 0, 38700,
|
||||
coverage = ['CO(S)', 0.0, 0.0, -30000]))
|
||||
coverage = ['CO(S)', 0.0, 0.0, -30000]))
|
||||
|
||||
surface_reaction( "CO2(S) + H(S) => CO(S) + OH(S)",
|
||||
Arrhenius(1.0000E+19, 0, 8400))
|
||||
|
|
@ -369,7 +369,7 @@ surface_reaction( "CH2(S) + H(S) => CH3(S) + PT(S)",
|
|||
|
||||
surface_reaction( "CH2(S) + PT(S) => CH(S) + H(S)",
|
||||
Arrhenius(7.3100E+22, 0, 58900,
|
||||
coverage = ['C(S)', 0.0, 0.0, 50000]))
|
||||
coverage = ['C(S)', 0.0, 0.0, 50000]))
|
||||
surface_reaction( "CH(S) + H(S) => CH2(S) + PT(S)",
|
||||
Arrhenius(3.0900E+22, 0, 0,
|
||||
coverage = ['H(S)', 0.0, 0.0, -2800]))
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#
|
||||
# see http://reaflow.iwr.uni-heidelberg.de/~Olaf.Deutschmann/ for
|
||||
# see http://reaflow.iwr.uni-heidelberg.de/~Olaf.Deutschmann/ for
|
||||
# more about this mechanism
|
||||
#
|
||||
#---------------------------------------------------------------------!
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
# pp. 1747-1754
|
||||
#----------------------------------------------------------------------
|
||||
#
|
||||
# Converted to Cantera format
|
||||
# Converted to Cantera format
|
||||
# by ck2cti on Thu Aug 21 07:58:45 2003
|
||||
#
|
||||
#----------------------------------------------------------------------
|
||||
|
|
@ -35,13 +35,13 @@ units(length = "cm", time = "s", quantity = "mol", act_energy = "J/mol")
|
|||
# Reactions will be imported from GRI-Mech 3.0, as long as they
|
||||
# don't involve species not declared here. Transport properties
|
||||
# will be computed using a mixture-averaged model.
|
||||
#
|
||||
#
|
||||
ideal_gas(name = "gas",
|
||||
elements = "O H C N Ar",
|
||||
species = """gri30: H2 H O O2 OH
|
||||
H2O HO2 H2O2
|
||||
C CH CH2 CH2(S) CH3 CH4 CO CO2
|
||||
HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3
|
||||
species = """gri30: H2 H O O2 OH
|
||||
H2O HO2 H2O2
|
||||
C CH CH2 CH2(S) CH3 CH4 CO CO2
|
||||
HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3
|
||||
C2H4 C2H5 C2H6 HCCO CH2CO HCCOH AR N2""",
|
||||
transport = 'Mix',
|
||||
reactions = 'gri30: all',
|
||||
|
|
@ -74,10 +74,10 @@ ideal_interface(name = "Pt_surf",
|
|||
species(name = "PT(S)",
|
||||
atoms = " Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
0.000000000E+00, 0.000000000E+00] )
|
||||
)
|
||||
|
|
@ -86,10 +86,10 @@ species(name = "PT(S)",
|
|||
species(name = "H(S)",
|
||||
atoms = " H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
|
||||
3.127797200E-07, -3.232853300E-09, 1.136282000E-12,
|
||||
-4.227707500E+03, 5.874323800E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
|
||||
-1.550092200E-07, -1.657316500E-10, 3.835934700E-14,
|
||||
-5.054612800E+03, -7.155523800E+00] )
|
||||
)
|
||||
|
|
@ -98,10 +98,10 @@ species(name = "H(S)",
|
|||
species(name = "H2O(S)",
|
||||
atoms = " O:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
|
||||
1.012769500E-06, -7.182008300E-09, 2.281377600E-12,
|
||||
-3.639805500E+04, 1.209814500E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
|
||||
-4.689405600E-07, -5.263313700E-10, 1.199832200E-13,
|
||||
-3.830223400E+04, -1.740632200E+01] )
|
||||
)
|
||||
|
|
@ -110,10 +110,10 @@ species(name = "H2O(S)",
|
|||
species(name = "OH(S)",
|
||||
atoms = " O:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
|
||||
6.627521400E-07, -5.207488700E-09, 1.708873500E-12,
|
||||
-2.531994900E+04, 8.986318600E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
|
||||
-3.119754100E-07, -3.460320600E-10, 7.917147200E-14,
|
||||
-2.668549200E+04, -1.228089100E+01] )
|
||||
)
|
||||
|
|
@ -122,10 +122,10 @@ species(name = "OH(S)",
|
|||
species(name = "CO(S)",
|
||||
atoms = " C:1 O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
|
||||
1.976881400E-07, 1.238866900E-09, -9.033924900E-13,
|
||||
-3.229783600E+04, -1.745316100E+01] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
|
||||
-1.180527900E-07, -7.688382600E-11, 1.823200000E-14,
|
||||
-3.231172300E+04, -1.671959300E+01] )
|
||||
)
|
||||
|
|
@ -134,10 +134,10 @@ species(name = "CO(S)",
|
|||
species(name = "CO2(S)",
|
||||
atoms = " C:1 O:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
|
||||
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
|
||||
-5.045870000E+04, -4.555000000E+00] )
|
||||
)
|
||||
|
|
@ -146,10 +146,10 @@ species(name = "CO2(S)",
|
|||
species(name = "CH3(S)",
|
||||
atoms = " C:1 H:3 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
|
||||
9.817947600E-07, -2.047129400E-09, 9.083271700E-14,
|
||||
-2.574561000E+03, -1.198303700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
|
||||
-4.053805800E-07, -5.342246600E-10, 1.145188700E-13,
|
||||
-3.275272200E+03, -1.096598400E+01] )
|
||||
)
|
||||
|
|
@ -158,10 +158,10 @@ species(name = "CH3(S)",
|
|||
species(name = "CH2(S)s",
|
||||
atoms = " C:1 H:2 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
|
||||
1.121107500E-06, -8.275545200E-10, -4.457234500E-13,
|
||||
1.087870000E+04, 5.745188200E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
|
||||
-3.282563300E-07, -4.777978600E-10, 1.007345200E-13,
|
||||
1.044375200E+04, 4.084208600E-01] )
|
||||
)
|
||||
|
|
@ -170,10 +170,10 @@ species(name = "CH2(S)s",
|
|||
species(name = "CH(S)",
|
||||
atoms = " C:1 H:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
|
||||
2.846457500E-07, 6.386290400E-10, -4.276665800E-13,
|
||||
2.233280100E+04, 1.145230500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
|
||||
-1.606609900E-07, -2.904170000E-10, 5.799992400E-14,
|
||||
2.259521900E+04, 5.667781800E+00] )
|
||||
)
|
||||
|
|
@ -182,10 +182,10 @@ species(name = "CH(S)",
|
|||
species(name = "C(S)",
|
||||
atoms = " C:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
|
||||
-3.422949800E-07, -1.899434600E-09, 1.019040600E-12,
|
||||
1.023692300E+04, 2.193701700E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
|
||||
-5.065767200E-08, -3.488485500E-11, 8.808969900E-15,
|
||||
9.953575200E+03, -3.024049500E+00] )
|
||||
)
|
||||
|
|
@ -194,10 +194,10 @@ species(name = "C(S)",
|
|||
species(name = "O(S)",
|
||||
atoms = " O:1 Pt:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
|
||||
-1.045142400E-06, -6.112042000E-09, 3.378799200E-12,
|
||||
-1.320991200E+04, 3.613790500E+00] ),
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
|
||||
-1.122671900E-07, -9.909962400E-11, 2.430769900E-14,
|
||||
-1.400518700E+04, -1.153166300E+01] )
|
||||
)
|
||||
|
|
@ -206,16 +206,16 @@ species(name = "O(S)",
|
|||
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Reaction data
|
||||
# Reaction data
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Reaction 1
|
||||
surface_reaction("H2 + 2 PT(S) => 2 H(S)", [4.45790E+10, 0.5, 0],
|
||||
surface_reaction("H2 + 2 PT(S) => 2 H(S)", [4.45790E+10, 0.5, 0],
|
||||
order = "PT(S):1")
|
||||
|
||||
# Reaction 2
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 67400,
|
||||
coverage = ['H(S)', 0.0, 0.0, -6000.0]))
|
||||
|
||||
# Reaction 3
|
||||
|
|
@ -230,8 +230,8 @@ surface_reaction( "O2 + 2 PT(S) => 2 O(S)", stick(2.30000E-02, 0, 0),
|
|||
options = 'duplicate')
|
||||
|
||||
# Reaction 6
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 213200,
|
||||
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
|
||||
Arrhenius(3.70000E+21, 0, 213200,
|
||||
coverage = ['O(S)', 0.0, 0.0, -60000.0]) )
|
||||
|
||||
# Reaction 7
|
||||
|
|
@ -259,7 +259,7 @@ surface_reaction( "H(S) + OH(S) <=> H2O(S) + PT(S)", [3.70000E+21, 0, 17400])
|
|||
surface_reaction( "OH(S) + OH(S) <=> H2O(S) + O(S)", [3.70000E+21, 0, 48200])
|
||||
|
||||
# Reaction 15
|
||||
surface_reaction( "CO + PT(S) => CO(S)", [1.61800E+20, 0.5, 0],
|
||||
surface_reaction( "CO + PT(S) => CO(S)", [1.61800E+20, 0.5, 0],
|
||||
order = "PT(S):2")
|
||||
|
||||
# Reaction 16
|
||||
|
|
@ -273,7 +273,7 @@ surface_reaction( "CO(S) + O(S) => CO2(S) + PT(S)", [3.70000E+21, 0, 105000])
|
|||
|
||||
# Reaction 19
|
||||
surface_reaction( "CH4 + 2 PT(S) => CH3(S) + H(S)", [4.63340E+20, 0.5, 0],
|
||||
order = "PT(S):2.3")
|
||||
order = "PT(S):2.3")
|
||||
|
||||
# Reaction 20
|
||||
surface_reaction( "CH3(S) + PT(S) => CH2(S)s + H(S)",
|
||||
|
|
@ -294,7 +294,7 @@ surface_reaction( "CO(S) + PT(S) => C(S) + O(S)", [1.00000E+18, 0, 184000])
|
|||
# Reaction 25 (12/28/2009 HKM added: This is a fictious rxn that is added for numerical stability.
|
||||
# The issue is that if multiple surface species have a negative concentration, the
|
||||
# Jacobian for the surface problem will go singular due to the way negative concentrations
|
||||
# are truncated within Cantera. Adding in unimolecular desorption rxns with neglibigle real
|
||||
# are truncated within Cantera. Adding in unimolecular desorption rxns with neglibigle real
|
||||
# effects alleviates the problem.)
|
||||
surface_reaction( "C(S) => C + PT(S)", [3.7E7, 0, 62800])
|
||||
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ units(length='cm', time='s', quantity='mol', act_energy='cal/mol')
|
|||
|
||||
ideal_gas(name='gas',
|
||||
elements="Si H He",
|
||||
species="""H2 H HE SIH4 SI
|
||||
SIH SIH2 SIH3 H3SISIH SI2H6
|
||||
species="""H2 H HE SIH4 SI
|
||||
SIH SIH2 SIH3 H3SISIH SI2H6
|
||||
H2SISIH2 SI3H8 SI2 SI3""",
|
||||
reactions='all',
|
||||
initial_state=state(temperature=300.0, pressure=OneAtm))
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ stoichiometric_solid(name = "silicon",
|
|||
species(name = "Si(cr)",
|
||||
atoms = " Si:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ -1.291769120E-01, 1.472031390E-02,
|
||||
NASA( [ 200.00, 1000.00], [ -1.291769120E-01, 1.472031390E-02,
|
||||
-2.765101600E-05, 2.418782510E-08, -7.934529120E-12,
|
||||
-4.155164170E+02, -3.595700080E-01] ),
|
||||
NASA( [ 1000.00, 1690.00], [ 1.755473820E+00, 3.172854970E-03,
|
||||
NASA( [ 1000.00, 1690.00], [ 1.755473820E+00, 3.172854970E-03,
|
||||
-2.782364020E-06, 1.264580650E-09, -2.171284640E-13,
|
||||
-6.286573630E+02, -8.553411770E+00] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ stoichiometric_solid(name = "silicon_carbide",
|
|||
species(name = "SiC(b)",
|
||||
atoms = " Si:1 C:1 ",
|
||||
thermo = (
|
||||
NASA( [ 300.00, 1000.00], [ -2.471590700E+00, 3.069378300E-02,
|
||||
NASA( [ 300.00, 1000.00], [ -2.471590700E+00, 3.069378300E-02,
|
||||
-4.926308500E-05, 3.862638900E-08, -1.176162100E-11,
|
||||
-9.069126000E+03, 8.800921400E+00] ),
|
||||
NASA( [ 1000.00, 4000.00], [ 3.797480900E+00, 3.187288600E-03,
|
||||
NASA( [ 1000.00, 4000.00], [ 3.797480900E+00, 3.187288600E-03,
|
||||
-1.450233400E-06, 3.154974400E-10, -2.615899100E-14,
|
||||
-1.029193700E+04, -2.106779100E+01] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ stoichiometric_liquid(name = "liquid_water",
|
|||
species(name = "H2O(S)",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 273.15], [ 5.296779700E+00, -6.757492470E-02,
|
||||
NASA( [ 200.00, 273.15], [ 5.296779700E+00, -6.757492470E-02,
|
||||
5.169421090E-04, -1.438533600E-06, 1.525647940E-09,
|
||||
-3.622665570E+04, -1.792204280E+01] )
|
||||
)
|
||||
|
|
@ -33,7 +33,7 @@ species(name = "H2O(S)",
|
|||
species(name = "H2O(L)",
|
||||
atoms = " H:2 O:1 ",
|
||||
thermo = (
|
||||
NASA( [ 273.15, 600.00], [ 7.255750050E+01, -6.624454020E-01,
|
||||
NASA( [ 273.15, 600.00], [ 7.255750050E+01, -6.624454020E-01,
|
||||
2.561987460E-03, -4.365919230E-06, 2.781789810E-09,
|
||||
-4.188654990E+04, -2.882801370E+02] )
|
||||
)
|
||||
|
|
|
|||
|
|
@ -61,10 +61,10 @@ approximated as constant, then the following definition could be used::
|
|||
|
||||
species(name='C(gr)',
|
||||
atoms='C:1',
|
||||
thermo=const_cp(t0=298.15,
|
||||
h0=0.0,
|
||||
s0=(5.6, 'J/mol/K'), # NIST
|
||||
cp0=(8.43, 'J/mol/K'))) # Taylor and Groot (1980)
|
||||
thermo=const_cp(t0=298.15,
|
||||
h0=0.0,
|
||||
s0=(5.6, 'J/mol/K'), # NIST
|
||||
cp0=(8.43, 'J/mol/K'))) # Taylor and Groot (1980)
|
||||
|
||||
Note that the thermo field is assigned an embedded entry of type
|
||||
:class:`const_cp`. Entries are stored as they are encountered when the file is
|
||||
|
|
@ -337,7 +337,7 @@ in the input file is translated by the preprocessor to the following CTML text:
|
|||
<equation>O + HCCO [=] H + 2 CO</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A units="cm3/mol/s"> 1.000000E+14</A>
|
||||
<A units="cm3/mol/s"> 1.000000E+14</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
|
|
@ -419,17 +419,17 @@ would terminate. ::
|
|||
Traceback (most recent call last):
|
||||
File "<stdin>", line 1, in <module>
|
||||
File "/some/path/Cantera/importFromFile.py", line 18, in importPhase
|
||||
return importPhases(file, [name], loglevel, debug)[0]
|
||||
return importPhases(file, [name], loglevel, debug)[0]
|
||||
File "/some/path/Cantera/importFromFile.py", line 25, in importPhases
|
||||
s.append(solution.Solution(src=file,id=nm,loglevel=loglevel,debug=debug))
|
||||
s.append(solution.Solution(src=file,id=nm,loglevel=loglevel,debug=debug))
|
||||
File "/some/path/solution.py", line 39, in __init__
|
||||
preprocess = 1, debug = debug)
|
||||
preprocess = 1, debug = debug)
|
||||
File "/some/path/Cantera/XML.py", line 35, in __init__
|
||||
self._xml_id = _cantera.xml_get_XML_File(src, debug)
|
||||
self._xml_id = _cantera.xml_get_XML_File(src, debug)
|
||||
cantera.error:
|
||||
|
||||
************************************************
|
||||
Cantera Error!
|
||||
Cantera Error!
|
||||
************************************************
|
||||
|
||||
Procedure: ct2ctml
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ ranges. This can be specified by assigning the ``thermo`` field of the
|
|||
atoms = " O:2 ",
|
||||
thermo = (
|
||||
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
|
||||
-1.063943560E+03, 3.657675730E+00] ),
|
||||
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
|
||||
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
|
||||
|
|
|
|||
|
|
@ -50,9 +50,9 @@ look like this::
|
|||
env = Environment()
|
||||
|
||||
env.Append(CCFLAGS='-g',
|
||||
CPPPATH=['/usr/local/cantera/include',
|
||||
CPPPATH=['/usr/local/cantera/include',
|
||||
'/usr/local/sundials/include'],
|
||||
LIBS=['cantera', 'sundials_cvodes', 'sundials_ida',
|
||||
LIBS=['cantera', 'sundials_cvodes', 'sundials_ida',
|
||||
'sundials_nvecserial', 'lapack', 'blas'],
|
||||
LIBPATH=['/usr/local/cantera/lib',
|
||||
'/usr/local/sundials/lib'],
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ using namespace Cantera;
|
|||
// can be called from the main program.
|
||||
void simple_demo()
|
||||
{
|
||||
|
||||
// Create a new phase
|
||||
ThermoPhase* gas = newPhase("h2o2.cti","ohmech");
|
||||
|
||||
|
|
@ -28,7 +27,6 @@ void simple_demo()
|
|||
// might be thrown
|
||||
int main()
|
||||
{
|
||||
|
||||
try {
|
||||
simple_demo();
|
||||
} catch (CanteraError& err) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@ void equil_demo()
|
|||
|
||||
int main()
|
||||
{
|
||||
|
||||
try {
|
||||
equil_demo();
|
||||
} catch (CanteraError& err) {
|
||||
|
|
|
|||
|
|
@ -11,31 +11,31 @@ state of chemical equilibrium, holding the temperature and pressure fixed.
|
|||
|
||||
The program output is::
|
||||
|
||||
temperature 1500 K
|
||||
pressure 202650 Pa
|
||||
density 0.316828 kg/m^3
|
||||
temperature 1500 K
|
||||
pressure 202650 Pa
|
||||
density 0.316828 kg/m^3
|
||||
mean mol. weight 19.4985 amu
|
||||
|
||||
1 kg 1 kmol
|
||||
----------- ------------
|
||||
enthalpy -4.17903e+06 -8.149e+07 J
|
||||
1 kg 1 kmol
|
||||
----------- ------------
|
||||
enthalpy -4.17903e+06 -8.149e+07 J
|
||||
internal energy -4.81866e+06 -9.396e+07 J
|
||||
entropy 11283.3 2.2e+05 J/K
|
||||
Gibbs function -2.1104e+07 -4.115e+08 J
|
||||
entropy 11283.3 2.2e+05 J/K
|
||||
Gibbs function -2.1104e+07 -4.115e+08 J
|
||||
heat capacity c_p 1893.06 3.691e+04 J/K
|
||||
heat capacity c_v 1466.65 2.86e+04 J/K
|
||||
|
||||
X Y Chem. Pot. / RT
|
||||
------------- ------------ ------------
|
||||
H2 0.249996 0.0258462 -19.2954
|
||||
H 6.22521e-06 3.218e-07 -9.64768
|
||||
O 7.66933e-12 6.29302e-12 -26.3767
|
||||
O2 7.1586e-12 1.17479e-11 -52.7533
|
||||
OH 3.55353e-07 3.09952e-07 -36.0243
|
||||
H2O 0.499998 0.461963 -45.672
|
||||
HO2 7.30338e-15 1.2363e-14 -62.401
|
||||
H2O2 3.95781e-13 6.90429e-13 -72.0487
|
||||
AR 0.249999 0.51219 -21.3391
|
||||
X Y Chem. Pot. / RT
|
||||
------------- ------------ ------------
|
||||
H2 0.249996 0.0258462 -19.2954
|
||||
H 6.22521e-06 3.218e-07 -9.64768
|
||||
O 7.66933e-12 6.29302e-12 -26.3767
|
||||
O2 7.1586e-12 1.17479e-11 -52.7533
|
||||
OH 3.55353e-07 3.09952e-07 -36.0243
|
||||
H2O 0.499998 0.461963 -45.672
|
||||
HO2 7.30338e-15 1.2363e-14 -62.401
|
||||
H2O2 3.95781e-13 6.90429e-13 -72.0487
|
||||
AR 0.249999 0.51219 -21.3391
|
||||
|
||||
|
||||
How can we tell that this is really a state of chemical equilibrium? Well, by
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ C++ Interface User's Guide
|
|||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
|
||||
compiling
|
||||
headers
|
||||
thermo
|
||||
|
|
|
|||
|
|
@ -18,9 +18,9 @@ prints its temperature is shown below:
|
|||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
Cantera::ThermoPhase* gas = Cantera::newPhase("h2o2.cti","ohmech");
|
||||
std::cout << gas->temperature() << std::endl;
|
||||
return 0;
|
||||
Cantera::ThermoPhase* gas = Cantera::newPhase("h2o2.cti","ohmech");
|
||||
std::cout << gas->temperature() << std::endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
Class :ct:`ThermoPhase` is the base class for Cantera classes that represent
|
||||
|
|
@ -106,11 +106,11 @@ properties are computed and printed out:
|
|||
Note that the methods that compute the properties take no input parameters. The
|
||||
properties are computed for the state that has been previously set and stored
|
||||
internally within the object.
|
||||
|
||||
|
||||
Naming Conventions
|
||||
------------------
|
||||
|
||||
- methods that return *molar* properties have names that end in ``_mole``.
|
||||
- methods that return *molar* properties have names that end in ``_mole``.
|
||||
- methods that return properties *per unit mass* have names that end in
|
||||
``_mass``.
|
||||
- methods that write an array of values into a supplied output array have names
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ Python scripts to do calculations ranging from simple evaluation of
|
|||
thermodynamic or transport properties, on up to chemical equilibrium in
|
||||
multiphase mixtures, 1D laminar flames, reactor networks, and more. If your
|
||||
problem can be solved by using Cantera from Python, you'll almost certainly
|
||||
solve it faster with Python than by writing programs in Fortran or C++.
|
||||
solve it faster with Python than by writing programs in Fortran or C++.
|
||||
|
||||
See http://www.python.org
|
||||
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@ movement can be modeled depending on the pressure difference. Typically,
|
|||
interactions of the reactor with the environment are defined on one or multiple
|
||||
*walls*, *inlets*, and *outlets*.
|
||||
|
||||
In addition to single reactors, Cantera is also able to interconnect reactors
|
||||
into a *Reactor Network*. Each reactor in a network may be connected so that
|
||||
the contents of one reactor flow into another. Reactors may also be in contact
|
||||
In addition to single reactors, Cantera is also able to interconnect reactors
|
||||
into a *Reactor Network*. Each reactor in a network may be connected so that
|
||||
the contents of one reactor flow into another. Reactors may also be in contact
|
||||
with one another or the environment via walls which move or conduct heat.
|
||||
|
||||
Governing Equations for Single Reactors
|
||||
|
|
@ -121,10 +121,10 @@ consistent with holding the pressure constant.
|
|||
Energy Conservation
|
||||
-------------------
|
||||
|
||||
The solution of the energy equation can be enabled or disabled by changing the
|
||||
The solution of the energy equation can be enabled or disabled by changing the
|
||||
``energy_enabled`` flag. It is enabled by default.
|
||||
|
||||
The implemented formulation of the energy equation depends on which reactor
|
||||
The implemented formulation of the energy equation depends on which reactor
|
||||
model is used.
|
||||
|
||||
Standard Reactor
|
||||
|
|
@ -164,9 +164,9 @@ Noting that `dp/dt = 0` and substituting into the energy equation yields:
|
|||
Ideal Gas Reactor
|
||||
*****************
|
||||
|
||||
In case of the Ideal Gas Reactor Model, the reactor temperature `T` is used
|
||||
instead of the total internal energy `U` as a state variable. For an ideal gas,
|
||||
we can rewrite the total internal energy in terms of the mass fractions and
|
||||
In case of the Ideal Gas Reactor Model, the reactor temperature `T` is used
|
||||
instead of the total internal energy `U` as a state variable. For an ideal gas,
|
||||
we can rewrite the total internal energy in terms of the mass fractions and
|
||||
temperature:
|
||||
|
||||
.. math::
|
||||
|
|
@ -227,8 +227,8 @@ The total rate of heat transfer through all walls is:
|
|||
where `f_w = \pm 1` indicates the facing of the wall.
|
||||
|
||||
In case of surface reactions, there is a net generation (or
|
||||
destruction) of homogeneous phase species at the wall. The molar rate of
|
||||
production for each species `k` on wall `w` is `\dot{s}_{k,w}` (in kmol/s/m\
|
||||
destruction) of homogeneous phase species at the wall. The molar rate of
|
||||
production for each species `k` on wall `w` is `\dot{s}_{k,w}` (in kmol/s/m\
|
||||
:sup:`2`). The total (mass) production rate for species `k` on all walls is:
|
||||
|
||||
.. math::
|
||||
|
|
@ -246,14 +246,14 @@ each wall. The net mass flux from all walls is then:
|
|||
Reactor Networks and Devices
|
||||
============================
|
||||
|
||||
While reactors by themselves just define the above governing equations of the
|
||||
reactor, the time integration is performed in reactor networks. A reactor
|
||||
While reactors by themselves just define the above governing equations of the
|
||||
reactor, the time integration is performed in reactor networks. A reactor
|
||||
network is therefore necessary even if only a single reactor is considered.
|
||||
|
||||
The advantage of reactor networks obviously is that multiple reactors can be
|
||||
interconnected. Not only mass flow from one reactor into another can be
|
||||
realized, but also heat can be transferred, or the wall between reactors can
|
||||
move. To set up a network, the following components can be defined in addition
|
||||
The advantage of reactor networks obviously is that multiple reactors can be
|
||||
interconnected. Not only mass flow from one reactor into another can be
|
||||
realized, but also heat can be transferred, or the wall between reactors can
|
||||
move. To set up a network, the following components can be defined in addition
|
||||
to the reactors previously mentioned:
|
||||
|
||||
- **Reservoir**: A reservoir can be thought of as an infinitely large volume, in
|
||||
|
|
@ -281,12 +281,12 @@ to the reactors previously mentioned:
|
|||
|
||||
The heat flux through the wall is computed from
|
||||
|
||||
.. math:: q = U(T_{\rm left} - T_{\rm right}) + \epsilon\sigma (T_{\rm left}^4
|
||||
.. math:: q = U(T_{\rm left} - T_{\rm right}) + \epsilon\sigma (T_{\rm left}^4
|
||||
- T_{\rm right}^4) + q_0(t),
|
||||
|
||||
where :math:`U` is the overall heat transfer coefficient for
|
||||
conduction/convection, and :math:`\epsilon` is the emissivity. The function
|
||||
:math:`q_0(t)` is a specified function of time. The heat flux is positive when
|
||||
:math:`q_0(t)` is a specified function of time. The heat flux is positive when
|
||||
heat flows from the reactor on the left to the reactor on the right.
|
||||
|
||||
A heterogeneous reaction mechanism may be specified for one or both of the
|
||||
|
|
@ -324,8 +324,8 @@ to the reactors previously mentioned:
|
|||
|
||||
.. math:: \dot m = \max(\dot m_0, 0.0)
|
||||
|
||||
where :math:`\dot m_0` is either a constant value or a function of time. Note
|
||||
that if :math:`\dot m_0 < 0`, the mass flow rate will be set to zero, since
|
||||
where :math:`\dot m_0` is either a constant value or a function of time. Note
|
||||
that if :math:`\dot m_0 < 0`, the mass flow rate will be set to zero, since
|
||||
reversal of the flow direction is not allowed.
|
||||
|
||||
Unlike a real mass flow controller, a MassFlowController object will maintain
|
||||
|
|
@ -348,9 +348,9 @@ to the reactors previously mentioned:
|
|||
Time Integration
|
||||
----------------
|
||||
|
||||
Cantera provides an ODE solver for solving the stiff equations of reacting
|
||||
systems. If installed in combination with SUNDIALS, their optimized solver is
|
||||
used. Starting off the current state of the system, it can be advanced in time
|
||||
Cantera provides an ODE solver for solving the stiff equations of reacting
|
||||
systems. If installed in combination with SUNDIALS, their optimized solver is
|
||||
used. Starting off the current state of the system, it can be advanced in time
|
||||
by two methods:
|
||||
|
||||
- ``step()``: The step method computes the state of the system at the a priori
|
||||
|
|
@ -367,53 +367,53 @@ by two methods:
|
|||
Internally, several ``step()`` calls are typically performed to reach the
|
||||
accurate state at time `t_{\rm new}`.
|
||||
|
||||
The use of the ``advance`` method in a loop has the advantage that it produces
|
||||
results corresponding to a predefined time series. These are associated with a
|
||||
predefined memory consumption and well comparable between simulation runs with
|
||||
different parameters. However, some detail (e.g. a fast ignition process) might
|
||||
The use of the ``advance`` method in a loop has the advantage that it produces
|
||||
results corresponding to a predefined time series. These are associated with a
|
||||
predefined memory consumption and well comparable between simulation runs with
|
||||
different parameters. However, some detail (e.g. a fast ignition process) might
|
||||
not be resolved in the output data due to the typically large time steps.
|
||||
|
||||
The ``step`` method results in much more data points because of the small
|
||||
timesteps needed. Additionally, the absolute time has to be kept tracked of
|
||||
The ``step`` method results in much more data points because of the small
|
||||
timesteps needed. Additionally, the absolute time has to be kept tracked of
|
||||
manually.
|
||||
|
||||
Even though Cantera comes pre-defined with typical parameters for tolerances
|
||||
and the maximum internal time step, the solution sometimes diverges. To solve
|
||||
this problem, three parameters can be tuned: The absolute time stepping
|
||||
tolerances, the relative time stepping tolerances, and the maximum time step. A
|
||||
reduction of the latter value is particularly useful when dealing with abrupt
|
||||
changes in the boundary conditions (e.g. opening/closing valves, see also
|
||||
Even though Cantera comes pre-defined with typical parameters for tolerances
|
||||
and the maximum internal time step, the solution sometimes diverges. To solve
|
||||
this problem, three parameters can be tuned: The absolute time stepping
|
||||
tolerances, the relative time stepping tolerances, and the maximum time step. A
|
||||
reduction of the latter value is particularly useful when dealing with abrupt
|
||||
changes in the boundary conditions (e.g. opening/closing valves, see also
|
||||
example :ref:`py-example-ic_engine.py`).
|
||||
|
||||
General Usage in Cantera
|
||||
========================
|
||||
|
||||
In Cantera, the following steps are typically necessary to investigate a
|
||||
In Cantera, the following steps are typically necessary to investigate a
|
||||
reactor network:
|
||||
|
||||
1. Define ``Solution`` objects for the fluids to be flowing through your
|
||||
1. Define ``Solution`` objects for the fluids to be flowing through your
|
||||
reactor network.
|
||||
|
||||
2. Define the reactor type(s) and reservoir(s) that describe your system. Chose
|
||||
2. Define the reactor type(s) and reservoir(s) that describe your system. Chose
|
||||
Ideal Gas (Constant Pressure) Reactor(s) if you only consider ideal gas phases.
|
||||
|
||||
3. *Optional:* Set up the boundary conditions and flow devices between reactors
|
||||
3. *Optional:* Set up the boundary conditions and flow devices between reactors
|
||||
or reservoirs.
|
||||
|
||||
4. Define a reactor network which contains all the reactors previously created.
|
||||
|
||||
5. Advance the simulation in time, typically in a for- or while-loop. Note that
|
||||
only the current state is stored in Cantera by default. If you want to observe
|
||||
5. Advance the simulation in time, typically in a for- or while-loop. Note that
|
||||
only the current state is stored in Cantera by default. If you want to observe
|
||||
the transient states, you manually have to keep track of them.
|
||||
|
||||
6. Analyze the data.
|
||||
|
||||
Note that Cantera always solves a transient problem. If you are interested in
|
||||
steady-state conditions, you can run your simulation for a long time until the
|
||||
Note that Cantera always solves a transient problem. If you are interested in
|
||||
steady-state conditions, you can run your simulation for a long time until the
|
||||
states are converged (see e.g. example :ref:`py-example-surf_pfr.py`,
|
||||
:ref:`py-example-combustor.py`).
|
||||
|
||||
Cantera comes with a broad variety of well-commented example scrips for reactor
|
||||
Cantera comes with a broad variety of well-commented example scrips for reactor
|
||||
networks. Please refer to them for further information (:ref:`Python <sec-cython-examples>`, :ref:`Matlab <sec-matlab-examples>`).
|
||||
|
||||
Common Reactor Types and their Implementation in Cantera
|
||||
|
|
@ -422,18 +422,18 @@ Common Reactor Types and their Implementation in Cantera
|
|||
Batch Reactor at Constant Volume or at Constant Pressure
|
||||
--------------------------------------------------------
|
||||
|
||||
If you are interested in how a homogeneous chemical composition changes in time
|
||||
when it is left to its own, a simple batch reactor can be used. Two versions
|
||||
are commonly considered: A rigid vessel with fixed volume but variable
|
||||
If you are interested in how a homogeneous chemical composition changes in time
|
||||
when it is left to its own, a simple batch reactor can be used. Two versions
|
||||
are commonly considered: A rigid vessel with fixed volume but variable
|
||||
pressure, or a system idealized at constant pressure but varying volume.
|
||||
|
||||
In Cantera, such a simulation can be performed very easily. The initial state
|
||||
of the solution can be specified by composition and a set of thermodynamic
|
||||
parameters (like temperature and pressure) as a standard Cantera solution
|
||||
object. Upon its base, a general (Ideal Gas) Reactor or an (Ideal Gas) Constant
|
||||
Pressure Reactor can be created, depending on if a constant volume or constant
|
||||
pressure batch reactor should be considered, respectively. The behavior of the
|
||||
solution in time can be simulated as a very simple Reactor Network containing
|
||||
In Cantera, such a simulation can be performed very easily. The initial state
|
||||
of the solution can be specified by composition and a set of thermodynamic
|
||||
parameters (like temperature and pressure) as a standard Cantera solution
|
||||
object. Upon its base, a general (Ideal Gas) Reactor or an (Ideal Gas) Constant
|
||||
Pressure Reactor can be created, depending on if a constant volume or constant
|
||||
pressure batch reactor should be considered, respectively. The behavior of the
|
||||
solution in time can be simulated as a very simple Reactor Network containing
|
||||
only the formerly created reactor.
|
||||
|
||||
An example for such a Batch Reactor is :ref:`py-example-reactor1.py`.
|
||||
|
|
@ -441,49 +441,49 @@ An example for such a Batch Reactor is :ref:`py-example-reactor1.py`.
|
|||
Continuously Stirred Tank Reactor
|
||||
---------------------------------
|
||||
|
||||
A Continuously Stirred Tank Reactor (CSTR), also often referred to as
|
||||
Well-Stirred Reactor (WSR), Perfectly Stirred Reactor (PSR), or Longwell
|
||||
Reactor, is essentially a single Cantera reactor with an inlet, an outlet, and
|
||||
constant volume. Therefore, the `Governing Equations for Single Reactors`_
|
||||
A Continuously Stirred Tank Reactor (CSTR), also often referred to as
|
||||
Well-Stirred Reactor (WSR), Perfectly Stirred Reactor (PSR), or Longwell
|
||||
Reactor, is essentially a single Cantera reactor with an inlet, an outlet, and
|
||||
constant volume. Therefore, the `Governing Equations for Single Reactors`_
|
||||
defined above apply accordingly.
|
||||
|
||||
Steady state solutions to CSTRs are often of interest. In this case, the mass
|
||||
flow rate `\dot{m}` is constant and equal at inlet and outlet. The mass
|
||||
contained in the confinement `m` divided by `\dot{m}` defines the mean
|
||||
Steady state solutions to CSTRs are often of interest. In this case, the mass
|
||||
flow rate `\dot{m}` is constant and equal at inlet and outlet. The mass
|
||||
contained in the confinement `m` divided by `\dot{m}` defines the mean
|
||||
residence time of the fluid in the confinement.
|
||||
|
||||
At steady state, the time derivatives in the governing equations become zero,
|
||||
and the system of ordinary differential equations can be reduced to a set of
|
||||
coupled nonlinear algebraic equations. A Newton solver could be used to solve
|
||||
this system of equations. However, a sophisticated implementation might be
|
||||
required to account for the strong nonlinearities and the presence of multiple
|
||||
At steady state, the time derivatives in the governing equations become zero,
|
||||
and the system of ordinary differential equations can be reduced to a set of
|
||||
coupled nonlinear algebraic equations. A Newton solver could be used to solve
|
||||
this system of equations. However, a sophisticated implementation might be
|
||||
required to account for the strong nonlinearities and the presence of multiple
|
||||
solutions.
|
||||
|
||||
Cantera does not have such a Newton solver implemented. Instead, steady CSTRs
|
||||
are simulated by considering a time-dependent constant volume reactor with
|
||||
specified in- and outflow conditions. Starting off at an initial solution, the
|
||||
reactor network containing this reactor is advanced in time until the state of
|
||||
Cantera does not have such a Newton solver implemented. Instead, steady CSTRs
|
||||
are simulated by considering a time-dependent constant volume reactor with
|
||||
specified in- and outflow conditions. Starting off at an initial solution, the
|
||||
reactor network containing this reactor is advanced in time until the state of
|
||||
the solution is converged. An example for this procedure is
|
||||
:ref:`py-example-combustor.py`.
|
||||
|
||||
A problem can be the ignition of a CSTR: If the reactants are not reactive
|
||||
enough, the simulation can result in the trivial solution that inflow and
|
||||
outflow states are identical. To solve this problem, the reactor can be
|
||||
initialized with a high temperature and/or radical concentration. A good
|
||||
approach is to use the equilibrium composition of the reactants (which can be
|
||||
A problem can be the ignition of a CSTR: If the reactants are not reactive
|
||||
enough, the simulation can result in the trivial solution that inflow and
|
||||
outflow states are identical. To solve this problem, the reactor can be
|
||||
initialized with a high temperature and/or radical concentration. A good
|
||||
approach is to use the equilibrium composition of the reactants (which can be
|
||||
computed using Cantera's ``equilibrate`` function) as an initial guess.
|
||||
|
||||
|
||||
Plug-Flow Reactor
|
||||
-----------------
|
||||
|
||||
A Plug-Flow Reactor (PFR) represents a steady-state channel with a
|
||||
cross-sectional area `A`. Typically an ideal gas flows through it at a constant
|
||||
mass flow rate `\dot{m}`. Perpendicular to the flow direction, the gas is
|
||||
considered to be completely homogeneous. In the axial direction `z`, the states
|
||||
A Plug-Flow Reactor (PFR) represents a steady-state channel with a
|
||||
cross-sectional area `A`. Typically an ideal gas flows through it at a constant
|
||||
mass flow rate `\dot{m}`. Perpendicular to the flow direction, the gas is
|
||||
considered to be completely homogeneous. In the axial direction `z`, the states
|
||||
of the gas is allowed to change. However, all diffusion processes are neglected.
|
||||
|
||||
Plug-Flow Reactors are often used to simulate ignition delay times, emission
|
||||
Plug-Flow Reactors are often used to simulate ignition delay times, emission
|
||||
formation, and catalytic processes.
|
||||
|
||||
The governing equations of Plug-Flow Reactors are [KCG2003]_:
|
||||
|
|
@ -492,7 +492,7 @@ The governing equations of Plug-Flow Reactors are [KCG2003]_:
|
|||
|
||||
.. math:: \frac{d(\rho u A)}{dz} = P' \sum_k \dot{s}_k W_k
|
||||
|
||||
where `u` is the axial velocity in (m/s) and `P'` is the chemically active
|
||||
where `u` is the axial velocity in (m/s) and `P'` is the chemically active
|
||||
channel perimeter in (m) (chemically active perimeter per unit length).
|
||||
|
||||
- Continuity equation of species `k`:
|
||||
|
|
@ -507,8 +507,8 @@ The governing equations of Plug-Flow Reactors are [KCG2003]_:
|
|||
- P' \sum_k h_k \dot{s}_k W_k
|
||||
+ U P (T_w - T)
|
||||
|
||||
where `U` is the heat transfer coefficient in (W/m/K), `P` is the perimeter of
|
||||
the duct in (m), and `T_w` is the wall temperature in (K). Kinetic and
|
||||
where `U` is the heat transfer coefficient in (W/m/K), `P` is the perimeter of
|
||||
the duct in (m), and `T_w` is the wall temperature in (K). Kinetic and
|
||||
potential energies are neglected.
|
||||
|
||||
- Momentum conservation in the axial direction:
|
||||
|
|
@ -516,31 +516,31 @@ The governing equations of Plug-Flow Reactors are [KCG2003]_:
|
|||
.. math:: \rho u A \frac{d u}{d z} + u P' \sum_k \dot{s}_k W_k =
|
||||
- \frac{d (p A)}{dz} - \tau_w P
|
||||
|
||||
where `\tau_w` is the wall friction coefficient (which might be computed from
|
||||
where `\tau_w` is the wall friction coefficient (which might be computed from
|
||||
Reynolds number based correlations).
|
||||
|
||||
Even though this problem extends geometrically in one direction, it can be
|
||||
modeled via zero-dimensional reactors: Due to the neglecting of diffusion,
|
||||
downstream parts of the reactor have no influence on upstream parts. Therefore,
|
||||
Even though this problem extends geometrically in one direction, it can be
|
||||
modeled via zero-dimensional reactors: Due to the neglecting of diffusion,
|
||||
downstream parts of the reactor have no influence on upstream parts. Therefore,
|
||||
PFRs can be modeled by marching from the beginning to the end of the reactor.
|
||||
|
||||
Cantera does not (yet) provide dedicated class to solve the PFR equations (The
|
||||
``FlowReactor`` class is currently under development). However, there are two
|
||||
ways to simulate a PFR with the reactor elements previously presented. Both
|
||||
rely on the assumption that pressure is approximately constant throughout the
|
||||
Plug-Flow Reactor and that there is no friction. The momentum conservation
|
||||
Cantera does not (yet) provide dedicated class to solve the PFR equations (The
|
||||
``FlowReactor`` class is currently under development). However, there are two
|
||||
ways to simulate a PFR with the reactor elements previously presented. Both
|
||||
rely on the assumption that pressure is approximately constant throughout the
|
||||
Plug-Flow Reactor and that there is no friction. The momentum conservation
|
||||
equation is thus neglected.
|
||||
|
||||
|
||||
PFR Modeling by Considering a Lagrangian Reactor
|
||||
************************************************
|
||||
|
||||
A Plug-Flow Reactor can also be described from a Lagrangian point of view: An
|
||||
unsteady fluid particle is considered which travels along the axial streamline
|
||||
through the PFR. Since there is no information traveling upstream, the state
|
||||
change of the fluid particle can be computed by a forward (upwind) integration
|
||||
in time. Using the continuity equation, the speed of the particle can be
|
||||
derived. By integrating the velocity in time, the temporal information can be
|
||||
A Plug-Flow Reactor can also be described from a Lagrangian point of view: An
|
||||
unsteady fluid particle is considered which travels along the axial streamline
|
||||
through the PFR. Since there is no information traveling upstream, the state
|
||||
change of the fluid particle can be computed by a forward (upwind) integration
|
||||
in time. Using the continuity equation, the speed of the particle can be
|
||||
derived. By integrating the velocity in time, the temporal information can be
|
||||
translated into the spatial resolution of the PFR.
|
||||
|
||||
An example for this procedure can be found in :ref:`py-example-pfr.py`.
|
||||
|
|
@ -549,20 +549,20 @@ An example for this procedure can be found in :ref:`py-example-pfr.py`.
|
|||
PFR Modeling as a Series of CSTRs
|
||||
*********************************
|
||||
|
||||
The Plug-Flow Reactor is spatially discretized into a large number of axially
|
||||
The Plug-Flow Reactor is spatially discretized into a large number of axially
|
||||
distributed volumes. These volumes are modeled to be steady-state CSTRs.
|
||||
|
||||
The only reason to use this approach as opposed to the Lagrangian one is if you
|
||||
need to include surface reactions, because the system of equations ends up
|
||||
The only reason to use this approach as opposed to the Lagrangian one is if you
|
||||
need to include surface reactions, because the system of equations ends up
|
||||
being a DAE system instead of an ODE system.
|
||||
|
||||
In Cantera, it is sufficient to consider a single reactor and march it forward
|
||||
in time, because there is no information traveling upstream. The mass flow rate
|
||||
`\dot{m}` through the PFR enters the reactor from an upstream reservoir. For
|
||||
the first reactor, the reservoir conditions are the inflow boundary conditions
|
||||
of the PFR. By performing a time integration as described in `Continuously
|
||||
Stirred Tank Reactor`_ until the state of the reactor is converged, the
|
||||
steady-state CSTR solution is computed. The state of the CSTR is the inlet
|
||||
In Cantera, it is sufficient to consider a single reactor and march it forward
|
||||
in time, because there is no information traveling upstream. The mass flow rate
|
||||
`\dot{m}` through the PFR enters the reactor from an upstream reservoir. For
|
||||
the first reactor, the reservoir conditions are the inflow boundary conditions
|
||||
of the PFR. By performing a time integration as described in `Continuously
|
||||
Stirred Tank Reactor`_ until the state of the reactor is converged, the
|
||||
steady-state CSTR solution is computed. The state of the CSTR is the inlet
|
||||
boundary condition for the next CSTR downstream.
|
||||
|
||||
An example for this procedure can be found in :ref:`py-example-pfr.py` and
|
||||
|
|
@ -572,9 +572,9 @@ An example for this procedure can be found in :ref:`py-example-pfr.py` and
|
|||
Advanced Concepts
|
||||
=================
|
||||
|
||||
In some cases, Cantera's solver is insufficient to describe a certain
|
||||
configuration. In this situation, Cantera can still be used to provide chemical
|
||||
and thermodynamic computations, but external ODE solvers can be applied. See
|
||||
In some cases, Cantera's solver is insufficient to describe a certain
|
||||
configuration. In this situation, Cantera can still be used to provide chemical
|
||||
and thermodynamic computations, but external ODE solvers can be applied. See
|
||||
example :ref:`py-example-custom.py`.
|
||||
|
||||
|
||||
|
|
@ -583,8 +583,8 @@ Literature
|
|||
|
||||
For further reading, the following books are recommended:
|
||||
|
||||
.. [KCG2003] Kee, Coltrin, Glarborg: *Chemically Reacting Flow*.
|
||||
.. [KCG2003] Kee, Coltrin, Glarborg: *Chemically Reacting Flow*.
|
||||
Wiley-Interscience, 2003
|
||||
|
||||
.. [Tur2000] Turns: *An Introduction to Combustion: Concepts and Applications*,
|
||||
.. [Tur2000] Turns: *An Introduction to Combustion: Concepts and Applications*,
|
||||
McGraw Hill, 2000
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@ class Edge :
|
|||
{
|
||||
public:
|
||||
Edge(const std::string& infile, std::string id, std::vector<ThermoPhase*> phases)
|
||||
: m_ok(false), m_r(0) {
|
||||
|
||||
: m_ok(false), m_r(0)
|
||||
{
|
||||
m_r = get_XML_File(infile);
|
||||
if (id == "-") {
|
||||
id = "";
|
||||
|
|
@ -45,5 +45,4 @@ protected:
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -15,12 +15,11 @@ class IdealGasMix :
|
|||
public GasKinetics
|
||||
{
|
||||
public:
|
||||
|
||||
IdealGasMix() : m_ok(false), m_r(0) {}
|
||||
|
||||
IdealGasMix(const std::string& infile, std::string id_="") :
|
||||
m_ok(false), m_r(0) {
|
||||
|
||||
m_ok(false), m_r(0)
|
||||
{
|
||||
m_r = get_XML_File(infile);
|
||||
m_id = id_;
|
||||
if (id_ == "-") {
|
||||
|
|
@ -32,7 +31,6 @@ public:
|
|||
"Cantera::buildSolutionFromXML returned false");
|
||||
}
|
||||
|
||||
|
||||
IdealGasMix(XML_Node& root,
|
||||
std::string id_) : m_ok(false), m_r(&root), m_id(id_) {
|
||||
m_ok = buildSolutionFromXML(root, id_, "phase", this, this);
|
||||
|
|
@ -56,7 +54,6 @@ public:
|
|||
return s;
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
bool m_ok;
|
||||
XML_Node* m_r;
|
||||
|
|
@ -64,5 +61,4 @@ protected:
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ class IncompressibleSolid : public ConstDensityThermo
|
|||
{
|
||||
public:
|
||||
IncompressibleSolid(const std::string& infile,
|
||||
std::string id="") : m_ok(false), m_r(0) {
|
||||
|
||||
std::string id="") : m_ok(false), m_r(0)
|
||||
{
|
||||
m_r = get_XML_File(infile);
|
||||
if (id == "-") {
|
||||
id = "";
|
||||
|
|
@ -36,5 +36,4 @@ protected:
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -11,8 +11,8 @@ namespace Cantera
|
|||
class Metal : public MetalPhase
|
||||
{
|
||||
public:
|
||||
Metal(const std::string& infile, std::string id="") : m_ok(false), m_r(0) {
|
||||
|
||||
Metal(const std::string& infile, std::string id="") : m_ok(false), m_r(0)
|
||||
{
|
||||
m_r = get_XML_File(infile);
|
||||
if (id == "-") {
|
||||
id = "";
|
||||
|
|
@ -35,5 +35,4 @@ protected:
|
|||
};
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
*/
|
||||
// Copyright 2001 California Institute of Technology
|
||||
|
||||
|
||||
#ifndef CT_ARRAY_H
|
||||
#define CT_ARRAY_H
|
||||
|
||||
|
|
@ -251,7 +250,6 @@ public:
|
|||
return value(i,j);
|
||||
}
|
||||
|
||||
|
||||
//! Allows retrieving elements using the syntax x = A(i,j).
|
||||
/*!
|
||||
* @param i Index for the row to be retrieved
|
||||
|
|
|
|||
|
|
@ -52,11 +52,9 @@ protected:
|
|||
virtual void deleteFactory() = 0 ;
|
||||
|
||||
private:
|
||||
|
||||
//! statically held list of Factories.
|
||||
static std::vector<FactoryBase*> s_vFactoryRegistry ;
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ namespace Cantera
|
|||
* An example of how to use the timer is given below. timeToDoCalcs
|
||||
* contains the wall clock time calculated for the operation.
|
||||
*
|
||||
*
|
||||
* @code
|
||||
* clockWC wc;
|
||||
* do_hefty_calculations_atLeastgreaterThanAMillisecond();
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ typedef double doublereal; // Fortran double precision
|
|||
typedef int integer; // Fortran integer
|
||||
typedef int ftnlen; // Fortran hidden string length type
|
||||
|
||||
|
||||
// Fortran compilers pass character strings in argument lists by
|
||||
// adding a hidden argument with the length of the string. Some
|
||||
// compilers add the hidden length argument immediately after the
|
||||
|
|
@ -42,7 +41,6 @@ typedef int ftnlen; // Fortran hidden string length type
|
|||
// Visual Fortran under Windows.
|
||||
#define STRING_LEN_AT_END
|
||||
|
||||
|
||||
// Define this if Fortran adds a trailing underscore to names in object files.
|
||||
// For linux and most unix systems, this is the case.
|
||||
%(FTN_TRAILING_UNDERSCORE)s
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@
|
|||
#ifdef THREAD_SAFE_CANTERA
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/thread/mutex.hpp>
|
||||
|
||||
#endif
|
||||
|
||||
namespace Cantera
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ namespace Cantera
|
|||
class Logger
|
||||
{
|
||||
public:
|
||||
|
||||
//! Constructor - empty
|
||||
Logger() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,6 @@ compositionMap parseCompString(const std::string& ss,
|
|||
* atoi() is used.
|
||||
*
|
||||
* @param val String value of the integer
|
||||
*
|
||||
* @return Returns an integer
|
||||
*/
|
||||
int intValue(const std::string& val);
|
||||
|
|
@ -111,7 +110,6 @@ int intValue(const std::string& val);
|
|||
* No error checking is done on the conversion.
|
||||
*
|
||||
* @param val String value of the double
|
||||
*
|
||||
* @return Returns a doublereal value
|
||||
*/
|
||||
doublereal fpValue(const std::string& val);
|
||||
|
|
@ -171,7 +169,6 @@ std::string wrapString(const std::string& s,
|
|||
* Example: "1.0 atm" results in the number 1.01325e5.
|
||||
*
|
||||
* @param strSI string to be converted. One or two tokens
|
||||
*
|
||||
* @return returns a converted double
|
||||
*/
|
||||
doublereal strSItoDbl(const std::string& strSI);
|
||||
|
|
|
|||
|
|
@ -42,7 +42,6 @@ template<class T> struct timesConstant : public std::unary_function<T, double> {
|
|||
/*!
|
||||
* @param x Variable of templated type T that will be
|
||||
* used in the multiplication operator
|
||||
*
|
||||
* @return Returns a value of type double from the internal
|
||||
* multiplication
|
||||
*/
|
||||
|
|
@ -71,7 +70,6 @@ inline doublereal dot4(const V& x, const V& y)
|
|||
return x[0]*y[0] + x[1]*y[1] + x[2]*y[2] + x[3]*y[3];
|
||||
}
|
||||
|
||||
|
||||
//! Templated Inner product of two vectors of length 5
|
||||
/*!
|
||||
* If either \a x
|
||||
|
|
@ -342,7 +340,6 @@ inline void scatter_copy(InputIter begin, InputIter end,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//! Multiply selected elements in an array by a contiguous
|
||||
//! sequence of multipliers.
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@ public:
|
|||
* @param aline This is the input string to be searched
|
||||
* @param rstring Return value of the string that is found.
|
||||
* The quotes are stripped from the string.
|
||||
*
|
||||
* @return Returns the integer position just after
|
||||
* the quoted string.
|
||||
*/
|
||||
|
|
@ -103,7 +102,6 @@ public:
|
|||
//! Constructor for XML_Node, representing a tree structure
|
||||
/*!
|
||||
* @param nm Name of the node.
|
||||
*
|
||||
* @param parent Pointer to the parent for this node in the tree.
|
||||
* A value of 0 indicates this is the top of the tree.
|
||||
*/
|
||||
|
|
@ -128,7 +126,6 @@ public:
|
|||
* There is no copy made of the child node. The child node should not be deleted in the future
|
||||
*
|
||||
* @param node Reference to a child XML_Node object
|
||||
*
|
||||
* @return Returns a reference to the added child node
|
||||
*/
|
||||
XML_Node& mergeAsChild(XML_Node& node);
|
||||
|
|
@ -140,7 +137,6 @@ public:
|
|||
* A copy is made of the underlying tree
|
||||
*
|
||||
* @param node Reference to a child XML_Node object
|
||||
*
|
||||
* @return returns a reference to the added node
|
||||
*/
|
||||
XML_Node& addChild(const XML_Node& node);
|
||||
|
|
@ -151,7 +147,6 @@ public:
|
|||
* The node will be blank except for the specified name.
|
||||
*
|
||||
* @param sname Name of the new child
|
||||
*
|
||||
* @return Returns a reference to the added node
|
||||
*/
|
||||
XML_Node& addChild(const std::string& sname);
|
||||
|
|
@ -182,7 +177,6 @@ public:
|
|||
* @param name Name of the child XML_Node object
|
||||
* @param value Value of the XML_Node - double.
|
||||
* @param fmt Format of the output for value
|
||||
*
|
||||
* @return Returns a reference to the created child XML_Node object
|
||||
*/
|
||||
XML_Node& addChild(const std::string& name, const doublereal value,
|
||||
|
|
@ -298,7 +292,6 @@ public:
|
|||
* an attribute with that name.
|
||||
*
|
||||
* @param attr attribute string to look up
|
||||
*
|
||||
* @return Returns a string representing the value of the attribute
|
||||
* within the XML node. If there is no attribute
|
||||
* with the given name, it returns the null string.
|
||||
|
|
@ -312,7 +305,6 @@ public:
|
|||
* string. If no match is found, the empty string is returned.
|
||||
*
|
||||
* @param attr String containing the attribute to be searched for.
|
||||
*
|
||||
* @return Returns If a match is found, the attribute value is returned
|
||||
* as a string. If no match is found, the empty string is
|
||||
* returned.
|
||||
|
|
@ -359,7 +351,6 @@ public:
|
|||
//! Sets the pointer for the parent node of the current node
|
||||
/*!
|
||||
* @param p Pointer to the parent node
|
||||
*
|
||||
* @return Returns the pointer p
|
||||
*/
|
||||
XML_Node* setParent(XML_Node* const p);
|
||||
|
|
@ -367,7 +358,6 @@ public:
|
|||
//! Tests whether the current node has a child node with a particular name
|
||||
/*!
|
||||
* @param ch Name of the child node to test
|
||||
*
|
||||
* @return Returns true if the child node exists, false otherwise.
|
||||
*/
|
||||
bool hasChild(const std::string& ch) const;
|
||||
|
|
@ -375,7 +365,6 @@ public:
|
|||
//! Tests whether the current node has an attribute with a particular name
|
||||
/*!
|
||||
* @param a Name of the attribute to test
|
||||
*
|
||||
* @return Returns true if the attribute exists, false otherwise.
|
||||
*/
|
||||
bool hasAttrib(const std::string& a) const;
|
||||
|
|
@ -398,8 +387,7 @@ public:
|
|||
|
||||
//! Return the id attribute, if present
|
||||
/*!
|
||||
* Returns the id attribute if present. If not
|
||||
* it return the empty string
|
||||
* Returns the id attribute if present. If not it return the empty string
|
||||
*/
|
||||
std::string id() const;
|
||||
|
||||
|
|
@ -413,7 +401,6 @@ public:
|
|||
/*!
|
||||
* Each of the individual XML_Node child pointers, however,
|
||||
* is to a changeable XML node object.
|
||||
*
|
||||
*/
|
||||
const std::vector<XML_Node*>& children() const;
|
||||
|
||||
|
|
@ -450,7 +437,6 @@ public:
|
|||
* @param nameTarget Name of the XML Node that is being searched for
|
||||
* @param idTarget "id" attribute of the XML Node that the routine
|
||||
* looks for
|
||||
*
|
||||
* @return Returns the pointer to the XML node that fits the criteria
|
||||
*
|
||||
* @internal
|
||||
|
|
@ -476,7 +462,6 @@ public:
|
|||
* looks for
|
||||
* @param index Integer describing the index. The index is an
|
||||
* attribute of the form index = "3"
|
||||
*
|
||||
* @return Returns the pointer to the XML node that fits the criteria
|
||||
*/
|
||||
XML_Node* findNameIDIndex(const std::string& nameTarget,
|
||||
|
|
@ -495,7 +480,6 @@ public:
|
|||
* @param id "id" attribute of the XML Node that the routine
|
||||
* looks for
|
||||
* @param depth Depth of the search.
|
||||
*
|
||||
* @return Returns the pointer to the XML node that fits the criteria
|
||||
*
|
||||
* @internal
|
||||
|
|
@ -511,12 +495,10 @@ public:
|
|||
* the attribute, the pointer to the matching XML Node is returned. If
|
||||
* not, 0 is returned.
|
||||
*
|
||||
* @param attr Attribute of the XML Node that the routine
|
||||
* looks for
|
||||
* @param attr Attribute of the XML Node that the routine looks for
|
||||
* @param val Value of the attribute
|
||||
* @param depth Depth of the search. A value of 1 means that only the
|
||||
* immediate children are searched.
|
||||
*
|
||||
* @return Returns the pointer to the XML node that fits the criteria
|
||||
*/
|
||||
XML_Node* findByAttr(const std::string& attr, const std::string& val,
|
||||
|
|
@ -532,7 +514,6 @@ public:
|
|||
* @param nm Name of the XML node
|
||||
* @param depth Depth of the search. A value of 1 means that only the
|
||||
* immediate children are searched.
|
||||
*
|
||||
* @return Returns the pointer to the XML node that fits the criteria
|
||||
*/
|
||||
const XML_Node* findByName(const std::string& nm, int depth = 100000) const;
|
||||
|
|
@ -547,7 +528,6 @@ public:
|
|||
* @param nm Name of the XML node
|
||||
* @param depth Depth of the search. A value of 1 means that only the
|
||||
* immediate children are searched.
|
||||
*
|
||||
* @return Returns the pointer to the XML node that fits the criteria
|
||||
*/
|
||||
XML_Node* findByName(const std::string& nm, int depth = 100000);
|
||||
|
|
@ -589,8 +569,7 @@ public:
|
|||
|
||||
//! Return the root of the current XML_Node tree
|
||||
/*!
|
||||
* Returns a reference to the root of the current
|
||||
* XML tree
|
||||
* Returns a reference to the root of the current XML tree
|
||||
*/
|
||||
XML_Node& root() const;
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ class PropertyCalculator;
|
|||
|
||||
/**
|
||||
* @defgroup equil Chemical Equilibrium
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
@ -146,9 +145,7 @@ public:
|
|||
*/
|
||||
EquilOpt options;
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
//! Pointer to the ThermoPhase object used to initialize this object.
|
||||
/*!
|
||||
* This ThermoPhase object must be compatible with the ThermoPhase
|
||||
|
|
|
|||
|
|
@ -155,8 +155,7 @@ public:
|
|||
* fractions into array \c x. The mole fractions are
|
||||
* normalized to sum to one in each phase.
|
||||
*
|
||||
* @param x vector of mole fractions.
|
||||
* Length = number of global species.
|
||||
* @param x vector of mole fractions. Length = number of global species.
|
||||
*/
|
||||
void getMoleFractions(doublereal* const x) const;
|
||||
|
||||
|
|
@ -238,7 +237,6 @@ public:
|
|||
* @param phaseName Phase Name
|
||||
*
|
||||
* @return returns the global index
|
||||
*
|
||||
* If the species or phase name is not recognized, this routine throws
|
||||
* a CanteraError.
|
||||
*/
|
||||
|
|
@ -318,10 +316,8 @@ public:
|
|||
*
|
||||
* @param not_mu Value of the chemical potential to set species in phases,
|
||||
* for which the thermo data is not valid
|
||||
*
|
||||
* @param mu Vector of chemical potentials. length = Global species,
|
||||
* units = J kmol-1
|
||||
*
|
||||
* @param standard If this method is called with \a standard set to true,
|
||||
* then the composition-independent standard chemical
|
||||
* potentials are returned instead of the composition-
|
||||
|
|
@ -442,7 +438,6 @@ public:
|
|||
//! Returns the phase index of the Kth "global" species
|
||||
/*!
|
||||
* @param kGlob Global species index.
|
||||
*
|
||||
* @return Returns the index of the owning phase.
|
||||
*/
|
||||
size_t speciesPhaseIndex(const size_t kGlob) const;
|
||||
|
|
@ -735,8 +730,7 @@ inline std::ostream& operator<<(std::ostream& s, MultiPhase& x)
|
|||
* reaction matrix based on the calculated component species. If
|
||||
* false, this step is skipped.
|
||||
* @param[out] usedZeroedSpecies = If true, then a species with a zero
|
||||
* concentration was used as a component. The problem may be
|
||||
* converged.
|
||||
* concentration was used as a component. The problem may be converged.
|
||||
* @param[out] formRxnMatrix
|
||||
* @return The number of components.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -493,7 +493,6 @@ public:
|
|||
//! Returns the type of the species unknown
|
||||
/*!
|
||||
* @param k species index
|
||||
*
|
||||
* @return the SpeciesUnknownType[k] = type of species
|
||||
* - Normal -> VCS_SPECIES_TYPE_MOLUNK (unknown is the mole number in
|
||||
* the phase)
|
||||
|
|
@ -890,7 +889,6 @@ private:
|
|||
//! Return a string representing the equation of state
|
||||
/*!
|
||||
* @param EOSType : integer value of the equation of state
|
||||
*
|
||||
* @return returns a string representing the EOS. The string is no more than 16 characters.
|
||||
*/
|
||||
std::string string16_EOSType(int EOSType);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ namespace Cantera
|
|||
{
|
||||
/*!
|
||||
* ERROR CODES
|
||||
*
|
||||
*/
|
||||
//@{
|
||||
#define VCS_SUCCESS 0
|
||||
|
|
@ -30,7 +29,6 @@ namespace Cantera
|
|||
|
||||
/*!
|
||||
* @name Type of the underlying equilibrium solve
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
|
||||
|
|
@ -93,7 +91,6 @@ namespace Cantera
|
|||
|
||||
/*!
|
||||
* @name State of Dimensional Units for Gibbs free energies
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
//! nondimensional
|
||||
|
|
@ -336,7 +333,6 @@ namespace Cantera
|
|||
|
||||
/*!
|
||||
* @name Types of Species Unknowns in the problem
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
//! Unknown refers to mole number of a single species
|
||||
|
|
|
|||
|
|
@ -298,7 +298,6 @@ public:
|
|||
* @param elNameNew New name of the element
|
||||
* @param elType Type of the element
|
||||
* @param elactive boolean indicating whether the element is active
|
||||
*
|
||||
* @return returns the index number of the new element
|
||||
*/
|
||||
size_t addElement(const char* elNameNew, int elType, int elactive);
|
||||
|
|
|
|||
|
|
@ -77,7 +77,6 @@ public:
|
|||
*
|
||||
* Input:
|
||||
* @param vprob Object containing the equilibrium Problem statement
|
||||
*
|
||||
* @param ifunc Determines the operation to be done: Valid values:
|
||||
* 0 -> Solve a new problem by initializing structures
|
||||
* first. An initial estimate may or may not have
|
||||
|
|
@ -90,14 +89,12 @@ public:
|
|||
* the VCS_PROB structure.
|
||||
* 2 -> Don't solve a problem. Destroy all the private
|
||||
* structures.
|
||||
*
|
||||
* @param ipr Printing of results
|
||||
* ipr = 1 -> Print problem statement and final results to
|
||||
* standard output
|
||||
* 0 -> don't report on anything
|
||||
* @param ip1 Printing of intermediate results
|
||||
* IP1 = 1 -> Print intermediate results.
|
||||
*
|
||||
* @param maxit Maximum number of iterations for the algorithm
|
||||
*
|
||||
* Output:
|
||||
|
|
@ -122,7 +119,6 @@ public:
|
|||
* 0 -> don't report on anything
|
||||
* @param printDetails 1 -> Print intermediate results.
|
||||
* @param maxit Maximum number of iterations for the algorithm
|
||||
*
|
||||
* @return
|
||||
* * 0 = Equilibrium Achieved
|
||||
* * 1 = Range space error encountered. The element abundance criteria
|
||||
|
|
@ -169,10 +165,8 @@ public:
|
|||
*
|
||||
* @param[in] doJustComponents If true, the m_stoichCoeffRxnMatrix and
|
||||
* m_deltaMolNumPhase are not calculated.
|
||||
*
|
||||
* @param[in] aw Vector of mole fractions which will be used to construct an
|
||||
* optimal basis from.
|
||||
*
|
||||
* @param[in] sa Gram-Schmidt orthog work space (nc in length) sa[j]
|
||||
* @param[in] ss Gram-Schmidt orthog work space (nc in length) ss[j]
|
||||
* @param[in] sm QR matrix work space (nc*ne in length) sm[i+j*ne]
|
||||
|
|
@ -222,7 +216,6 @@ public:
|
|||
* All evaluations are done using the "old" version of the solution.
|
||||
*
|
||||
* @param kspec Species to be evaluated
|
||||
*
|
||||
* @return Returns the calculated species type
|
||||
*/
|
||||
int vcs_species_type(const size_t kspec) const;
|
||||
|
|
@ -354,9 +347,8 @@ public:
|
|||
* for the input mole vector z[] in the parameter list.
|
||||
* Nondimensionalization is achieved by division by RT.
|
||||
*
|
||||
* Note, for multispecies phases which are currently zeroed out,
|
||||
* the chemical potential is filled out with the standard chemical
|
||||
* potential.
|
||||
* Note, for multispecies phases which are currently zeroed out, the
|
||||
* chemical potential is filled out with the standard chemical potential.
|
||||
*
|
||||
* For species in multispecies phases whose concentration is zero, we need
|
||||
* to set the mole fraction to a very low value. Its chemical potential is
|
||||
|
|
@ -462,7 +454,6 @@ public:
|
|||
* are increased.
|
||||
*
|
||||
* @param iphasePop id of the phase, which is currently zeroed,
|
||||
*
|
||||
* @return Returns true if the phase can come into existence
|
||||
* and false otherwise.
|
||||
*/
|
||||
|
|
@ -481,7 +472,6 @@ public:
|
|||
/*!
|
||||
* @param phasePopPhaseIDs Vector containing the phase ids of the phases
|
||||
* that will be popped this step.
|
||||
*
|
||||
* @return returns the phase id of the phase that pops back into
|
||||
* existence. Returns -1 if there are no phases
|
||||
*/
|
||||
|
|
@ -495,7 +485,6 @@ public:
|
|||
* for species irxn + M, where M is the number of components.
|
||||
*
|
||||
* @param iphasePop Phase id of the phase that will come into existence
|
||||
*
|
||||
* @return Returns an int representing the status of the step
|
||||
* - 0 : normal return
|
||||
* - 1 : A single species phase species has been zeroed out
|
||||
|
|
@ -523,7 +512,6 @@ public:
|
|||
* @param forceComponentCalc integer flagging whether a component
|
||||
* recalculation needs to be carried out.
|
||||
* @param kSpecial species number of phase being zeroed.
|
||||
*
|
||||
* @return Returns an int representing which phase may need to be zeroed
|
||||
*/
|
||||
size_t vcs_RxnStepSizes(int& forceComponentCalc, size_t& kSpecial);
|
||||
|
|
@ -640,7 +628,6 @@ public:
|
|||
* report on anything
|
||||
* @param printDetails 1 -> Print intermediate results.
|
||||
* @param maxit Maximum number of iterations for the algorithm
|
||||
*
|
||||
* @return
|
||||
* - 0 = Equilibrium Achieved
|
||||
* - 1 = Range space error encountered. The element abundance criteria are
|
||||
|
|
@ -676,7 +663,6 @@ public:
|
|||
* @param maxit Maximum number of iterations for the algorithm
|
||||
* @param T Value of the Temperature (Kelvin)
|
||||
* @param pres Value of the Pressure (units given by m_VCS_UnitsFormat variable
|
||||
*
|
||||
* @return Returns an integer representing the success of the algorithm
|
||||
* * 0 = Equilibrium Achieved
|
||||
* * 1 = Range space error encountered. The element abundance criteria are
|
||||
|
|
@ -788,7 +774,6 @@ public:
|
|||
*
|
||||
* @param vprob VCS_PROB pointer to the definition of the equilibrium
|
||||
* problem
|
||||
*
|
||||
* @return If true, the problem is well-posed. If false, the problem
|
||||
* is not well posed.
|
||||
*/
|
||||
|
|
@ -903,7 +888,6 @@ public:
|
|||
*
|
||||
* @param irxn Reaction number
|
||||
* @param dx_orig Original step length
|
||||
*
|
||||
* @param ANOTE Output character string stating the conclusions of the
|
||||
* line search
|
||||
* @return Returns the optimized step length found by the search
|
||||
|
|
@ -1052,7 +1036,6 @@ public:
|
|||
* lots of special cases and problems with zeroing out species.
|
||||
*
|
||||
* Still need to check out when we do loops over nc vs. ne.
|
||||
*
|
||||
*/
|
||||
int vcs_elcorr(double aa[], double x[]);
|
||||
|
||||
|
|
@ -1176,7 +1159,6 @@ private:
|
|||
* loop.
|
||||
*
|
||||
* @param iph Phase to be deleted
|
||||
*
|
||||
* @return Returns whether the operation was successful or not
|
||||
*/
|
||||
bool vcs_delete_multiphase(const size_t iph);
|
||||
|
|
@ -1189,7 +1171,6 @@ private:
|
|||
* @param kspec The species index
|
||||
* @param delta_ptr pointer to the delta for the species. This may
|
||||
* change during the calculation
|
||||
*
|
||||
* @return
|
||||
* 1: succeeded without change of dx
|
||||
* 0: Had to adjust dx, perhaps to zero, in order to do the delta.
|
||||
|
|
@ -1223,7 +1204,6 @@ private:
|
|||
* Also, if the phase exists, then we check to see if the species
|
||||
* can have a mole number larger than VCS_DELETE_SPECIES_CUTOFF
|
||||
* (default value = 1.0E-32).
|
||||
*
|
||||
*/
|
||||
int vcs_recheck_deleted();
|
||||
|
||||
|
|
@ -1253,7 +1233,6 @@ private:
|
|||
* phases. It's an overkill for single species phases.
|
||||
*
|
||||
* @param iphase Phase index number
|
||||
*
|
||||
* @return Returns true if the phase is currently deleted
|
||||
* but should be reinstated. Returns false otherwise.
|
||||
*
|
||||
|
|
@ -1382,7 +1361,6 @@ private:
|
|||
* totalNumSpecies) Note this is only partially formed. Only
|
||||
* species in phases that participate in the reaction will be
|
||||
* updated
|
||||
*
|
||||
* @return Returns the dimensionless deltaG of the reaction
|
||||
*/
|
||||
double deltaG_Recalc_Rxn(const int stateCalc,
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ public:
|
|||
|
||||
virtual void setMultiplier(size_t i, double f);
|
||||
|
||||
|
||||
protected:
|
||||
virtual void addElementaryReaction(ElementaryReaction& r);
|
||||
virtual void modifyElementaryReaction(size_t i, ElementaryReaction& rNew);
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ public:
|
|||
* @param work array of size workSize() containing cached
|
||||
* temperature-dependent intermediate results from a prior call
|
||||
* to updateTemp.
|
||||
*
|
||||
* @return Returns the value of the falloff function \f$ F \f$ defined above
|
||||
*/
|
||||
virtual doublereal F(doublereal pr, const doublereal* work) const {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
/**
|
||||
* @file GasKinetics.h
|
||||
*
|
||||
* @ingroup chemkinetics
|
||||
*/
|
||||
|
||||
|
|
@ -86,7 +85,7 @@ protected:
|
|||
//! Rate expressions for falloff reactions at the high-pressure limit
|
||||
Rate1<Arrhenius> m_falloff_high_rates;
|
||||
|
||||
FalloffMgr m_falloffn;
|
||||
FalloffMgr m_falloffn;
|
||||
|
||||
ThirdBodyCalc m_3b_concm;
|
||||
ThirdBodyCalc m_falloff_concm;
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ public:
|
|||
*
|
||||
* @param ifuncOverride One of the values defined in @ref solvesp_methods.
|
||||
* The default is -1, which means that the program will decide.
|
||||
*
|
||||
* @param timeScaleOverride When a pseudo transient is
|
||||
* selected this value can be used to override
|
||||
* the default time scale for integration which
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
/**
|
||||
* @file InterfaceKinetics.h
|
||||
*
|
||||
* @ingroup chemkinetics
|
||||
*/
|
||||
// Copyright 2001 California Institute of Technology
|
||||
|
|
|
|||
|
|
@ -124,7 +124,6 @@ namespace Cantera
|
|||
*/
|
||||
class Kinetics
|
||||
{
|
||||
|
||||
public:
|
||||
/**
|
||||
* @name Constructors and General Information about Mechanism
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@ public:
|
|||
* @param th Vector of phases. The first phase is the phase in which
|
||||
* the reactions occur, and the subsequent phases (if any)
|
||||
* are e.g. bulk phases adjacent to a reacting surface.
|
||||
*
|
||||
* @return Pointer to the new kinetics manager.
|
||||
*/
|
||||
virtual Kinetics* newKinetics(XML_Node& phase, std::vector<ThermoPhase*> th);
|
||||
|
|
|
|||
|
|
@ -19,9 +19,7 @@ namespace Cantera
|
|||
template<class R>
|
||||
class Rate1
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
Rate1() {}
|
||||
virtual ~Rate1() {}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
/**
|
||||
* @file ReactionPath.h
|
||||
*
|
||||
* Classes for reaction path analysis.
|
||||
*/
|
||||
|
||||
|
|
@ -95,9 +94,8 @@ public:
|
|||
virtual ~Path() {}
|
||||
|
||||
/**
|
||||
* Add a reaction to the path. Increment the flow from this
|
||||
* reaction, the total flow, and the flow associated with this
|
||||
* label.
|
||||
* Add a reaction to the path. Increment the flow from this reaction, the
|
||||
* total flow, and the flow associated with this label.
|
||||
*/
|
||||
void addReaction(size_t rxnNumber, doublereal value,
|
||||
const std::string& label = "");
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
/**
|
||||
* @file RxnRates.h
|
||||
*
|
||||
*/
|
||||
// Copyright 2001 California Institute of Technology
|
||||
|
||||
|
||||
#ifndef CT_RXNRATES_H
|
||||
#define CT_RXNRATES_H
|
||||
|
||||
|
|
@ -26,7 +24,6 @@ class Array2D;
|
|||
* \f[
|
||||
* k_f = A T^b \exp (-E/RT)
|
||||
* \f]
|
||||
*
|
||||
*/
|
||||
class Arrhenius
|
||||
{
|
||||
|
|
@ -148,9 +145,8 @@ public:
|
|||
/**
|
||||
* Update the value the rate constant.
|
||||
*
|
||||
* This function returns the actual value of the rate constant.
|
||||
* It can be safely called for negative values of the pre-exponential
|
||||
* factor.
|
||||
* This function returns the actual value of the rate constant. It can be
|
||||
* safely called for negative values of the pre-exponential factor.
|
||||
*/
|
||||
doublereal updateRC(doublereal logT, doublereal recipT) const {
|
||||
return m_A * std::exp(std::log(10.0)*m_acov + m_b*logT -
|
||||
|
|
|
|||
|
|
@ -123,7 +123,6 @@ namespace Cantera
|
|||
* real stoichiometric coefficients are used. Shouldn't be that
|
||||
* hard to do, and they occur in engineering simulations with some
|
||||
* regularity.
|
||||
*
|
||||
*/
|
||||
|
||||
static doublereal ppow(doublereal x, doublereal order)
|
||||
|
|
@ -395,7 +394,6 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
|
||||
//! Length of the m_ic vector
|
||||
/*!
|
||||
* This is the number of species which participate in the reaction order
|
||||
|
|
|
|||
|
|
@ -86,14 +86,12 @@ bool importKinetics(const XML_Node& phase, std::vector<ThermoPhase*> th,
|
|||
*
|
||||
* @param root pointer to the XML tree which will be searched to find the
|
||||
* XML phase element.
|
||||
*
|
||||
* @param id Name of the phase to be searched for.
|
||||
* @param nm Name of the XML element. Should be "phase"
|
||||
* @param th Pointer to a bare ThermoPhase object, which will be initialized
|
||||
* by this operation.
|
||||
* @param kin Pointer to a bare Kinetics object, which will be initialized
|
||||
* by this operation to a homogeneous kinetics manager
|
||||
*
|
||||
* @return
|
||||
* Returns true if all went well. If there are errors, it will return false.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -91,9 +91,6 @@ const int BUTLERVOLMER_RXN = 26;
|
|||
//! form dependence on delta G of reaction.
|
||||
const int SURFACEAFFINITY_RXN = 27;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* A reaction occurring at a one-dimensional interface between two surface phases.
|
||||
* NOTE: This is a bit ambiguous, and will be taken out in the future
|
||||
|
|
|
|||
|
|
@ -146,7 +146,6 @@ public:
|
|||
/*!
|
||||
* @param surfChemPtr Pointer to the ImplicitSurfChem object that
|
||||
* defines the surface problem to be solved.
|
||||
*
|
||||
* @param bulkFunc Integer representing how the bulk phases should be
|
||||
* handled. See @ref solvesp_bulkFunc. Currently,
|
||||
* only the default value of BULK_ETCH is supported.
|
||||
|
|
@ -176,17 +175,12 @@ public:
|
|||
*
|
||||
* @param ifunc Determines the type of solution algorithm to be used. See
|
||||
* @ref solvesp_methods for possible values.
|
||||
*
|
||||
* @param time_scale Time over which to integrate the surface equations,
|
||||
* where applicable
|
||||
*
|
||||
* @param TKelvin Temperature (kelvin)
|
||||
*
|
||||
* @param PGas Pressure (pascals)
|
||||
*
|
||||
* @param reltol Relative tolerance to use
|
||||
* @param abstol absolute tolerance.
|
||||
*
|
||||
* @return Returns 1 if the surface problem is successfully solved.
|
||||
* Returns -1 if the surface problem wasn't solved successfully.
|
||||
* Note the actual converged solution is returned as part of the
|
||||
|
|
|
|||
|
|
@ -32,9 +32,7 @@ namespace Cantera
|
|||
*/
|
||||
class BandMatrix : public GeneralMatrix
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//! Base Constructor
|
||||
/*!
|
||||
* * Create an \c 0 by \c 0 matrix, and initialize all elements to \c 0.
|
||||
|
|
@ -91,7 +89,6 @@ public:
|
|||
*
|
||||
* @param i row
|
||||
* @param j column
|
||||
*
|
||||
* @return Returns a reference to the value of the matrix entry
|
||||
*/
|
||||
doublereal& value(size_t i, size_t j);
|
||||
|
|
@ -101,7 +98,6 @@ public:
|
|||
* This method does not alter the array.
|
||||
* @param i row
|
||||
* @param j column
|
||||
*
|
||||
* @return Returns the value of the matrix entry
|
||||
*/
|
||||
doublereal value(size_t i, size_t j) const;
|
||||
|
|
@ -110,7 +106,6 @@ public:
|
|||
/*!
|
||||
* @param i row
|
||||
* @param j column
|
||||
*
|
||||
* @return Returns the index of the matrix entry
|
||||
*/
|
||||
size_t index(size_t i, size_t j) const;
|
||||
|
|
@ -122,7 +117,6 @@ public:
|
|||
*
|
||||
* @param i row
|
||||
* @param j column
|
||||
*
|
||||
* @return Returns the value of the matrix entry
|
||||
*/
|
||||
doublereal _value(size_t i, size_t j) const;
|
||||
|
|
@ -134,7 +128,6 @@ public:
|
|||
* @param iStruct OUTPUT Pointer to a vector of ints that describe the structure of the matrix.
|
||||
* istruct[0] = kl
|
||||
* istruct[1] = ku
|
||||
*
|
||||
* @return returns the number of rows and columns in the matrix.
|
||||
*/
|
||||
virtual size_t nRowsAndStruct(size_t* const iStruct = 0) const;
|
||||
|
|
@ -172,7 +165,6 @@ public:
|
|||
/*!
|
||||
* @param b INPUT RHS of the problem
|
||||
* @param x OUTPUT solution to the problem
|
||||
*
|
||||
* @return Return a success flag
|
||||
* 0 indicates a success
|
||||
* ~0 Some error occurred, see the LAPACK documentation
|
||||
|
|
@ -185,7 +177,6 @@ public:
|
|||
* OUTPUT solution to the problem
|
||||
* @param nrhs Number of right hand sides to solve
|
||||
* @param ldb Leading dimension of `b`. Default is nColumns()
|
||||
*
|
||||
* @return Return a success flag
|
||||
* 0 indicates a success
|
||||
* ~0 Some error occurred, see the LAPACK documentation
|
||||
|
|
@ -223,7 +214,6 @@ public:
|
|||
* The matrix must have been previously factored using the LU algorithm
|
||||
*
|
||||
* @param a1norm Norm of the matrix
|
||||
*
|
||||
* @return returns the inverse of the condition number
|
||||
*/
|
||||
virtual doublereal rcond(doublereal a1norm);
|
||||
|
|
@ -255,7 +245,6 @@ public:
|
|||
* double a_i_j = colP_j[kl + ku + i - j];
|
||||
*
|
||||
* @param j Value of the column
|
||||
*
|
||||
* @return Returns a pointer to the top of the column
|
||||
*/
|
||||
virtual doublereal* ptrColumn(size_t j);
|
||||
|
|
@ -276,7 +265,6 @@ public:
|
|||
* The smallest row is returned along with the largest coefficient in that row
|
||||
*
|
||||
* @param valueSmall OUTPUT value of the largest coefficient in the smallest row
|
||||
*
|
||||
* @return index of the row that is most nearly zero
|
||||
*/
|
||||
virtual size_t checkRows(doublereal& valueSmall) const;
|
||||
|
|
@ -287,13 +275,11 @@ public:
|
|||
* The smallest column is returned along with the largest coefficient in that column
|
||||
*
|
||||
* @param valueSmall OUTPUT value of the largest coefficient in the smallest column
|
||||
*
|
||||
* @return index of the column that is most nearly zero
|
||||
*/
|
||||
virtual size_t checkColumns(doublereal& valueSmall) const;
|
||||
|
||||
protected:
|
||||
|
||||
//! Matrix data
|
||||
vector_fp data;
|
||||
|
||||
|
|
|
|||
|
|
@ -116,7 +116,6 @@ private:
|
|||
//! Indicates whether the sensitivities stored in m_yS have been updated
|
||||
//! for at the current integrator time.
|
||||
bool m_sens_ok;
|
||||
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
|
|
|||
|
|
@ -60,14 +60,12 @@ const int cDirect = 0;
|
|||
const int cKrylov = 1;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Wrapper for DAE solvers
|
||||
*/
|
||||
class DAE_Solver
|
||||
{
|
||||
public:
|
||||
|
||||
DAE_Solver(ResidJacEval& f) :
|
||||
m_resid(f),
|
||||
m_neq(f.nEquations()),
|
||||
|
|
@ -237,16 +235,13 @@ public:
|
|||
}
|
||||
|
||||
protected:
|
||||
|
||||
doublereal m_dummy;
|
||||
|
||||
ResidJacEval& m_resid;
|
||||
|
||||
//! Number of total equations in the system
|
||||
integer m_neq;
|
||||
doublereal m_time;
|
||||
|
||||
|
||||
private:
|
||||
void warn(const std::string& msg) const {
|
||||
writelog(">>>> Warning: method "+msg+" of base class "
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@
|
|||
|
||||
// Copyright 2001 California Institute of Technology
|
||||
|
||||
|
||||
#ifndef CT_DENSEMATRIX_H
|
||||
#define CT_DENSEMATRIX_H
|
||||
|
||||
|
|
@ -26,7 +25,6 @@ namespace Cantera
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
//! Exception thrown when an LAPACK error is encountered associated with inverting or solving a matrix
|
||||
/*!
|
||||
* A named error condition is used so that the calling code may differentiate this type of error
|
||||
|
|
@ -35,7 +33,6 @@ namespace Cantera
|
|||
class CELapackError : public CanteraError
|
||||
{
|
||||
public:
|
||||
|
||||
//! Constructor passes through to main Cantera error handler
|
||||
/*!
|
||||
* @param routine Name of calling routine
|
||||
|
|
@ -44,7 +41,6 @@ public:
|
|||
CELapackError(const std::string& routine, const std::string& msg) :
|
||||
CanteraError(routine + " LAPACK ERROR", msg) {
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
//! A class for full (non-sparse) matrices with Fortran-compatible
|
||||
|
|
|
|||
|
|
@ -35,8 +35,7 @@ const int ConstFuncType = 110;
|
|||
class TimesConstant1;
|
||||
|
||||
/**
|
||||
* Base class for 'functor' classes that evaluate a function of
|
||||
* one variable.
|
||||
* Base class for 'functor' classes that evaluate a function of one variable.
|
||||
*/
|
||||
class Func1
|
||||
{
|
||||
|
|
@ -85,7 +84,6 @@ public:
|
|||
|
||||
virtual std::string write(const std::string& arg) const;
|
||||
|
||||
|
||||
//! accessor function for the stored constant
|
||||
doublereal c() const;
|
||||
|
||||
|
|
@ -101,15 +99,12 @@ public:
|
|||
//! Return the order of the function, if it makes sense
|
||||
virtual int order() const;
|
||||
|
||||
|
||||
Func1& func1_dup() const;
|
||||
|
||||
|
||||
Func1& func2_dup() const;
|
||||
|
||||
Func1* parent() const;
|
||||
|
||||
|
||||
void setParent(Func1* p);
|
||||
|
||||
protected:
|
||||
|
|
@ -135,7 +130,6 @@ Func1& newPlusConstFunction(Func1& f1, doublereal c);
|
|||
class Sin1 : public Func1
|
||||
{
|
||||
public:
|
||||
|
||||
Sin1(doublereal omega = 1.0) :
|
||||
Func1() {
|
||||
m_c = omega;
|
||||
|
|
@ -312,7 +306,6 @@ public:
|
|||
};
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sum of two functions.
|
||||
*/
|
||||
|
|
@ -434,7 +427,6 @@ public:
|
|||
}
|
||||
|
||||
virtual std::string write(const std::string& arg) const;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -766,10 +758,8 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
//
|
||||
// The functors below are the old-style ones. They still work,
|
||||
// but can't do derivatives.
|
||||
//
|
||||
|
||||
/**
|
||||
* A Gaussian.
|
||||
|
|
@ -852,7 +842,6 @@ public:
|
|||
return *this;
|
||||
}
|
||||
|
||||
|
||||
virtual Func1& duplicate() const {
|
||||
Poly1* np = new Poly1(*this);
|
||||
return *((Func1*)np);
|
||||
|
|
@ -1045,5 +1034,4 @@ protected:
|
|||
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ public:
|
|||
* The matrix must have been previously factored using the LU algorithm
|
||||
*
|
||||
* @param a1norm Norm of the matrix
|
||||
*
|
||||
* @return returns the inverse of the condition number
|
||||
*/
|
||||
virtual doublereal rcond(doublereal a1norm) = 0;
|
||||
|
|
@ -124,7 +123,6 @@ public:
|
|||
//! Return the size and structure of the matrix
|
||||
/*!
|
||||
* @param iStruct OUTPUT Pointer to a vector of ints that describe the structure of the matrix.
|
||||
*
|
||||
* @return returns the number of rows and columns in the matrix.
|
||||
*/
|
||||
virtual size_t nRowsAndStruct(size_t* const iStruct = 0) const = 0;
|
||||
|
|
@ -151,7 +149,6 @@ public:
|
|||
//! Return a pointer to the top of column j, columns are assumed to be contiguous in memory
|
||||
/*!
|
||||
* @param j Value of the column
|
||||
*
|
||||
* @return Returns a pointer to the top of the column
|
||||
*/
|
||||
virtual doublereal* ptrColumn(size_t j) = 0;
|
||||
|
|
@ -202,7 +199,6 @@ public:
|
|||
* The smallest row is returned along with the largest coefficient in that row
|
||||
*
|
||||
* @param valueSmall OUTPUT value of the largest coefficient in the smallest row
|
||||
*
|
||||
* @return index of the row that is most nearly zero
|
||||
*/
|
||||
virtual size_t checkRows(doublereal& valueSmall) const = 0;
|
||||
|
|
@ -213,7 +209,6 @@ public:
|
|||
* The smallest column is returned along with the largest coefficient in that column
|
||||
*
|
||||
* @param valueSmall OUTPUT value of the largest coefficient in the smallest column
|
||||
*
|
||||
* @return index of the column that is most nearly zero
|
||||
*/
|
||||
virtual size_t checkColumns(doublereal& valueSmall) const = 0;
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ class ResidData; // forward reference
|
|||
class IDA_Solver : public DAE_Solver
|
||||
{
|
||||
public:
|
||||
|
||||
//! Constructor.
|
||||
/*!
|
||||
* Default settings: dense Jacobian, no user-supplied Jacobian function, Newton iteration.
|
||||
|
|
@ -97,9 +96,7 @@ public:
|
|||
|
||||
//! Set the form of the Jacobian
|
||||
/*!
|
||||
*
|
||||
* @param formJac Form of the Jacobian
|
||||
*
|
||||
* 0 numerical Jacobian
|
||||
* 1 analytical Jacobian given by the evalJacobianDP() function
|
||||
*/
|
||||
|
|
@ -136,7 +133,6 @@ public:
|
|||
//! Step the system to a final value of the time
|
||||
/*!
|
||||
* @param tout Final value of the time
|
||||
*
|
||||
* @return Returns the IDASolve() return flag
|
||||
*
|
||||
* The return values for IDASolve are described below.
|
||||
|
|
|
|||
|
|
@ -202,13 +202,11 @@ public:
|
|||
}
|
||||
|
||||
private:
|
||||
|
||||
doublereal m_dummy;
|
||||
void warn(const std::string& msg) const {
|
||||
writelog(">>>> Warning: method "+msg+" of base class "
|
||||
+"Integrator called. Nothing done.\n");
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
// defined in ODE_integrators.cpp
|
||||
|
|
|
|||
|
|
@ -126,7 +126,6 @@ public:
|
|||
//! Return the number of equations in the equation system
|
||||
virtual int nEquations() const = 0;
|
||||
|
||||
|
||||
//! Write out to a file or to standard output the current solution
|
||||
/*!
|
||||
* ievent is a description of the event that caused this
|
||||
|
|
@ -162,7 +161,6 @@ public:
|
|||
}
|
||||
|
||||
protected:
|
||||
|
||||
//! Mapping vector that stores whether a degree of freedom is a DAE or not
|
||||
/*!
|
||||
* The first index is the equation number. The second index is 1 if it is a DAE,
|
||||
|
|
|
|||
|
|
@ -116,7 +116,6 @@ public:
|
|||
* @param t Time (input)
|
||||
* @param ybase Solution vector (input, output)
|
||||
* @param step Proposed step in the solution that will be cropped
|
||||
*
|
||||
* @return Return the norm of the amount of filtering
|
||||
*/
|
||||
virtual doublereal filterNewStep(const doublereal t, const doublereal* const ybase,
|
||||
|
|
@ -129,7 +128,6 @@ public:
|
|||
*
|
||||
* @param t Time (input)
|
||||
* @param y Solution vector (input, output)
|
||||
*
|
||||
* @return Return the norm of the amount of filtering
|
||||
*/
|
||||
virtual doublereal filterSolnPrediction(const doublereal t, doublereal* const y);
|
||||
|
|
@ -150,7 +148,6 @@ public:
|
|||
* @param delta_t The current value of the time step (input)
|
||||
* @param y Solution vector (input, do not modify)
|
||||
* @param ydot Rate of change of solution vector. (input, do not modify)
|
||||
*
|
||||
* @return Returns a flag to indicate that operation is successful.
|
||||
* 1 Means a successful operation
|
||||
* -0 or neg value Means an unsuccessful operation
|
||||
|
|
@ -165,7 +162,6 @@ public:
|
|||
*
|
||||
* @return If true, the the time stepping is stopped. If false, then time stepping is stopped if t >= tout
|
||||
* Defaults to false.
|
||||
*
|
||||
* @param t Time (input)
|
||||
* @param delta_t The current value of the time step (input)
|
||||
* @param y Solution vector (input, do not modify)
|
||||
|
|
@ -188,7 +184,6 @@ public:
|
|||
* @param ydot Rate of change of solution vector. (input, do not modify)
|
||||
* @param delta_y Value of the delta to be used in calculating the numerical Jacobian
|
||||
* @param solnWeights Value of the solution weights that are used in determining convergence (default = 0)
|
||||
*
|
||||
* @return Returns a flag to indicate that operation is successful.
|
||||
* 1 Means a successful operation
|
||||
* -0 or neg value Means an unsuccessful operation
|
||||
|
|
@ -219,7 +214,6 @@ public:
|
|||
* 1 Called at the end of every successful time step
|
||||
* -1 Called at the end of every unsuccessful time step
|
||||
* 2 Called at the end of every call to integrateRJE()
|
||||
*
|
||||
* @param t Time (input)
|
||||
* @param delta_t The current value of the time step (input)
|
||||
* @param y Solution vector (input, do not modify)
|
||||
|
|
@ -258,7 +252,6 @@ public:
|
|||
* @param matrix Pointer to the current Jacobian (if zero, it's already been factored)
|
||||
* @param nrows offsets for the matrix
|
||||
* @param rhs residual vector. This also needs to be LHS multiplied by M
|
||||
*
|
||||
* @return Returns a flag to indicate that operation is successful.
|
||||
* 1 Means a successful operation
|
||||
* -0 or neg value Means an unsuccessful operation
|
||||
|
|
@ -277,7 +270,6 @@ public:
|
|||
* @param ydot Rate of change of solution vector. (input, do not modify)
|
||||
* @param J Reference to the SquareMatrix object to be calculated (output)
|
||||
* @param resid Value of the residual that is computed (output)
|
||||
*
|
||||
* @return Returns a flag to indicate that operation is successful.
|
||||
* 1 Means a successful operation
|
||||
* -0 or neg value Means an unsuccessful operation
|
||||
|
|
@ -298,7 +290,6 @@ public:
|
|||
* @param jacobianColPts Pointer to the vector of pts to columns of the SquareMatrix
|
||||
* object to be calculated (output)
|
||||
* @param resid Value of the residual that is computed (output)
|
||||
*
|
||||
* @return Returns a flag to indicate that operation is successful.
|
||||
* 1 Means a successful operation
|
||||
* -0 or neg value Means an unsuccessful operation
|
||||
|
|
|
|||
|
|
@ -126,7 +126,6 @@ namespace Cantera
|
|||
*
|
||||
* @todo Noise
|
||||
* @todo General Search to be done when all else fails
|
||||
*
|
||||
*/
|
||||
class RootFind
|
||||
{
|
||||
|
|
@ -186,7 +185,6 @@ private:
|
|||
* @param x1 First number
|
||||
* @param x2 second number
|
||||
* @param factor Multiplicative factor to multiple deltaX with
|
||||
*
|
||||
* @return Returns a boolean indicating whether the two numbers are the same or not.
|
||||
*/
|
||||
bool theSame(doublereal x2, doublereal x1, doublereal factor = 1.0) const;
|
||||
|
|
@ -209,7 +207,6 @@ public:
|
|||
* @param xbest Returns the x that satisfies the function
|
||||
* On input, xbest should contain the best estimate of the solution.
|
||||
* An attempt to find the solution near xbest is made.
|
||||
*
|
||||
* @return:
|
||||
* 0 = ROOTFIND_SUCCESS Found function
|
||||
* -1 = ROOTFIND_FAILEDCONVERGENCE Failed to find the answer
|
||||
|
|
@ -247,7 +244,6 @@ public:
|
|||
|
||||
//! Set the print level from the rootfinder
|
||||
/*!
|
||||
*
|
||||
* 0 -> absolutely nothing is printed for a single time step.
|
||||
* 1 -> One line summary per solve_nonlinear call
|
||||
* 2 -> short description, points of interest: Table of nonlinear solve - one line per iteration
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@ extern "C" {
|
|||
const integer* incX, const doublereal* beta, doublereal* y,
|
||||
const integer* incY, ftnlen trsize);
|
||||
#else
|
||||
|
||||
int _DGEMV_(const char* transpose, ftnlen trsize,
|
||||
const integer* m, const integer* n, const doublereal* alpha,
|
||||
const doublereal* a, const integer* lda, const doublereal* x,
|
||||
|
|
@ -92,18 +91,14 @@ extern "C" {
|
|||
integer* info);
|
||||
|
||||
#ifdef LAPACK_FTN_STRING_LEN_AT_END
|
||||
|
||||
int _DGETRS_(const char* transpose, const integer* n,
|
||||
const integer* nrhs, doublereal* a, const integer* lda,
|
||||
integer* ipiv, doublereal* b, const integer* ldb,
|
||||
integer* info, ftnlen trsize);
|
||||
|
||||
#else
|
||||
|
||||
int _DGETRS_(const char* transpose, ftnlen trsize, const integer* n,
|
||||
const integer* nrhs, const doublereal* a, const integer* lda,
|
||||
integer* ipiv, doublereal* b, const integer* ldb, integer* info);
|
||||
|
||||
#endif
|
||||
|
||||
int _DGETRI_(const integer* n, doublereal* a, const integer* lda,
|
||||
|
|
@ -189,7 +184,6 @@ extern "C" {
|
|||
doublereal* b, const integer* ldb, integer* info);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef LAPACK_FTN_STRING_LEN_AT_END
|
||||
int _DGECON_(const char* norm, const integer* n, doublereal* a, const integer* lda,
|
||||
const doublereal* rnorm, const doublereal* rcond,
|
||||
|
|
@ -200,7 +194,6 @@ extern "C" {
|
|||
doublereal* work, const integer* iwork, integer* info);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef LAPACK_FTN_STRING_LEN_AT_END
|
||||
int _DGBCON_(const char* norm, const integer* n, integer* kl, integer* ku, doublereal* ab, const integer* ldab,
|
||||
const integer* ipiv, const doublereal* anorm, const doublereal* rcond,
|
||||
|
|
@ -433,7 +426,6 @@ inline void ct_dtrtrs(ctlapack::upperlower_t uplot, ctlapack::transpose_t trans,
|
|||
info = f_info;
|
||||
}
|
||||
|
||||
//!
|
||||
/*!
|
||||
* @param work Must be dimensioned equal to greater than 3N
|
||||
* @param iwork Must be dimensioned equal to or greater than N
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ namespace Cantera
|
|||
* @param x value of the x coordinate
|
||||
* @param xpts value of the grid points
|
||||
* @param fpts value of the interpolant at the grid points
|
||||
*
|
||||
* @return Returned value is the value of of the interpolated
|
||||
* function at x.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -28,29 +28,23 @@ namespace Cantera
|
|||
* point C.
|
||||
*
|
||||
* @param n The number of data points.
|
||||
*
|
||||
* @param x A set of grid points on which the data is specified.
|
||||
* The array of values of the independent variable. These
|
||||
* values may appear in any order and need not all be
|
||||
* distinct. There are n of them.
|
||||
*
|
||||
* @param y array of corresponding function values. There are n of them
|
||||
*
|
||||
* @param w array of positive values to be used as weights. If
|
||||
* W[0] is negative, DPOLFT will set all the weights
|
||||
* to 1.0, which means unweighted least squares error
|
||||
* will be minimized. To minimize relative error, the
|
||||
* user should set the weights to: W(I) = 1.0/Y(I)**2,
|
||||
* I = 1,...,N .
|
||||
*
|
||||
* @param maxdeg maximum degree to be allowed for polynomial fit.
|
||||
* MAXDEG may be any non-negative integer less than N.
|
||||
* Note -- MAXDEG cannot be equal to N-1 when a
|
||||
* statistical test is to be used for degree selection,
|
||||
* i.e., when input value of EPS is negative.
|
||||
*
|
||||
* @param ndeg output degree of the fit computed.
|
||||
*
|
||||
* @param eps Specifies the criterion to be used in determining
|
||||
* the degree of fit to be computed.
|
||||
* (1) If EPS is input negative, DPOLFT chooses the
|
||||
|
|
@ -70,12 +64,10 @@ namespace Cantera
|
|||
* fitted polynomial. DPOLFT will increase the
|
||||
* degree of fit until this criterion is met or
|
||||
* until the maximum degree is reached.
|
||||
*
|
||||
* @param r Output vector containing the first ndeg+1 Taylor coefficients
|
||||
*
|
||||
* P(X) = r[0] + r[1]*(X-C) + ... + r[ndeg] * (X-C)**ndeg
|
||||
* ( here C = 0.0)
|
||||
*
|
||||
* @return Returned value is the value of the rms of the interpolated
|
||||
* function at x.
|
||||
*/
|
||||
|
|
@ -84,5 +76,3 @@ doublereal polyfit(int n, doublereal* x, doublereal* y, doublereal* w,
|
|||
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -400,7 +400,6 @@ public:
|
|||
* the start of its variables in the global solution vector.
|
||||
*/
|
||||
void locate() {
|
||||
|
||||
if (m_left) {
|
||||
// there is a domain on the left, so the first grid point
|
||||
// in this domain is one more than the last one on the left
|
||||
|
|
|
|||
|
|
@ -211,7 +211,6 @@ public:
|
|||
class Symm1D : public Bdry1D
|
||||
{
|
||||
public:
|
||||
|
||||
Symm1D() : Bdry1D() {
|
||||
m_type = cSymmType;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ namespace Cantera
|
|||
class Sim1D : public OneDim
|
||||
{
|
||||
public:
|
||||
|
||||
//! Default constructor.
|
||||
/*!
|
||||
* This constructor is provided to make the class default-constructible,
|
||||
|
|
@ -39,8 +38,7 @@ public:
|
|||
/**
|
||||
* @name Setting initial values
|
||||
*
|
||||
* These methods are used to set the initial values of
|
||||
* solution components.
|
||||
* These methods are used to set the initial values of solution components.
|
||||
*/
|
||||
//@{
|
||||
|
||||
|
|
|
|||
|
|
@ -157,14 +157,14 @@ public:
|
|||
|
||||
void solveEnergyEqn(size_t j=npos) {
|
||||
bool changed = false;
|
||||
if (j == npos)
|
||||
if (j == npos) {
|
||||
for (size_t i = 0; i < m_points; i++) {
|
||||
if (!m_do_energy[i]) {
|
||||
changed = true;
|
||||
}
|
||||
m_do_energy[i] = true;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (!m_do_energy[j]) {
|
||||
changed = true;
|
||||
}
|
||||
|
|
@ -215,14 +215,14 @@ public:
|
|||
|
||||
void fixTemperature(size_t j=npos) {
|
||||
bool changed = false;
|
||||
if (j == npos)
|
||||
if (j == npos) {
|
||||
for (size_t i = 0; i < m_points; i++) {
|
||||
if (m_do_energy[i]) {
|
||||
changed = true;
|
||||
}
|
||||
m_do_energy[i] = false;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (m_do_energy[j]) {
|
||||
changed = true;
|
||||
}
|
||||
|
|
@ -333,7 +333,6 @@ protected:
|
|||
return (c2/(z(j+1) - z(j)) - c1/(z(j) - z(j-1)))/(z(j+1) - z(j-1));
|
||||
}
|
||||
|
||||
|
||||
//! @name Solution components
|
||||
//! @{
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ namespace Cantera
|
|||
class Adsorbate : public SpeciesThermoInterpType
|
||||
{
|
||||
public:
|
||||
|
||||
//! Empty constructor
|
||||
Adsorbate() :
|
||||
m_nFreqs(0) {
|
||||
|
|
@ -116,7 +115,6 @@ protected:
|
|||
doublereal _entropy_R(double T) const {
|
||||
return _energy_RT(T) - _free_energy_RT(T);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@
|
|||
*/
|
||||
// Copyright 2001 California Institute of Technology
|
||||
|
||||
|
||||
#ifndef CT_CONSTCPPOLY_H
|
||||
#define CT_CONSTCPPOLY_H
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@ class PDSS_Water;
|
|||
* the \f$ \triangle \f$ symbol. The reference state symbol is now
|
||||
* \f$ \triangle, ref \f$.
|
||||
*
|
||||
*
|
||||
* It is assumed that the reference state thermodynamics may be
|
||||
* obtained by a pointer to a populated species thermodynamic property
|
||||
* manager class (see ThermoPhase::m_spthermo). How to relate pressure
|
||||
|
|
@ -133,7 +132,6 @@ class PDSS_Water;
|
|||
*
|
||||
* Individual activity coefficients of ions can not be independently measured. Instead,
|
||||
* only binary pairs forming electroneutral solutions can be measured.
|
||||
|
||||
*
|
||||
* <H3> Ionic Strength </H3>
|
||||
*
|
||||
|
|
@ -243,7 +241,6 @@ class PDSS_Water;
|
|||
* assumed for the Debye-Huckel term. The model is set by the
|
||||
* internal parameter #m_formDH. We will now describe each category in its own section.
|
||||
*
|
||||
*
|
||||
* <H3> Debye-Huckel Dilute Limit </H3>
|
||||
*
|
||||
* DHFORM_DILUTE_LIMIT = 0
|
||||
|
|
@ -264,7 +261,6 @@ class PDSS_Water;
|
|||
* \ln(a_o) = \frac{X_o - 1.0}{X_o} + \frac{ 2 A_{Debye} \tilde{M}_o}{3} (I)^{3/2}
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* <H3> Bdot Formulation </H3>
|
||||
*
|
||||
* DHFORM_BDOT_AK = 1
|
||||
|
|
@ -297,7 +293,6 @@ class PDSS_Water;
|
|||
* Additionally, Helgeson's formulation for the water activity is offered as an
|
||||
* alternative.
|
||||
*
|
||||
*
|
||||
* <H3> Bdot Formulation with Uniform Size Parameter in the Denominator </H3>
|
||||
*
|
||||
* DHFORM_BDOT_AUNIFORM = 2
|
||||
|
|
@ -317,7 +312,6 @@ class PDSS_Water;
|
|||
* - \frac{\log(10)}{2} \tilde{M}_o I \sum_k{ B^{dot}_k m_k}
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* <H3> Beta_IJ formulation </H3>
|
||||
*
|
||||
* DHFORM_BETAIJ = 3
|
||||
|
|
@ -593,8 +587,6 @@ class PDSS_Water;
|
|||
<elementArray datasrc="elements.xml"> O H Na Cl </elementArray>
|
||||
</phase>
|
||||
@endverbatim
|
||||
*
|
||||
*
|
||||
*/
|
||||
class DebyeHuckel : public MolalityVPSSTP
|
||||
{
|
||||
|
|
@ -1075,7 +1067,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature in kelvin. Defaults to -1, in which
|
||||
* case the temperature of the phase is assumed.
|
||||
*
|
||||
* @param pressure Pressure (Pa). Defaults to -1, in which
|
||||
* case the pressure of the phase is assumed.
|
||||
*/
|
||||
|
|
@ -1092,7 +1083,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature in kelvin. Defaults to -1, in which
|
||||
* case the temperature of the phase is assumed.
|
||||
*
|
||||
* @param pressure Pressure (Pa). Defaults to -1, in which
|
||||
* case the pressure of the phase is assumed.
|
||||
*/
|
||||
|
|
@ -1109,7 +1099,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature in kelvin. Defaults to -1, in which
|
||||
* case the temperature of the phase is assumed.
|
||||
*
|
||||
* @param pressure Pressure (Pa). Defaults to -1, in which
|
||||
* case the pressure of the phase is assumed.
|
||||
*/
|
||||
|
|
@ -1126,7 +1115,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature in kelvin. Defaults to -1, in which
|
||||
* case the temperature of the phase is assumed.
|
||||
*
|
||||
* @param pressure Pressure (Pa). Defaults to -1, in which
|
||||
* case the pressure of the phase is assumed.
|
||||
*/
|
||||
|
|
@ -1249,7 +1237,6 @@ protected:
|
|||
double m_maxIionicStrength;
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* If true, then the fixed for of Helgeson's activity
|
||||
* for water is used instead of the rigorous form
|
||||
|
|
@ -1259,7 +1246,6 @@ public:
|
|||
*/
|
||||
bool m_useHelgesonFixedForm;
|
||||
protected:
|
||||
|
||||
//! Stoichiometric ionic strength on the molality scale
|
||||
mutable double m_IionicMolalityStoich;
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,6 @@ class WaterProps;
|
|||
* the \f$ \triangle \f$ symbol. The reference state symbol is now
|
||||
* \f$ \triangle, ref \f$.
|
||||
*
|
||||
*
|
||||
* It is assumed that the reference state thermodynamics may be
|
||||
* obtained by a pointer to a populated species thermodynamic property
|
||||
* manager class (see ThermoPhase::m_spthermo). How to relate pressure
|
||||
|
|
@ -141,7 +140,6 @@ class WaterProps;
|
|||
* u^\triangle_k(T,P) = h^{\triangle,ref}_k(T) - P_{ref} \tilde{v}_k
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* The solute standard state heat capacity and entropy are independent
|
||||
* of pressure. The solute standard state Gibbs free energy is obtained
|
||||
* from the enthalpy and entropy functions.
|
||||
|
|
@ -186,7 +184,6 @@ class WaterProps;
|
|||
* and pressure. After this convention is applied, all other standard state
|
||||
* properties of ionic species contain meaningful information.
|
||||
*
|
||||
*
|
||||
* <H3> Ionic Strength </H3>
|
||||
*
|
||||
* Most of the parameterizations within the model use the ionic strength
|
||||
|
|
@ -196,7 +193,6 @@ class WaterProps;
|
|||
* I = \frac{1}{2} \sum_k{m_k z_k^2}
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* \f$ m_k \f$ is the molality of the kth species. \f$ z_k \f$ is the charge
|
||||
* of the kth species. Note, the ionic strength is a defined units quantity.
|
||||
* The molality has defined units of gmol kg-1, and therefore the ionic
|
||||
|
|
@ -249,7 +245,6 @@ class WaterProps;
|
|||
* </stoichIsMods>
|
||||
* @endcode
|
||||
*
|
||||
*
|
||||
* Because we need the concept of a weakly associated acid in order to calculated
|
||||
* \f$ I_s \f$ we need to
|
||||
* catalog all species in the phase. This is done using the following categories:
|
||||
|
|
@ -289,12 +284,10 @@ class WaterProps;
|
|||
* </electrolyteSpeciesType>
|
||||
* @endcode
|
||||
*
|
||||
*
|
||||
* Much of the species electrolyte type information is inferred from other information in the
|
||||
* input file. For example, as species which is charged is given the "chargedSpecies" default
|
||||
* category. A neutral solute species is put into the "nonpolarNeutral" category by default.
|
||||
*
|
||||
*
|
||||
* <H3> Specification of the Excess Gibbs Free Energy </H3>
|
||||
*
|
||||
* Pitzer's formulation may best be represented as a specification of the excess Gibbs
|
||||
|
|
@ -423,7 +416,6 @@ class WaterProps;
|
|||
* ternary contributions, which can be independently measured in
|
||||
* binary or ternary subsystems.
|
||||
*
|
||||
*
|
||||
* <H3> Multicomponent Activity Coefficients for Solutes </H3>
|
||||
*
|
||||
* The formulas for activity coefficients of solutes may be obtained by taking the
|
||||
|
|
@ -499,7 +491,6 @@ class WaterProps;
|
|||
* \ln(\gamma_N^\triangle) = 2 \left( \sum_i m_i \lambda_{iN}\right)
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* <H3> Activity of the Water Solvent </H3>
|
||||
*
|
||||
* The activity for the solvent water,\f$ a_o \f$, is not independent and must be
|
||||
|
|
@ -520,7 +511,6 @@ class WaterProps;
|
|||
* = - \frac{n_o}{\sum_{i \neq o}n_i} \ln(a_o)
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* The result is the following
|
||||
*
|
||||
* \f[
|
||||
|
|
@ -562,7 +552,6 @@ class WaterProps;
|
|||
* \Phi^{\phi}_{a{a'}} = \Phi_{a{a'}} + I \frac{d\Phi_{a{a'}}}{dI}
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* <H3> Temperature and Pressure Dependence of the Pitzer Parameters </H3>
|
||||
*
|
||||
* In general most of the coefficients introduced in the previous section may
|
||||
|
|
@ -682,7 +671,6 @@ class WaterProps;
|
|||
* \f$ \beta^{(2)}_{MX} \f$, \f$ \Theta_{cc'} \f$, \f$\Theta_{aa'} \f$,
|
||||
* \f$ \Psi_{c{c'}a} \f$ and \f$ \Psi_{ca{a'}} \f$.
|
||||
*
|
||||
*
|
||||
* <H3> Like-Charged Binary Ion Parameters and the Mixing Parameters </H3>
|
||||
*
|
||||
* The previous section contained the functions, \f$ \Phi_{c{c'}} \f$,
|
||||
|
|
@ -748,7 +736,6 @@ class WaterProps;
|
|||
</thetaCation>
|
||||
@endcode
|
||||
*
|
||||
*
|
||||
* <H3> Ternary Pitzer Parameters </H3>
|
||||
*
|
||||
* The \f$ \Psi_{c{c'}a} \f$ and \f$ \Psi_{ca{a'}} \f$ terms
|
||||
|
|
@ -870,7 +857,6 @@ class WaterProps;
|
|||
</activityCoefficients>
|
||||
@endverbatim
|
||||
*
|
||||
*
|
||||
* <H3> Specification of the Debye-Huckel Constant </H3>
|
||||
*
|
||||
* In the equations above, the formula for \f$ A_{Debye} \f$
|
||||
|
|
@ -933,7 +919,6 @@ class WaterProps;
|
|||
* </activityCoefficients>
|
||||
* @endcode
|
||||
*
|
||||
*
|
||||
* <H3> Temperature and Pressure Dependence of the Activity Coefficients </H3>
|
||||
*
|
||||
* Temperature dependence of the activity coefficients leads to nonzero terms
|
||||
|
|
@ -1010,7 +995,6 @@ class WaterProps;
|
|||
* and pressure multiplied by Mnaught (kg solvent / gmol solvent). The solvent
|
||||
* standard concentration is just equal to its standard state concentration.
|
||||
*
|
||||
*
|
||||
* This means that the
|
||||
* kinetics operator essentially works on an generalized concentration basis (kmol / m3),
|
||||
* with units for the kinetic rate constant specified
|
||||
|
|
@ -1100,7 +1084,6 @@ class WaterProps;
|
|||
* ThermoPhase *HMW = newPhase("HMW_NaCl.xml", "NaCl_electrolyte");
|
||||
* @endcode
|
||||
*
|
||||
*
|
||||
* A new HMWSoln object may be created by the following code snippets:
|
||||
*
|
||||
* @code
|
||||
|
|
@ -1122,7 +1105,6 @@ class WaterProps;
|
|||
* importPhase(*xm, &dhphase);
|
||||
* @endcode
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> XML Example </H2>
|
||||
* <HR>
|
||||
|
|
@ -1216,17 +1198,11 @@ class WaterProps;
|
|||
</kinetics>
|
||||
</phase>
|
||||
@endverbatim
|
||||
*
|
||||
*
|
||||
*
|
||||
* @ingroup thermoprops
|
||||
*
|
||||
*/
|
||||
class HMWSoln : public MolalityVPSSTP
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
//! Default Constructor
|
||||
HMWSoln();
|
||||
|
||||
|
|
@ -1293,7 +1269,6 @@ public:
|
|||
* routine, which does most of the work.
|
||||
*
|
||||
* @param inputfile XML file containing the description of the phase
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -1317,7 +1292,6 @@ public:
|
|||
* point to an XML phase object, it must have
|
||||
* sibling nodes "speciesData" that describe
|
||||
* the species in the phase.
|
||||
*
|
||||
* @param id ID of the phase. If nonnull, a check is done
|
||||
* to see if phaseNode is pointing to the phase
|
||||
* with the correct id.
|
||||
|
|
@ -1701,7 +1675,6 @@ public:
|
|||
*/
|
||||
virtual void getPartialMolarEnthalpies(doublereal* hbar) const;
|
||||
|
||||
|
||||
//! Returns an array of partial molar entropies of the species in the
|
||||
//! solution. Units: J/kmol/K.
|
||||
/*!
|
||||
|
|
@ -1860,7 +1833,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -1877,7 +1849,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -1895,7 +1866,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -1914,7 +1884,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -1934,7 +1903,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -1953,7 +1921,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -1970,7 +1937,6 @@ public:
|
|||
*
|
||||
* @param temperature Temperature of the derivative calculation
|
||||
* or -1 to indicate the current temperature
|
||||
*
|
||||
* @param pressure Pressure of the derivative calculation
|
||||
* or -1 to indicate the current pressure
|
||||
*/
|
||||
|
|
@ -2010,7 +1976,6 @@ public:
|
|||
void getUnscaledMolalityActivityCoefficients(doublereal* acMolality) const;
|
||||
|
||||
private:
|
||||
|
||||
//! Apply the current phScale to a set of activity Coefficients
|
||||
/*!
|
||||
* See the Eq3/6 Manual for a thorough discussion.
|
||||
|
|
@ -2067,7 +2032,6 @@ private:
|
|||
//@}
|
||||
|
||||
private:
|
||||
|
||||
/**
|
||||
* This is the form of the Pitzer parameterization
|
||||
* used in this model.
|
||||
|
|
|
|||
|
|
@ -118,7 +118,6 @@ namespace Cantera
|
|||
*
|
||||
* In terms of the reference state, the above can be rewritten
|
||||
*
|
||||
*
|
||||
* \f[
|
||||
* \mu_k(T,P) = \mu^{ref}_k(T, P) + R T \log(\frac{P X_k}{P_{ref}})
|
||||
* \f]
|
||||
|
|
@ -147,7 +146,6 @@ namespace Cantera
|
|||
* \tilde{Cp}_k(T,P) = Cp^o_k(T,P) = Cp^{ref}_k(T)
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> %Application within Kinetics Managers </H2>
|
||||
* <HR>
|
||||
|
|
@ -298,7 +296,6 @@ namespace Cantera
|
|||
* being of the type handled by the IdealGasPhase object.
|
||||
*
|
||||
* @ingroup thermoprops
|
||||
*
|
||||
*/
|
||||
class IdealGasPhase: public ThermoPhase
|
||||
{
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ namespace Cantera
|
|||
class IdealMolalSoln : public MolalityVPSSTP
|
||||
{
|
||||
public:
|
||||
|
||||
/// Constructor
|
||||
IdealMolalSoln();
|
||||
|
||||
|
|
@ -386,8 +385,7 @@ public:
|
|||
* @param acMolality Output Molality-based activity coefficients.
|
||||
* Length: m_kk.
|
||||
*/
|
||||
virtual void
|
||||
getMolalityActivityCoefficients(doublereal* acMolality) const;
|
||||
virtual void getMolalityActivityCoefficients(doublereal* acMolality) const;
|
||||
|
||||
//@}
|
||||
/// @name Partial Molar Properties of the Solution
|
||||
|
|
@ -478,7 +476,6 @@ public:
|
|||
*/
|
||||
virtual void getPartialMolarVolumes(doublereal* vbar) const;
|
||||
|
||||
|
||||
//! Partial molar heat capacity of the solution:. UnitsL J/kmol/K
|
||||
/*!
|
||||
* The kth partial molar heat capacity is equal to
|
||||
|
|
|
|||
|
|
@ -72,7 +72,6 @@ enum IonSolnType_enumType {
|
|||
class IonsFromNeutralVPSSTP : public GibbsExcessVPSSTP
|
||||
{
|
||||
public:
|
||||
|
||||
//! @name Constructors
|
||||
//! @{
|
||||
|
||||
|
|
@ -126,7 +125,6 @@ public:
|
|||
IonsFromNeutralVPSSTP(XML_Node& phaseRoot, const std::string& id = "",
|
||||
ThermoPhase* neutralPhase = 0);
|
||||
|
||||
|
||||
//! Copy constructor
|
||||
/*!
|
||||
* @param b class to be copied
|
||||
|
|
@ -162,7 +160,6 @@ public:
|
|||
* routine, which does most of the work.
|
||||
*
|
||||
* @param inputFile XML file containing the description of the phase
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -188,7 +185,6 @@ public:
|
|||
* point to an XML phase object, it must have
|
||||
* sibling nodes "speciesData" that describe
|
||||
* the species in the phase.
|
||||
*
|
||||
* @param id ID of the phase. If nonnull, a check is done
|
||||
* to see if phaseNode is pointing to the phase
|
||||
* with the correct id.
|
||||
|
|
@ -297,17 +293,14 @@ public:
|
|||
* - R T \frac{d \ln(\gamma_k) }{dT}
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* @param sbar Output vector of species partial molar entropies.
|
||||
* Length: m_kk. Units: J/kmol/K
|
||||
*/
|
||||
virtual void getPartialMolarEntropies(doublereal* sbar) const;
|
||||
|
||||
|
||||
//! Get the change in activity coefficients w.r.t. change in state (temp, mole fraction, etc.) along
|
||||
//! a line in parameter space or along a line in physical space
|
||||
/*!
|
||||
*
|
||||
* @param dTds Input of temperature change along the path
|
||||
* @param dXds Input vector of changes in mole fraction along the path. length = m_kk
|
||||
* Along the path length it must be the case that the mole fractions sum to one.
|
||||
|
|
@ -558,7 +551,6 @@ public:
|
|||
*/
|
||||
void initThermoXML(XML_Node& phaseNode, const std::string& id);
|
||||
|
||||
|
||||
private:
|
||||
//! Initialize lengths of local variables after all species have
|
||||
//! been identified.
|
||||
|
|
|
|||
|
|
@ -180,7 +180,6 @@ namespace Cantera
|
|||
* \exp(\frac{\mu^{o}_l - \mu^{o}_j - \mu^{o}_k}{R T} )
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* %Kinetics managers will calculate the concentration equilibrium constant, \f$ K_c \f$,
|
||||
* using the second and third part of the above expression as a definition for the concentration
|
||||
* equilibrium constant.
|
||||
|
|
@ -864,8 +863,7 @@ protected:
|
|||
//! Temporary storage for the reference state entropies at the current temperature
|
||||
mutable vector_fp m_s0_R;
|
||||
|
||||
//! String name for the species which represents a vacancy
|
||||
//! in the lattice
|
||||
//! String name for the species which represents a vacancy in the lattice
|
||||
/*!
|
||||
* This string is currently unused
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -96,7 +96,6 @@ namespace Cantera
|
|||
* have been redefined to use this convention.
|
||||
*
|
||||
* (This object is still under construction)
|
||||
*
|
||||
*/
|
||||
class LatticeSolidPhase : public ThermoPhase
|
||||
{
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ namespace Cantera
|
|||
//! MargulesVPSSTP is a derived class of GibbsExcessVPSSTP that employs
|
||||
//! the Margules approximation for the excess Gibbs free energy
|
||||
/*!
|
||||
*
|
||||
* MargulesVPSSTP derives from class GibbsExcessVPSSTP which is derived
|
||||
* from VPStandardStateTP,
|
||||
* and overloads the virtual methods defined there with ones that
|
||||
|
|
@ -57,7 +56,6 @@ namespace Cantera
|
|||
* density to pressure. The variable m_Pcurrent contains the current value of the
|
||||
* pressure within the phase.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Species Standard State Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -69,7 +67,6 @@ namespace Cantera
|
|||
* and pressure of the solution. I don't think it prevents, however,
|
||||
* some species from being dilute in the solution.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Solution Thermodynamic Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -256,7 +253,6 @@ namespace Cantera
|
|||
*/
|
||||
class MargulesVPSSTP : public GibbsExcessVPSSTP
|
||||
{
|
||||
|
||||
public:
|
||||
//! Constructor
|
||||
/*!
|
||||
|
|
@ -427,7 +423,6 @@ public:
|
|||
*/
|
||||
virtual void getPartialMolarCp(doublereal* cpbar) const;
|
||||
|
||||
|
||||
//! Return an array of partial molar volumes for the
|
||||
//! species in the mixture. Units: m^3/kmol.
|
||||
/*!
|
||||
|
|
@ -462,7 +457,6 @@ public:
|
|||
*
|
||||
* @param d2lnActCoeffdT2 Output vector of temperature 2nd derivatives of the
|
||||
* log Activity Coefficients. length = m_kk
|
||||
*
|
||||
*/
|
||||
virtual void getd2lnActCoeffdT2(doublereal* d2lnActCoeffdT2) const;
|
||||
|
||||
|
|
@ -475,7 +469,6 @@ public:
|
|||
*
|
||||
* @param dlnActCoeffdT Output vector of temperature derivatives of the
|
||||
* log Activity Coefficients. length = m_kk
|
||||
*
|
||||
*/
|
||||
virtual void getdlnActCoeffdT(doublereal* dlnActCoeffdT) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
namespace Cantera
|
||||
{
|
||||
|
||||
/**
|
||||
* Class MaskellSolidSolnPhase represents a condensed phase
|
||||
* non-ideal solution with 2 species following the thermodynamic
|
||||
|
|
|
|||
|
|
@ -18,13 +18,10 @@ namespace Cantera
|
|||
* @ingroup thermoprops
|
||||
*
|
||||
* Class MetalPhase represents electrons in a metal.
|
||||
*
|
||||
*/
|
||||
class MetalPhase : public ThermoPhase
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
MetalPhase() {}
|
||||
|
||||
MetalPhase(const MetalPhase& right) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ namespace Cantera
|
|||
//! MixedSolventElectrolyte is a derived class of GibbsExcessVPSSTP that employs
|
||||
//! the DH and local Marguless approximations for the excess Gibbs free energy
|
||||
/*!
|
||||
*
|
||||
* MixedSolventElectrolyte derives from class GibbsExcessVPSSTP which is derived
|
||||
* from VPStandardStateTP,
|
||||
* and overloads the virtual methods defined there with ones that
|
||||
|
|
@ -57,7 +56,6 @@ namespace Cantera
|
|||
* density to pressure. The variable m_Pcurrent contains the current value of the
|
||||
* pressure within the phase.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Species Standard State Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -69,7 +67,6 @@ namespace Cantera
|
|||
* and pressure of the solution. I don't think it prevents, however,
|
||||
* some species from being dilute in the solution.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Solution Thermodynamic Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -187,7 +184,6 @@ namespace Cantera
|
|||
* C_j^a = C^s a_j \mbox{\quad and \quad} C_k^a = C^s a_k
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* \f$ C_j^a \f$ is the activity concentration of species j, and
|
||||
* \f$ C_k^a \f$ is the activity concentration of species k. \f$ C^s \f$
|
||||
* is the standard concentration. \f$ a_j \f$ is
|
||||
|
|
@ -254,7 +250,6 @@ namespace Cantera
|
|||
* \f$k^{-1} \f$ has units of s-1.
|
||||
*
|
||||
* @ingroup thermoprops
|
||||
*
|
||||
*/
|
||||
class MixedSolventElectrolyte : public MolarityIonicVPSSTP
|
||||
{
|
||||
|
|
|
|||
|
|
@ -645,7 +645,6 @@ protected:
|
|||
* accurate value for the saturation pressure.
|
||||
*
|
||||
* @param TKelvin temperature in kelvin
|
||||
*
|
||||
* @return returns the estimated saturation pressure at the given temperature
|
||||
*/
|
||||
virtual doublereal psatEst(doublereal TKelvin) const;
|
||||
|
|
@ -661,7 +660,6 @@ public:
|
|||
* @param pres Pressure in Pa. This is used as an initial guess. If the routine
|
||||
* needs to change the pressure to find a stable liquid state, the
|
||||
* new pressure is returned in this variable.
|
||||
*
|
||||
* @return Returns the estimate of the liquid volume. If the liquid can't be found, this
|
||||
* routine returns -1.
|
||||
*/
|
||||
|
|
@ -685,7 +683,6 @@ public:
|
|||
*
|
||||
* @param rhoguess Guessed density of the fluid. A value of -1.0 indicates that there
|
||||
* is no guessed density
|
||||
*
|
||||
* @return We return the density of the fluid at the requested phase. If we have not found any
|
||||
* acceptable density we return a -1. If we have found an acceptable density at a
|
||||
* different phase, we return a -2.
|
||||
|
|
@ -739,7 +736,6 @@ public:
|
|||
* @param TKelvin (input) Temperature (Kelvin)
|
||||
* @param molarVolGas (return) Molar volume of the gas
|
||||
* @param molarVolLiquid (return) Molar volume of the liquid
|
||||
*
|
||||
* @return Returns the saturation pressure at the given temperature
|
||||
*/
|
||||
doublereal calculatePsat(doublereal TKelvin, doublereal& molarVolGas,
|
||||
|
|
@ -760,7 +756,6 @@ protected:
|
|||
*
|
||||
* @param TKelvin temperature in kelvin
|
||||
* @param molarVol molar volume ( m3/kmol)
|
||||
*
|
||||
* @return Returns the pressure.
|
||||
*/
|
||||
virtual doublereal pressureCalc(doublereal TKelvin, doublereal molarVol) const;
|
||||
|
|
@ -771,9 +766,7 @@ protected:
|
|||
*
|
||||
* @param TKelvin temperature in kelvin
|
||||
* @param molarVol molar volume ( m3/kmol)
|
||||
*
|
||||
* @param presCalc Returns the pressure.
|
||||
*
|
||||
* @return Returns the derivative of the pressure wrt the molar volume
|
||||
*/
|
||||
virtual doublereal dpdVCalc(doublereal TKelvin, doublereal molarVol, doublereal& presCalc) const;
|
||||
|
|
|
|||
|
|
@ -138,7 +138,6 @@ namespace Cantera
|
|||
* term in the equation above is non-trivial. For example it's equal
|
||||
* to 2.38 kcal gmol<SUP>-1</SUP> for water at 298 K.
|
||||
*
|
||||
*
|
||||
* In order to prevent a singularity, this class includes the concept of a minimum
|
||||
* value for the solvent mole fraction. All calculations involving the formulation
|
||||
* of activity coefficients and other non-ideal solution behavior adhere to
|
||||
|
|
@ -146,7 +145,6 @@ namespace Cantera
|
|||
* because these solution behavior were all designed and measured far away from
|
||||
* the zero solvent singularity condition and are not applicable in that limit.
|
||||
*
|
||||
*
|
||||
* This objects add a layer that supports molality. It inherits from VPStandardStateTP.
|
||||
*
|
||||
* All objects that derive from this are assumed to have molality based standard states.
|
||||
|
|
@ -180,7 +178,6 @@ namespace Cantera
|
|||
* State object. When molalities are needed it recalculates the molalities from
|
||||
* the State object's mole fraction vector.
|
||||
*
|
||||
*
|
||||
* @todo Make two solvent minimum fractions. One would be for calculation of the non-ideal
|
||||
* factors. The other one would be for purposes of stoichiometry evaluation. the
|
||||
* stoichiometry evaluation one would be a 1E-13 limit. Anything less would create
|
||||
|
|
@ -677,7 +674,6 @@ public:
|
|||
doublereal threshold=1e-14) const;
|
||||
|
||||
protected:
|
||||
|
||||
virtual void getCsvReportData(std::vector<std::string>& names,
|
||||
std::vector<vector_fp>& data) const;
|
||||
|
||||
|
|
|
|||
|
|
@ -53,11 +53,9 @@ namespace Cantera
|
|||
* One of the ions must be a "special ion" in the sense that its' thermodynamic
|
||||
* functions are set to zero, and the thermo functions of all other
|
||||
* ions are based on a valuation relative to that special ion.
|
||||
*
|
||||
*/
|
||||
class MolarityIonicVPSSTP : public GibbsExcessVPSSTP
|
||||
{
|
||||
|
||||
public:
|
||||
/// Constructor
|
||||
/*!
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
/**
|
||||
* @file NasaPoly1.h
|
||||
* Header for a single-species standard state object derived
|
||||
|
|
|
|||
|
|
@ -505,7 +505,6 @@ public:
|
|||
*
|
||||
* @param phaseNode Reference to the phase Information for the phase
|
||||
* that owns this species.
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -542,10 +541,8 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param vpssmgr_ptr Pointer to the variable pressure standard state
|
||||
* calculator for this phase
|
||||
*
|
||||
* @param spthermo_ptr Pointer to the optional SpeciesThermo object
|
||||
* that will handle the calculation of the reference
|
||||
* state thermodynamic coefficients.
|
||||
|
|
|
|||
|
|
@ -214,7 +214,6 @@ public:
|
|||
virtual void reportParams(size_t& kindex, int& type, doublereal* const c,
|
||||
doublereal& minTemp, doublereal& maxTemp,
|
||||
doublereal& refPressure) const;
|
||||
|
||||
//@}
|
||||
|
||||
private:
|
||||
|
|
@ -247,7 +246,6 @@ private:
|
|||
* The output of this is in units of Angstroms
|
||||
*
|
||||
* @param temp Temperature (K)
|
||||
*
|
||||
* @param ifunc parameters specifying the desired information
|
||||
* - 0 function value
|
||||
* - 1 derivative wrt temperature
|
||||
|
|
@ -261,7 +259,6 @@ private:
|
|||
* the output of this is unitless
|
||||
*
|
||||
* @param temp Temperature (K)
|
||||
*
|
||||
* @param ifunc parameters specifying the desired information
|
||||
* - 0 function value
|
||||
* - 1 derivative wrt temperature
|
||||
|
|
@ -319,7 +316,6 @@ private:
|
|||
* stable state.
|
||||
*
|
||||
* @param elemName String. Only the first 3 characters are significant
|
||||
*
|
||||
* @return value contains the Gibbs free energy for that element
|
||||
*
|
||||
* @exception CanteraError
|
||||
|
|
|
|||
|
|
@ -126,11 +126,8 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param inputFile XML file containing the description of the phase
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -149,12 +146,9 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param phaseNode Reference to the phase Information for the phase
|
||||
* that owns this species.
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
|
|||
|
|
@ -141,11 +141,8 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param inputFile XML file containing the description of the phase
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -164,15 +161,11 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param speciesNode Reference to the phase Information for the species
|
||||
* that this standard state refers to
|
||||
*
|
||||
* @param phaseNode Reference to the phase Information for the phase
|
||||
* that owns this species.
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
|
|||
|
|
@ -267,11 +267,8 @@ private:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param inputFile XML file containing the description of the phase
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -290,14 +287,10 @@ private:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param speciesNode XML Node containing the species information
|
||||
*
|
||||
* @param phaseNode Reference to the phase Information for the phase
|
||||
* that owns this species.
|
||||
*
|
||||
* @param spInstalled Boolean indicating whether the species is
|
||||
* already installed.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -233,11 +233,8 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param inputFile XML file containing the description of the phase
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
@ -257,12 +254,9 @@ public:
|
|||
*
|
||||
* @param vptp_ptr Pointer to the Variable pressure ThermoPhase object
|
||||
* This object must have already been malloced.
|
||||
*
|
||||
* @param spindex Species index within the phase
|
||||
*
|
||||
* @param phaseNode Reference to the phase Information for the phase
|
||||
* that owns this species.
|
||||
*
|
||||
* @param id Optional parameter identifying the name of the
|
||||
* phase. If none is given, the first XML
|
||||
* phase element will be used.
|
||||
|
|
|
|||
|
|
@ -108,7 +108,6 @@ public:
|
|||
/*!
|
||||
* The XML_Node for the phase contains all of the input data used to set
|
||||
* up the model for the phase during its initialization.
|
||||
*
|
||||
*/
|
||||
XML_Node& xml() const;
|
||||
|
||||
|
|
@ -275,7 +274,6 @@ public:
|
|||
//! which take an array pointer.
|
||||
void checkSpeciesArraySize(size_t kk) const;
|
||||
|
||||
|
||||
//!@} end group Element and Species Information
|
||||
|
||||
//! Save the current internal state of the phase
|
||||
|
|
@ -500,13 +498,12 @@ public:
|
|||
//! Concentration of species k.
|
||||
//! If k is outside the valid range, an exception will be thrown.
|
||||
/*!
|
||||
* @param[in] k Index of the species within the phase.
|
||||
* @param[in] k Index of the species within the phase.
|
||||
*
|
||||
* @return Returns the concentration of species k (kmol m-3).
|
||||
*/
|
||||
doublereal concentration(const size_t k) const;
|
||||
|
||||
|
||||
//! Set the concentrations to the specified values within the phase.
|
||||
//! We set the concentrations here and therefore we set the overall density
|
||||
//! of the phase. We hold the temperature constant during this operation.
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ namespace Cantera
|
|||
* can now be identically zero due to thermodynamic considerations. The phase behaves more
|
||||
* like a series of phases. That's why we named it PhaseCombo.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Species Standard State Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -152,7 +151,6 @@ namespace Cantera
|
|||
* - R T^2 \frac{d^2 \ln(\gamma_k) }{{dT}^2}
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> %Application within Kinetics Managers </H2>
|
||||
* <HR>
|
||||
|
|
@ -254,7 +252,6 @@ namespace Cantera
|
|||
*
|
||||
* \f$k^{-1} \f$ has units of s-1.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Instantiation of the Class </H2>
|
||||
* <HR>
|
||||
|
|
@ -286,7 +283,6 @@ namespace Cantera
|
|||
* PhaseCombo_Interaction *LiFeS_X_solid = new PhaseCombo_Interaction(*xs);
|
||||
* @endcode
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> XML Example </H2>
|
||||
* <HR>
|
||||
|
|
@ -328,7 +324,6 @@ namespace Cantera
|
|||
* being of the type handled by the PhaseCombo_Interaction object.
|
||||
*
|
||||
* @ingroup thermoprops
|
||||
*
|
||||
*/
|
||||
class PhaseCombo_Interaction : public GibbsExcessVPSSTP
|
||||
{
|
||||
|
|
@ -538,7 +533,6 @@ public:
|
|||
*
|
||||
* @param d2lnActCoeffdT2 Output vector of temperature 2nd derivatives of the
|
||||
* log Activity Coefficients. length = m_kk
|
||||
*
|
||||
*/
|
||||
virtual void getd2lnActCoeffdT2(doublereal* d2lnActCoeffdT2) const;
|
||||
|
||||
|
|
@ -551,7 +545,6 @@ public:
|
|||
*
|
||||
* @param dlnActCoeffdT Output vector of temperature derivatives of the
|
||||
* log Activity Coefficients. length = m_kk
|
||||
*
|
||||
*/
|
||||
virtual void getdlnActCoeffdT(doublereal* dlnActCoeffdT) const;
|
||||
|
||||
|
|
@ -599,7 +592,6 @@ public:
|
|||
//! Get the change in activity coefficients w.r.t. change in state (temp, mole fraction, etc.) along
|
||||
//! a line in parameter space or along a line in physical space
|
||||
/*!
|
||||
*
|
||||
* @param dTds Input of temperature change along the path
|
||||
* @param dXds Input vector of changes in mole fraction along the path. length = m_kk
|
||||
* Along the path length it must be the case that the mole fractions sum to one.
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ namespace Cantera
|
|||
class PureFluidPhase : public ThermoPhase
|
||||
{
|
||||
public:
|
||||
|
||||
//! Empty Base Constructor
|
||||
PureFluidPhase();
|
||||
|
||||
|
|
@ -461,7 +460,6 @@ public:
|
|||
doublereal threshold=1e-14) const;
|
||||
|
||||
protected:
|
||||
|
||||
//! Main call to the tpx level to set the state of the system
|
||||
/*!
|
||||
* @param n Integer indicating which 2 thermo components are held constant
|
||||
|
|
|
|||
|
|
@ -54,7 +54,6 @@ namespace Cantera
|
|||
* density to pressure. The variable m_Pcurrent contains the current value of the
|
||||
* pressure within the phase.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Species Standard State Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -66,7 +65,6 @@ namespace Cantera
|
|||
* and pressure of the solution. I don't think it prevents, however,
|
||||
* some species from being dilute in the solution.
|
||||
*
|
||||
*
|
||||
* <HR>
|
||||
* <H2> Specification of Solution Thermodynamic Properties </H2>
|
||||
* <HR>
|
||||
|
|
@ -187,7 +185,6 @@ namespace Cantera
|
|||
* C_j^a = C^s a_j \mbox{\quad and \quad} C_k^a = C^s a_k
|
||||
* \f]
|
||||
*
|
||||
*
|
||||
* \f$ C_j^a \f$ is the activity concentration of species j, and
|
||||
* \f$ C_k^a \f$ is the activity concentration of species k. \f$ C^s \f$
|
||||
* is the standard concentration. \f$ a_j \f$ is
|
||||
|
|
@ -254,7 +251,6 @@ namespace Cantera
|
|||
* \f$k^{-1} \f$ has units of s-1.
|
||||
*
|
||||
* @ingroup thermoprops
|
||||
*
|
||||
*/
|
||||
class RedlichKisterVPSSTP : public GibbsExcessVPSSTP
|
||||
{
|
||||
|
|
@ -269,7 +265,6 @@ public:
|
|||
//! Construct and initialize a RedlichKisterVPSSTP ThermoPhase object
|
||||
//! directly from an XML input file
|
||||
/*!
|
||||
*
|
||||
* @param inputFile Name of the input file containing the phase XML data
|
||||
* to set up the object
|
||||
* @param id ID of the phase in the input file. Defaults to the
|
||||
|
|
@ -507,7 +502,6 @@ public:
|
|||
//! Get the change in activity coefficients w.r.t. change in state (temp, mole fraction, etc.) along
|
||||
//! a line in parameter space or along a line in physical space
|
||||
/*!
|
||||
*
|
||||
* @param dTds Input of temperature change along the path
|
||||
* @param dXds Input vector of changes in mole fraction along the path. length = m_kk
|
||||
* Along the path length it must be the case that the mole fractions sum to one.
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue