General whitespace cleanup

Remove unnecessary blank lines and trailing whitespace. Replace tabs with
spaces.
This commit is contained in:
Ray Speth 2015-07-31 13:08:17 -04:00
parent 619cd20f14
commit e4c45b6429
340 changed files with 625 additions and 2692 deletions

View file

@ -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.

View file

@ -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

View file

@ -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
#-------------------------------------------------------------------------------

View file

@ -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
#-------------------------------------------------------------------------------

View file

@ -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'))

View file

@ -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] )
)

View file

@ -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]))

View file

@ -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])

View file

@ -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))

View file

@ -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] )
)

View file

@ -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] )
)

View file

@ -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] )
)

View file

@ -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

View file

@ -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,

View file

@ -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'],

View file

@ -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) {

View file

@ -12,7 +12,6 @@ void equil_demo()
int main()
{
try {
equil_demo();
} catch (CanteraError& err) {

View file

@ -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

View file

@ -5,7 +5,7 @@ C++ Interface User's Guide
.. toctree::
:maxdepth: 2
compiling
headers
thermo

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -52,11 +52,9 @@ protected:
virtual void deleteFactory() = 0 ;
private:
//! statically held list of Factories.
static std::vector<FactoryBase*> s_vFactoryRegistry ;
};
}
#endif

View file

@ -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();

View file

@ -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

View file

@ -11,7 +11,6 @@
#ifdef THREAD_SAFE_CANTERA
#include <boost/shared_ptr.hpp>
#include <boost/thread/mutex.hpp>
#endif
namespace Cantera

View file

@ -39,7 +39,6 @@ namespace Cantera
class Logger
{
public:
//! Constructor - empty
Logger() {}

View file

@ -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);

View file

@ -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.
/*!

View file

@ -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;

View file

@ -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

View file

@ -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.
*

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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,

View file

@ -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);

View file

@ -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 {

View file

@ -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;

View file

@ -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

View file

@ -1,6 +1,5 @@
/**
* @file InterfaceKinetics.h
*
* @ingroup chemkinetics
*/
// Copyright 2001 California Institute of Technology

View file

@ -124,7 +124,6 @@ namespace Cantera
*/
class Kinetics
{
public:
/**
* @name Constructors and General Information about Mechanism

View file

@ -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);

View file

@ -19,9 +19,7 @@ namespace Cantera
template<class R>
class Rate1
{
public:
Rate1() {}
virtual ~Rate1() {}

View file

@ -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 = "");

View file

@ -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 -

View file

@ -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

View file

@ -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.
*

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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

View file

@ -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 "

View file

@ -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

View file

@ -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

View file

@ -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;

View file

@ -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.

View file

@ -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

View file

@ -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,

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.
*/

View file

@ -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

View file

@ -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

View file

@ -211,7 +211,6 @@ public:
class Symm1D : public Bdry1D
{
public:
Symm1D() : Bdry1D() {
m_type = cSymmType;
}

View file

@ -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.
*/
//@{

View file

@ -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
//! @{

View file

@ -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);
}
};
}

View file

@ -6,7 +6,6 @@
*/
// Copyright 2001 California Institute of Technology
#ifndef CT_CONSTCPPOLY_H
#define CT_CONSTCPPOLY_H

View file

@ -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;

View file

@ -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.

View file

@ -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
{

View file

@ -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

View file

@ -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.

View file

@ -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
*/

View file

@ -96,7 +96,6 @@ namespace Cantera
* have been redefined to use this convention.
*
* (This object is still under construction)
*
*/
class LatticeSolidPhase : public ThermoPhase
{

View file

@ -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;

View file

@ -18,7 +18,6 @@
namespace Cantera
{
/**
* Class MaskellSolidSolnPhase represents a condensed phase
* non-ideal solution with 2 species following the thermodynamic

View file

@ -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) {

View file

@ -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
{

View file

@ -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;

View file

@ -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;

View file

@ -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
/*!

View file

@ -1,4 +1,3 @@
/**
* @file NasaPoly1.h
* Header for a single-species standard state object derived

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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.
*/

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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