From 4ed7e64194d17aaa19a056c01d60d0ba9b7a62af Mon Sep 17 00:00:00 2001 From: Dave Goodwin Date: Thu, 10 Nov 2005 20:48:27 +0000 Subject: [PATCH] *** empty log message *** --- Cantera/clib/src/ctreactor.cpp | 37 + Cantera/clib/src/ctreactor.h | 6 + Cantera/clib/src/genpy.py | 17 +- Cantera/cxx/demos/kinetics1.cpp | 13 +- Cantera/matlab/cantera/@Func/Func.m | 33 + Cantera/matlab/cantera/@Func/char.m | 11 +- Cantera/matlab/cantera/@Func/plus.m | 4 +- .../matlab/cantera/@ThermoPhase/equilibrate.m | 7 +- Cantera/matlab/cantera/examples/catcomb.m | 2 +- Cantera/matlab/cantera/gaussian.m | 21 +- Cantera/matlab/cantera/polynom.m | 10 +- .../matlab/cantera/private/funcmethods.cpp | 6 +- Cantera/matlab/cantera/tutorial/tut2.m | 6 +- Cantera/matlab/cantera/tutorial/tut3.m | 8 +- Cantera/python/Cantera/Reactor.py | 112 +- Cantera/python/examples/.cvsignore | 2 + .../examples/gasdynamics/soundSpeeds.py | 36 +- Cantera/python/examples/reactors/reactor1.py | 2 +- Cantera/python/setup.py.in | 8 +- Cantera/python/src/ctreactor_methods.cpp | 111 ++ Cantera/python/src/methods.h | 8 + Cantera/src/FuncEval.h | 3 + ChangeLog | 1116 ++++++++++++++++- config.h.in | 3 + config/configure | 869 ++++++------- config/configure.in | 44 +- configure | 32 +- ext/Makefile.in | 3 + ext/tpx/Makefile.in | 1 + tools/src/package4mac.in | 1 + tools/templates/cxx/demo.mak.in | 2 +- 31 files changed, 1900 insertions(+), 634 deletions(-) diff --git a/Cantera/clib/src/ctreactor.cpp b/Cantera/clib/src/ctreactor.cpp index 520cb8bd6..2886e2abd 100755 --- a/Cantera/clib/src/ctreactor.cpp +++ b/Cantera/clib/src/ctreactor.cpp @@ -1,6 +1,7 @@ // Cantera includes #include "zeroD/Reactor.h" +#include "zeroD/FlowReactor.h" #include "zeroD/ReactorNet.h" #include "zeroD/Reservoir.h" #include "zeroD/Wall.h" @@ -167,6 +168,28 @@ extern "C" { return 0; } + int DLL_EXPORT flowReactor_setMassFlowRate(int i, double mdot) { + reactor_t* r = _reactor(i); + if (r->type() == ReactorType) ((FlowReactor*)r)->setMassFlowRate(mdot); + return 0; + } + + int DLL_EXPORT reactor_nSensParams(int i) { + reactor_t* r = _reactor(i); + if (r->type() >= ReactorType) + return ((Reactor*)r)->nSensParams(); + else { + cout << "type problem..." << r->type() << endl; + return 0; + } + } + + int DLL_EXPORT reactor_addSensitivityReaction(int i, int rxn) { + reactor_t* r = _reactor(i); + ((Reactor*)r)->addSensitivityReaction(rxn); + return 0; + } + // reactor networks @@ -208,6 +231,11 @@ extern "C" { return 0; } + int DLL_EXPORT reactornet_setSensitivityTolerances(int i, double rtol, double atol) { + _reactornet(i)->setSensitivityTolerances(rtol, atol); + return 0; + } + int DLL_EXPORT reactornet_addreactor(int i, int n) { try { _reactornet(i)->addReactor(_reactor(n)); @@ -247,6 +275,9 @@ extern "C" { return _reactornet(i)->atol(); } + double DLL_EXPORT reactornet_sensitivity(int i, char* v, int p, int r) { + return _reactornet(i)->sensitivity(v, p, r); + } // flow devices @@ -406,4 +437,10 @@ extern "C" { else return 0; } + int DLL_EXPORT wall_addSensitivityReaction(int i, int lr, int rxn) { + _wall(i)->addSensitivityReaction(lr, rxn); + return 0; + } + + } diff --git a/Cantera/clib/src/ctreactor.h b/Cantera/clib/src/ctreactor.h index 5619a2878..18e3a81bc 100755 --- a/Cantera/clib/src/ctreactor.h +++ b/Cantera/clib/src/ctreactor.h @@ -25,6 +25,9 @@ extern "C" { double DLL_IMPORT reactor_intEnergy_mass(int i); double DLL_IMPORT reactor_pressure(int i); double DLL_IMPORT reactor_massFraction(int i, int k); + int DLL_IMPORT reactor_nSensParams(int i); + int DLL_IMPORT reactor_addSensitivityReaction(int i, int rxn); + int DLL_IMPORT flowReactor_setMassFlowRate(int i, double mdot); int DLL_IMPORT reactornet_new(); int DLL_IMPORT reactornet_del(int i); @@ -33,12 +36,14 @@ extern "C" { int DLL_IMPORT reactornet_setInitialTime(int i, double t); int DLL_IMPORT reactornet_setMaxTimeStep(int i, double maxstep); int DLL_IMPORT reactornet_setTolerances(int i, double rtol, double atol); + int DLL_IMPORT reactornet_setSensitivityTolerances(int i, double rtol, double atol); int DLL_IMPORT reactornet_addreactor(int i, int n); int DLL_IMPORT reactornet_advance(int i, double t); double DLL_IMPORT reactornet_step(int i, double t); double DLL_IMPORT reactornet_time(int i); double DLL_IMPORT reactornet_rtol(int i); double DLL_IMPORT reactornet_atol(int i); + double DLL_IMPORT reactornet_sensitivity(int i, char* v, int p, int r); int DLL_IMPORT flowdev_new(int type); int DLL_IMPORT flowdev_del(int i); @@ -67,6 +72,7 @@ extern "C" { int DLL_IMPORT wall_setVelocity(int i, int n); int DLL_IMPORT wall_setEmissivity(int i, double epsilon); int DLL_IMPORT wall_ready(int i); + int DLL_IMPORT wall_addSensitivityReaction(int i, int lr, int rxn); } diff --git a/Cantera/clib/src/genpy.py b/Cantera/clib/src/genpy.py index 9c5c950d4..2ddff6f1f 100644 --- a/Cantera/clib/src/genpy.py +++ b/Cantera/clib/src/genpy.py @@ -41,7 +41,13 @@ py_"""+name+"""(PyObject *self, PyObject *args) """+rtype+""" _val;""" global _class, _newclass - cls, func = name.split('_') + toks = name.split('_') + cls = toks[0] + if len(toks) == 2: + func = toks[1] + else: + func = toks[1] + toks[2] + if cls != _class: _class = cls _newclass = 1 @@ -135,7 +141,14 @@ def writepyclass(f, name, args): f.write(" def __init__(self):\n") f.write(" pass\n"); _newclass = 0 - cls, nm = name.split('_') + + toks = name.split('_') + cls = toks[0] + if len(toks) == 2: + nm = toks[1] + else: + nm = toks[1] + toks[2] + f.write(' def '+nm+'(self') for a in args[1:]: f.write(', '+a[1]) diff --git a/Cantera/cxx/demos/kinetics1.cpp b/Cantera/cxx/demos/kinetics1.cpp index a069dc3da..9728b5ee2 100644 --- a/Cantera/cxx/demos/kinetics1.cpp +++ b/Cantera/cxx/demos/kinetics1.cpp @@ -53,6 +53,8 @@ int kinetics1(int np, void* p) { r.insert(gas); env.insert(gas); + r.addHomogenRxnSens(0); + // create a wall between the reactor and the environment Wall w; w.install(r,env); @@ -76,11 +78,16 @@ int kinetics1(int np, void* p) { Array2D soln(nsp+4, 1); saveSoln(0, 0.0, gas, soln); + // create a container object to run the simulation + // and add the reactor to it + ReactorNet sim; + sim.addReactor(&r); + // main loop clock_t t0 = clock(); // save start time for (int i = 1; i <= nsteps; i++) { tm = i*dt; - r.advance(tm); + sim.advance(tm); cout << "time = " << tm << " s" << endl; saveSoln(tm, gas, soln); } @@ -98,8 +105,8 @@ int kinetics1(int np, void* p) { cout << " Tfinal = " << r.temperature() << endl; cout << " time = " << tmm << endl; cout << " number of residual function evaluations = " - << r.integrator().nEvals() << endl; - cout << " time per evaluation = " << tmm/r.integrator().nEvals() + << sim.integrator().nEvals() << endl; + cout << " time per evaluation = " << tmm/sim.integrator().nEvals() << endl << endl; cout << "Output files:" << endl << " kin1.csv (Excel CSV file)" << endl diff --git a/Cantera/matlab/cantera/@Func/Func.m b/Cantera/matlab/cantera/@Func/Func.m index 24727ba30..cda486e9d 100644 --- a/Cantera/matlab/cantera/@Func/Func.m +++ b/Cantera/matlab/cantera/@Func/Func.m @@ -1,5 +1,31 @@ function x = Func(typ, n, p) % +% Func - a class for functors. +% +% A functor is an object that behaves like a function. Cantera +% defines a set of functors to use to create arbitrary functions to +% specify things like heat fluxes, piston speeds, etc., in reactor +% network simulations. Of course, they can be used for other things +% too. +% +% The main feature of a functor class is that it overloads the '()' +% operator to evaluate the function. For example, suppose object +% 'f' is a functor that evaluates the polynomial '2x^2 - 3x + +% 1'. Then writing 'f(2)' would cause the method that evaluates the +% function to be invoked, and would pass it the argument '2'. The +% return value would of course be 3. +% +% The types of functors you can create in Cantera are these: +% 1. A polynomial +% 2. A Fourier series +% 3. A sum of Arrhenius terms +% 4. A Gaussian. +% You can also create composite functors by adding, multiplying, or +% dividing these basic functors, or other composite functors. +% +% Note: this MATLAB class shadows the underlying C++ Cantera class +% "Func1". See the Cantera C++ documentation for more details. +% if ~isa(typ, 'char') error('Function type must be a string') end @@ -15,11 +41,18 @@ elseif strcmp(typ,'fourier') itype = 1; elseif strcmp(typ,'arrhenius') itype = 3; +elseif strcmp(typ,'gaussian') + itype = 4; end if itype > 0 x.coeffs = p; x.index = funcmethods(0,itype,n,p); +elseif strcmp(typ,'periodic') + itype = 50; + x.f1 = n; + x.coeffs = p; + x.index = funcmethods(0,itype,n.index,p); else if strcmp(typ,'sum') itype = 20; diff --git a/Cantera/matlab/cantera/@Func/char.m b/Cantera/matlab/cantera/@Func/char.m index da50632c1..a47410ae6 100644 --- a/Cantera/matlab/cantera/@Func/char.m +++ b/Cantera/matlab/cantera/@Func/char.m @@ -44,9 +44,12 @@ else end d = d - 1; end + elseif strcmp(p.typ,'gaussian') + s = num2str(p.coeffs(1)); + s = ['Gaussian(' num2str(p.coeffs(1)) ',' ... + num2str(p.coeffs(2)) ',' ... + num2str(p.coeffs(3)) ')']; else - print 'char not yet implemented'; - end + s = ['*** char not yet implemented for' p.typ ' ***']; + end end - - diff --git a/Cantera/matlab/cantera/@Func/plus.m b/Cantera/matlab/cantera/@Func/plus.m index 1c5d68882..6433b817c 100644 --- a/Cantera/matlab/cantera/@Func/plus.m +++ b/Cantera/matlab/cantera/@Func/plus.m @@ -1,5 +1,7 @@ function r = plus(a, b) -% PLUS - +% +% PLUS - Return a functor representing the sum of two functors a +% and b. % r = Func('sum',a,b); diff --git a/Cantera/matlab/cantera/@ThermoPhase/equilibrate.m b/Cantera/matlab/cantera/@ThermoPhase/equilibrate.m index 5749641a4..38edd338b 100644 --- a/Cantera/matlab/cantera/@ThermoPhase/equilibrate.m +++ b/Cantera/matlab/cantera/@ThermoPhase/equilibrate.m @@ -9,7 +9,7 @@ function a = equilibrate(a, xy, solver, rtol, maxsteps, maxiter, loglevel) % solver -- specifies the equilibrium solver to use. If solver % = 0, a fast solver using the element potential method will be % used. If solver > 0, a slower but more robust Gibbs -% minimization solver will be used. If solver < 0 or +% minimization solver will be used. If solver < 0 or is % unspecified, the fast solver will be tried first, then if it % fails the other will be tried. % @@ -25,8 +25,9 @@ function a = equilibrate(a, xy, solver, rtol, maxsteps, maxiter, loglevel) % loglevel -- set to a value > 0 to write diagnostic output to % a file in HTML format. Larger values generate more detailed % information. The file will be named 'equilibrate_log.html.' -% Subsequent files will be named 'equillibrate_log1.html', -% etc., so that log files are not overwritten. +% Subsequent files will be named 'equilibrate_log1.html', +% 'equilibrate_log2.html', etc., so that log files are not +% overwritten. % % diff --git a/Cantera/matlab/cantera/examples/catcomb.m b/Cantera/matlab/cantera/examples/catcomb.m index 860818d67..dfb86e8b4 100644 --- a/Cantera/matlab/cantera/examples/catcomb.m +++ b/Cantera/matlab/cantera/examples/catcomb.m @@ -191,7 +191,7 @@ set(inlt,'X',comp2); setRefineCriteria(sim1D, 2, 100.0, 0.15, 0.2); % solve the problem for the final time -solve(sim1D, loglevel, refine_grid); %refine_grid); +solve(sim1D, loglevel, refine_grid); % show the solution sim1D diff --git a/Cantera/matlab/cantera/gaussian.m b/Cantera/matlab/cantera/gaussian.m index 28fe5cdd3..c3fabff59 100644 --- a/Cantera/matlab/cantera/gaussian.m +++ b/Cantera/matlab/cantera/gaussian.m @@ -1,13 +1,16 @@ -function g = gaussian(A, x0, FWHM) -% POLY - create a Gaussian Func instance -% -% gaussian(A, x0, FWHM) -% -% A - value at x = x0 -% x0 - location of maximum -% FWHM - full width at half-maximum +function g = gaussian(peak, center, width) % -g = Func('gaussian', 0, [A x0 FWHM]); +% GAUSSIAN - create a Gaussian Func instance +% +% gaussian(peak, center, width) +% +% peak - the peak value +% center - value of x at which the peak is located +% width - full width at half-maximum. The value of the +% function at center +/- (width)/2 is one-half +% the peak value. +% +g = Func('gaussian', 0, [peak, center, width]); diff --git a/Cantera/matlab/cantera/polynom.m b/Cantera/matlab/cantera/polynom.m index 700748e41..5b6f5c0bd 100644 --- a/Cantera/matlab/cantera/polynom.m +++ b/Cantera/matlab/cantera/polynom.m @@ -1,8 +1,12 @@ function poly = polynom(coeffs) -% POLY - create a polynomial Func instance +% +% POLY - create an instance of class 'Func' representing a polynomial. % -% Create a polynomial: -% polynom([-2 6 3]) 3x^2 + 6x - 2 +% The polynomial coefficients are specified by a one-dimensional +% array [a0 a1 .... aN]. +% +% polynom([-2 6 3]) 3x^2 + 6x - 2 +% polynom([1.0 -2.5 0 0 2]) 2x^4 - 2.5x + 1 % [n m] = size(coeffs); if n == 1 diff --git a/Cantera/matlab/cantera/private/funcmethods.cpp b/Cantera/matlab/cantera/private/funcmethods.cpp index 213b85228..95ccbf06a 100644 --- a/Cantera/matlab/cantera/private/funcmethods.cpp +++ b/Cantera/matlab/cantera/private/funcmethods.cpp @@ -22,10 +22,14 @@ void funcmethods( int nlhs, mxArray *plhs[], int lenp = msize*nsize; nn = func_new(type, n, lenp, ptr); } - else { + else if (type < 45) { int m = getInt(prhs[4]); nn = func_new(type, n, m, ptr); } + else { + ptr = mxGetPr(prhs[4]); + nn = func_new(type, n, 0, ptr); + } plhs[0] = mxCreateNumericMatrix(1,1,mxDOUBLE_CLASS,mxREAL); double *h = mxGetPr(plhs[0]); *h = double(nn); diff --git a/Cantera/matlab/cantera/tutorial/tut2.m b/Cantera/matlab/cantera/tutorial/tut2.m index 29b91adf7..1d4607197 100755 --- a/Cantera/matlab/cantera/tutorial/tut2.m +++ b/Cantera/matlab/cantera/tutorial/tut2.m @@ -60,8 +60,8 @@ msg = sprintf('time to create gas1b: %f', cputime - t0) % If for some reason Cantera has difficulty finding where these files % are on your system, set environment variable CANTERA_DATA to the % directory where they are located. Alternatively, you can call function -% addDirectory to add a directory to the Cantera search path: -addDirectory('/usr/local/cantera/my_data_files'); +% adddir to add a directory to the Cantera search path: +adddir('/usr/local/cantera/my_data_files'); % Cantera input files are plain text files, and can be created with % any text editor. See the document 'Defining Phases and Interfaces' @@ -121,7 +121,7 @@ diamonnd_surf2 = importInterface('diamond.xml','diamond_100',... % % Here's an example of how to use it: % -% ck2cti -i mech.inp -t therm.dat -tr tran.dat -id mymech > mech.cti +% ck2cti -i mech.inp -t therm.dat -tr tran.dat -id mymech % clear all diff --git a/Cantera/matlab/cantera/tutorial/tut3.m b/Cantera/matlab/cantera/tutorial/tut3.m index fdf13d232..0a765bd06 100755 --- a/Cantera/matlab/cantera/tutorial/tut3.m +++ b/Cantera/matlab/cantera/tutorial/tut3.m @@ -12,20 +12,20 @@ g = GRI30 class(g) -% This tells you that g belongs to a class called 'solution'. To find +% This tells you that g belongs to a class called 'Solution'. To find % the methods for this class, type -methods solution +methods Solution % This command returns only a few method names. These are the ones % directly defined in this class. But solution inherits many other % methods from base classes. To see all of its methods, type -methods solution -full +methods Solution -full % Now a long list is printed, along with a specification of the class % the method is inherited from. For example, 'setPressure' is -% inherited from a class 'thermophase'. Don't be concerned at this +% inherited from a class 'ThermoPhase'. Don't be concerned at this % point about what these base classes are - we'll come back to them % later. diff --git a/Cantera/python/Cantera/Reactor.py b/Cantera/python/Cantera/Reactor.py index f22451607..565e26a9c 100644 --- a/Cantera/python/Cantera/Reactor.py +++ b/Cantera/python/Cantera/Reactor.py @@ -4,8 +4,10 @@ Zero-dimensional reactors. import _cantera from Cantera.num import array, zeros +from Cantera.exceptions import CanteraError import types +_ilr = {'left':0, 'right':1, 'unknown':-1} class ReactorBase: """Base class for reactors and reservoirs. @@ -38,6 +40,7 @@ class ReactorBase: self._reservoirs = [] self._name = name self._verbose = verbose + self._paramid = [] self.insert(contents) self._setInitialVolume(volume) self._setEnergy(energy) @@ -296,6 +299,29 @@ class ReactorBase: return self._contents + def nSensParams(self): + """Number of sensitivity parameters for this reactor.""" + return _cantera.reactor_nSensParams(self.__reactor_id) + + def addSensitivityReaction(self, reactions = []): + if len(reactions) == 0: + nr = self._contents.nReactions() + for n in range(nr): + self._paramid.append(self._contents.reactionEqn(n)) + _cantera.reactor_addSensitivityReaction(self.__reactor_id, + n) + else: + for n in reactions: + self._paramid.append(self._contents.reactionEqn(n)) + _cantera.reactor_addSensitivityReaction(self.__reactor_id, + n) + + def sensParamName(self, n = -1): + if n < 0: + return self._paramid + else: + return self._paramid[n] + _reactorcount = 0 _reservoircount = 0 @@ -812,6 +838,8 @@ class Wall: self.setKinetics(kinetics[0],kinetics[1]) + self._paramid = [] + def __del__(self): """ Delete the Wall instance. This method is called automatically when no Python object stores a reference to this @@ -910,11 +938,21 @@ class Wall: ileft = 0 iright = 0 if left: - ileft = left.kin_index() + ileft = left.kinetics_hndl() if right: - iright = right.kin_index() + iright = right.kinetics_hndl() + self._leftkin = left + self._rightkin = right _cantera.wall_setkinetics(self.__wall_id, ileft, iright) - + + def kinetics(self, side = 'left'): + if side == 'left': + return self._leftkin + elif side == 'right': + return self._rightkin + else: + raise CanteraError("side must be 'left' or 'right'") + def set(self, **p): """Set various wall parameters: 'A', 'U', 'K', 'Q'. 'velocity'. These have the same meanings as in the constructor. @@ -936,6 +974,21 @@ class Wall: raise 'unknown parameter: ',item + def addSensitivityReaction(self, side = 'unknown', reactions = []): + k = self.kinetics(side) + if len(reactions) == 0: + nr = k.nReactions() + for n in range(nr): + self._paramid.append(k.reactionEqn(n)) + _cantera.wall_addSensitivityReaction(self.__wall_id, + _ilr[side], n) + else: + for n in reactions: + self._paramid.append(k.reactionEqn(n)) + _cantera.wall_addSensitivityReaction(self.__wall_id, + _ilr[side], n) + + class ReactorNet: """Networks of reactors. ReactorNet objects are used to @@ -995,10 +1048,12 @@ class ReactorNet: """The current time [s].""" return _cantera.reactornet_time(self.__reactornet_id) - def setTolerances(self, rtol = 1.0e-9, atol = 1.0e-20): + def setTolerances(self, rtol = 1.0e-9, + atol = 1.0e-20, rtolsens= -1.0, atolsens = -1.0): """Set the relative and absolute error tolerances used in integrating the reactor equations.""" _cantera.reactornet_setTolerances(self.__reactornet_id, rtol, atol) + _cantera.reactornet_setSensitivityTolerances(self.__reactornet_id, rtolsens, atolsens) def advance(self, time): """Advance the state of the reactor network in time from the current @@ -1011,5 +1066,54 @@ class ReactorNet: return _cantera.reactornet_step(self.__reactornet_id, time) def reactors(self): + """Return the list of reactors in the network.""" return self._reactors + + def nSensParams(self): + """Number of sensitivity parameters.""" + sum = 0 + for r in self._reactors: + sum += r.nSensParams() + return sum + + def sensitivity(self, component = '', parameter = -1, reactor = ''): + + """Sensitivity of solution component 'component' with respect + to one or more parameters. + + component -- name of the species or other variable for which + sensitivity information is desired. + + parameter -- single integer or sequence of integers specifying + the parameters. The parameters are numbered from zero, + beginning with the parameters for the first reactor and + continuing through those for the last reactor in the + network. If omitted, the sensitivity with respect to all + parameters will be returned. + + reactor -- reactor containing the desired component. + + + """ + + n = 0 + if reactor <> '': + for reac in self._reactors: + if reac.name() == reactor: + break + else: + n = n+1 + np = self.nSensParams() + if parameter >= 0 and parameter < np: + return _cantera.reactornet_sensitivity(self.__reactornet_id, + component, parameter, n) + elif parameter == -1: + s = [] + for m in range(np): + s.append(_cantera.reactornet_sensitivity(self.__reactornet_id, + component, m, n)) + return s + else: + raise CanteraError("sensitivity requested for illegal parameter number:"+`parameter`) + diff --git a/Cantera/python/examples/.cvsignore b/Cantera/python/examples/.cvsignore index 139597f9c..d4e87e984 100644 --- a/Cantera/python/examples/.cvsignore +++ b/Cantera/python/examples/.cvsignore @@ -1,2 +1,4 @@ +*.xml +*.log diff --git a/Cantera/python/examples/gasdynamics/soundSpeeds.py b/Cantera/python/examples/gasdynamics/soundSpeeds.py index f42b766d3..7e2dfaa6b 100644 --- a/Cantera/python/examples/gasdynamics/soundSpeeds.py +++ b/Cantera/python/examples/gasdynamics/soundSpeeds.py @@ -1,7 +1,7 @@ from Cantera import * import math -def equilSoundSpeeds(gas): +def equilSoundSpeeds(gas, rtol = 1.0e-6, maxiter = 5000): """Returns a tuple containing the equilibrium and frozen sound speeds for a gas with an equilibrium composition. The gas is @@ -12,41 +12,49 @@ def equilSoundSpeeds(gas): """ # set the gas to equilibrium at its current T and P - gas.equilibrate('TP') + gas.equilibrate('TP', rtol = rtol, maxiter = maxiter) # save properties s0 = gas.entropy_mass() p0 = gas.pressure() r0 = gas.density() - # perturb the density - r1 = r0*1.0001 + # perturb the pressure + p1 = p0*1.0001 # set the gas to a state with the same entropy and composition but - # the perturbed density - gas.set(S = s0, V = 1.0/r1) + # the perturbed pressure + gas.set(S = s0, P = p1) - # save the pressure for this case for the frozen sound speed - pfrozen = gas.pressure() + # save the density for this case for the frozen sound speed + rho_frozen = gas.density() - # now equilibrate the gas holding S and V constant - gas.equilibrate("SV") + # now equilibrate the gas holding S and P constant + gas.equilibrate("SP", loglevel=0, rtol = rtol, maxiter = maxiter) # , rtol = 1.0e-3, maxsteps=10000) - p1 = gas.pressure() + r1 = gas.density() # equilibrium sound speed aequil = math.sqrt((p1 - p0)/(r1 - r0)); # frozen sound speed - afrozen = math.sqrt((pfrozen - p0)/(r1 - r0)); - return (aequil, afrozen) + afrozen = math.sqrt((p1 - p0)/(rho_frozen - r0)); + + # compute the frozen sound speed using the ideal gas + # expression as a check + cp = gas.cp_mass() + cv = gas.cv_mass() + gamma = cp/cv + afrozen2 = math.sqrt(gamma*GasConstant*gas.temperature() + /gas.meanMolecularWeight()) + return (aequil, afrozen, afrozen2) # test program if __name__ == "__main__": gas = GRI30() - gas.set(X = 'CH4:0.1.1, O2:2.0, N2:3.76') + gas.set(X = 'CH4:1.00, O2:2.0, N2:7.52') for n in range(27): temp = 300.0 + n*100.0 gas.set(T = temp, P = OneAtm) diff --git a/Cantera/python/examples/reactors/reactor1.py b/Cantera/python/examples/reactors/reactor1.py index b77ab2cb9..b6b60fedf 100644 --- a/Cantera/python/examples/reactors/reactor1.py +++ b/Cantera/python/examples/reactors/reactor1.py @@ -46,7 +46,7 @@ for n in range(100): args = sys.argv if len(args) > 1 and args[1] == '-plot': try: - from matplotlib.matlab import * + from matplotlib.pylab import * clf subplot(2,2,1) plot(tim,data[:,0]) diff --git a/Cantera/python/setup.py.in b/Cantera/python/setup.py.in index 33c2924aa..f7adba2fb 100644 --- a/Cantera/python/setup.py.in +++ b/Cantera/python/setup.py.in @@ -22,6 +22,10 @@ bllibstr = "@BLAS_LAPACK_LIBS@" bllibs = bllibstr.replace('-l',' ') bllist = bllibs.split() +cvlibstr = "@CVODE_LIBS@" +cvlibs = cvlibstr.replace('-l',' ') +cvlist = cvlibs.split() + extra_link = "@EXTRA_LINK@" linkargs = extra_link.split() @@ -34,11 +38,11 @@ for d in dirlist: if platform == "win32": libs = ["clib", "zeroD","oneD","transport", - "cantera","recipes"] + bllist + ["ctmath", "cvode", "tpx", "converters"] + "cantera","recipes"] + bllist + cvlist + ["ctmath", "tpx", "converters"] else: libs = ["clib", "zeroD","oneD","transport", - "cantera", "converters"] + bllist + ["ctmath", "cvode", "tpx", + "cantera", "converters"] + bllist + cvlist + ["ctmath", "tpx", "stdc++", "ctf2c", "m"] # values: diff --git a/Cantera/python/src/ctreactor_methods.cpp b/Cantera/python/src/ctreactor_methods.cpp index 5de815f74..41bbcddd8 100644 --- a/Cantera/python/src/ctreactor_methods.cpp +++ b/Cantera/python/src/ctreactor_methods.cpp @@ -79,6 +79,48 @@ py_reactor_setKineticsMgr(PyObject *self, PyObject *args) return Py_BuildValue("i",0); } +static PyObject * +py_reactor_nSensParams(PyObject *self, PyObject *args) +{ + int _val; + int i; + if (!PyArg_ParseTuple(args, "i:reactor_nSensParams", &i)) + return NULL; + + _val = reactor_nSensParams(i); + return Py_BuildValue("i",_val); +} + + +static PyObject * +py_reactor_addSensitivityReaction(PyObject *self, PyObject *args) +{ + int _val; + int i; + int rxn; + if (!PyArg_ParseTuple(args, "ii:reactor_addSensitivityReaction", &i, &rxn)) + return NULL; + + _val = reactor_addSensitivityReaction(i,rxn); + if (int(_val) == -1) return reportCanteraError(); + return Py_BuildValue("i",_val); +} + +static PyObject * +py_flowReactor_setMassFlowRate(PyObject *self, PyObject *args) +{ + int _val; + int i; + double mdot; + if (!PyArg_ParseTuple(args, "id:flowReactor_setMassFlowRate", &i, &mdot)) + return NULL; + + _val = flowReactor_setMassFlowRate(i,mdot); + if (int(_val) == -1) return reportCanteraError(); + return Py_BuildValue("i",_val); +} + + // static PyObject* // py_reactor_advance(PyObject *self, PyObject *args) // { @@ -192,6 +234,7 @@ py_reactor_massFraction(PyObject *self, PyObject *args) return Py_BuildValue("d",y); } + static PyObject* py_flowdev_new(PyObject *self, PyObject *args) { @@ -473,6 +516,20 @@ py_wall_ready(PyObject *self, PyObject *args) return Py_BuildValue("i",0); } +static PyObject * +py_wall_addSensitivityReaction(PyObject *self, PyObject *args) +{ + int _val; + int i; + int lr; + int rxn; + if (!PyArg_ParseTuple(args, "iii:wall_addSensitivityReaction", &i, &lr, &rxn)) + return NULL; + + _val = wall_addSensitivityReaction(i,lr,rxn); + if (int(_val) == -1) return reportCanteraError(); + return Py_BuildValue("i",_val); +} static PyObject* py_reactornet_new(PyObject *self, PyObject *args) @@ -504,6 +561,18 @@ py_reactornet_setTolerances(PyObject *self, PyObject *args) return Py_BuildValue("i",0); } +static PyObject* +py_reactornet_setSensitivityTolerances(PyObject *self, PyObject *args) +{ + int n; + double rtol, atol; + if (!PyArg_ParseTuple(args, "idd:reactornet_setSensitivityTolerances", &n, &rtol, &atol)) + return NULL; + int iok = reactornet_setSensitivityTolerances(n, rtol, atol); + if (iok < 0) return reportError(iok); + return Py_BuildValue("i",0); +} + static PyObject* py_reactornet_setInitialTime(PyObject *self, PyObject *args) { @@ -558,3 +627,45 @@ py_reactornet_step(PyObject *self, PyObject *args) return NULL; return Py_BuildValue("d",reactornet_step(n, t)); } + + +static PyObject * +py_reactornet_rtol(PyObject *self, PyObject *args) +{ + double _val; + int i; + if (!PyArg_ParseTuple(args, "i:reactornet_rtol", &i)) + return NULL; + + _val = reactornet_rtol(i); + return Py_BuildValue("d",_val); +} + + +static PyObject * +py_reactornet_atol(PyObject *self, PyObject *args) +{ + double _val; + int i; + if (!PyArg_ParseTuple(args, "i:reactornet_atol", &i)) + return NULL; + + _val = reactornet_atol(i); + return Py_BuildValue("d",_val); +} + + +static PyObject * +py_reactornet_sensitivity(PyObject *self, PyObject *args) +{ + double _val; + int i; + char* v; + int p, r; + if (!PyArg_ParseTuple(args, "isii:reactornet_sensitivity", &i, &v, &p, &r)) + return NULL; + + _val = reactornet_sensitivity(i,v,p,r); + return Py_BuildValue("d",_val); +} + diff --git a/Cantera/python/src/methods.h b/Cantera/python/src/methods.h index efeececea..c25bdd0e8 100644 --- a/Cantera/python/src/methods.h +++ b/Cantera/python/src/methods.h @@ -201,6 +201,7 @@ static PyMethodDef ct_methods[] = { //{"reactor_setInitialTime", py_reactor_setInitialTime, METH_VARARGS}, {"reactornet_setInitialTime", py_reactornet_setInitialTime, METH_VARARGS}, {"reactornet_setTolerances", py_reactornet_setTolerances, METH_VARARGS}, + {"reactornet_setSensitivityTolerances", py_reactornet_setSensitivityTolerances, METH_VARARGS}, {"flowdev_new", py_flowdev_new, METH_VARARGS}, {"flowdev_massFlowRate", py_flowdev_massFlowRate, METH_VARARGS}, {"flowdev_del", py_flowdev_del, METH_VARARGS}, @@ -233,6 +234,12 @@ static PyMethodDef ct_methods[] = { {"reactornet_del", py_reactornet_del, METH_VARARGS}, {"reactor_intEnergy_mass", py_reactor_intEnergy_mass, METH_VARARGS}, {"reactor_massFraction", py_reactor_massFraction, METH_VARARGS}, + {"reactor_nSensParams", py_reactor_nSensParams, METH_VARARGS}, + {"reactor_addSensitivityReaction", py_reactor_addSensitivityReaction, METH_VARARGS}, + {"flowReactor_setMassFlowRate", py_flowReactor_setMassFlowRate, METH_VARARGS}, + {"reactornet_rtol", py_reactornet_rtol, METH_VARARGS}, + {"reactornet_atol", py_reactornet_atol, METH_VARARGS}, + {"reactornet_sensitivity", py_reactornet_sensitivity, METH_VARARGS}, {"wall_install", py_wall_install, METH_VARARGS}, {"wall_setkinetics", py_wall_setkinetics, METH_VARARGS}, {"wall_area", py_wall_area, METH_VARARGS}, @@ -248,6 +255,7 @@ static PyMethodDef ct_methods[] = { {"wall_setEmissivity", py_wall_setEmissivity, METH_VARARGS}, {"wall_setExpansionRateCoeff", py_wall_setExpansionRateCoeff, METH_VARARGS}, {"wall_ready", py_wall_ready, METH_VARARGS}, + {"wall_addSensitivityReaction", py_wall_addSensitivityReaction, METH_VARARGS}, {"func_new", py_func_new, METH_VARARGS}, {"func_newcombo", py_func_newcombo, METH_VARARGS}, diff --git a/Cantera/src/FuncEval.h b/Cantera/src/FuncEval.h index 0904af0a2..196df8b98 100755 --- a/Cantera/src/FuncEval.h +++ b/Cantera/src/FuncEval.h @@ -31,6 +31,9 @@ namespace Cantera { public: + FuncEval() {} + virtual ~FuncEval() {} + /** * Evaluate the right-hand-side function. Called by the * integrator. diff --git a/ChangeLog b/ChangeLog index c8704a404..2610d42f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,801 @@ +2005-10-24 15:13 hkmoffa + + * Cantera/src/thermo/SingleSpeciesTP.cpp: Forgot the member + function getCp_R_ref() in the previous commit. This commit adds + that function. + +2005-10-24 14:57 hkmoffa + + * Cantera/cxx/include/thermo.h: Added the new file. + +2005-10-24 14:52 hkmoffa + + * Cantera/src/thermo/: Makefile.in, SingleSpeciesTP.cpp, + SingleSpeciesTP.h, StoichSubstanceSSTP.cpp, + StoichSubstanceSSTP.h: Added an example of SingleSpeciesTP, + called StoichSubstanceSSTP, which does the same thing as the + StoichSubstance in the previous directory. Put more + functionality in the SingleSpeciesTP level; it now evaluates the + reference polynomials. + +2005-10-24 14:38 hkmoffa + + * Cantera/src/ThermoPhase.h: Moved the getStandardChemPotentials() + routine to the standard state functions member group. + +2005-10-24 11:03 hkmoffa + + * Cantera/cxx/include/thermo.h: Added a thermo.h file to the cxx + directory. This file is analogous to the transport.h file. + +2005-10-24 10:03 hkmoffa + + * Cantera/src/ThermoPhase.h: Moved the getActivities and + getActivityCoefficients() functions to the activities member + group. + +2005-10-24 09:41 dggoodwin + + * Cantera/src/: ODE_integrators.cpp, CVodesIntegrator.h, + CVodesIntegrator.cpp: initial import + +2005-10-24 08:39 hkmoffa + + * Cantera/src/: State.h, State.cpp: Added the copy constructor and + assignment operator. + +2005-10-21 17:53 hkmoffa + + * Cantera/src/importCTML.cpp: Generalization of the getStick() + routine, to include the case where you have bulk reactants as + well as surface reactants and a single gas phase reactant. + +2005-10-21 17:35 hkmoffa + + * Cantera/src/MultiPhase.h: Added cvs information to the file. + +2005-10-21 17:29 hkmoffa + + * Cantera/src/Makefile.in: Missed a .h file in the last commit. + +2005-10-21 17:18 hkmoffa + + * Cantera/src/: ConstCpPoly.cpp, ConstCpPoly.h, + GeneralSpeciesThermo.cpp, GeneralSpeciesThermo.h, Makefile.in, + Mu0Poly.cpp, Mu0Poly.h, NasaPoly1.h, NasaPoly2.h, NasaThermo.h, + ShomatePoly.h, ShomateThermo.h, SimpleThermo.h, SpeciesThermo.h, + SpeciesThermoFactory.cpp, SpeciesThermoInterpType.h, + SpeciesThermoMgr.h, speciesThermoTypes.h: General commit for a + reworking of the Species reference state thermo calculation. This + is a reclarification of the reference state thermo calculations + for individual species, and an expansion to handle liquid phase + thermo needs. + + There is now a virtual base class for the calculation of + reference state thermo functions for individual species. It is + called SpeciesThermoInterpType. + + There is also a class which allows for a complete general + calculation of the reference state species thermo for a phase, + GeneralSpeciesThermo. + + Some of this new functionality may be relegated to ifdef blocks + in the future to limit the amount of code for users who don't + need the new functionality. + +2005-10-21 15:44 hkmoffa + + * Cantera/src/reaction_defs.h: Added cvs info for this file. + +2005-10-21 15:41 hkmoffa + + * Cantera/src/IdealGasPhase.h: Fixed an error in the doxygen + comments that caused my version of doxygen to segfault. This was + caused by member groups not having a closing bracket. + +2005-10-21 15:25 hkmoffa + + * Cantera/src/: IdealGasPhase.cpp, IdealGasPhase.h: Filled out 2 + missing functions to this ThermoPhase object: getIntEnergy_RT() + and getIntEnergy_RT_ref(). + +2005-10-21 15:16 hkmoffa + + * Cantera/src/ThermoPhase.h: Added a detailed doxygen member + function description. + +2005-10-21 15:15 hkmoffa + + * Cantera/src/StoichSubstance.h: Added more documentation to + doxygen. + +2005-10-21 14:57 hkmoffa + + * Cantera/src/StoichSubstance.h: Added 3 missing member functions. + Note, this class is still not complete; it's missing the ref + functions. + +2005-10-21 14:42 hkmoffa + + * Cantera/src/Kinetics.h: Changed some comments so that they + reflect the correct units. + +2005-10-21 14:39 hkmoffa + + * Cantera/src/misc.cpp: Added entries to the errorhandling group in + the doxygen documentation. + +2005-10-21 14:38 hkmoffa + + * Cantera/src/Constituents.h: Eliminated a doxygen warning message. + Also, took out the log file entry. + +2005-10-21 14:35 hkmoffa + + * Cantera/src/ctexceptions.h: Just changed the comments. Added an + errorhandling group to group together functions and classes + dealing with error handling in the doxygen output. + +2005-10-21 14:28 hkmoffa + + * Cantera/src/units.h: Added the unit 'gmol' to the list of + recognized units. Added more accuracy to the eV unit. + +2005-10-21 11:23 hkmoffa + + * Cantera/src/: Constituents.cpp, Constituents.h: Added a copy + constructor and an assignment operator. + +2005-10-21 09:18 hkmoffa + + * Cantera/src/: ThermoPhase.cpp, ThermoPhase.h: Added a routine to + the ThermoPhase specification: activityConvention(). This has a + default value of molar-based. The other option is molality based. + +2005-10-21 08:51 hkmoffa + + * .cvsignore: Added the file config.h to this list. It's a + generated file. + +2005-10-20 17:57 dggoodwin + + * Cantera/python/examples/gasdynamics/soundSpeeds.py: initial + import + +2005-10-20 16:33 hkmoffa + + * config.h.in: Added a compilation define when electrolytes are + included. + +2005-10-20 16:31 hkmoffa + + * config/configure.in: Added support for compiling the src/thermo + directory. + +2005-10-20 16:30 hkmoffa + + * configure: Added the WITH_ELECTROLYTE keyword into the script. + However, I have made the default so that the thermo directory is + not compiled. + +2005-10-20 16:29 hkmoffa + + * Cantera/src/Makefile.in: Added logic for including the thermo + directory into the main compilation step. + +2005-10-20 16:27 hkmoffa + + * Cantera/src/thermo/: .cvsignore, Makefile.in, + SingleSpeciesTP.cpp, SingleSpeciesTP.h: Added the SingleSpeciesTP + file as a trial commit. Want to get the bugs out of adding these + files to the main distribution first. + +2005-10-04 09:53 hkmoffa + + * Cantera/src/xml.cpp: Commented the _require() routine. + +2005-09-29 14:05 hkmoffa + + * ext/tpx/: CarbonDioxide.cpp, Heptane.cpp: Fixed a compilation + error on Linux. + +2005-09-27 05:12 dggoodwin + + * Cantera/src/Constituents.cpp, Cantera/src/ThermoFactory.cpp, + Cantera/src/ct_defs.h, Cantera/src/ctvector.cpp, + Cantera/src/recipes.h, configure, Cantera/clib/src/ctonedim.cpp: + minor cleanup + +2005-09-27 05:08 dggoodwin + + * Cantera/src/Makefile.in: removed reference to recipes.h + +2005-09-27 05:08 dggoodwin + + * Cantera/src/stringUtils.cpp: changed stripws to allow spaces in + the middle of strings + +2005-09-21 20:45 dggoodwin + + * Cantera/python/examples/equilibrium/adiabatic.py: added phi title + to output csv file + +2005-09-15 21:57 dggoodwin + + * Cantera/python/Cantera/liquidvapor.py, + Cantera/python/examples/liquid_vapor/critProperties.py, + Cantera/src/BandMatrix.cpp, data/inputs/liquidvapor.cti, + tools/src/fixtext.cpp: changes to support the classes for CO2 and + heptane in tpx + +2005-09-15 21:55 dggoodwin + + * ext/tpx/: CarbonDioxide.cpp, CarbonDioxide.h, Heptane.cpp, + Heptane.h, Makefile.in, subs.h, utils.cpp: added files for CO2 + and heptane contributed by R. Hunt, Stanford + +2005-09-15 08:59 dggoodwin + + * win32/vc7/SetupCantera/: SetupCantera.vdproj, + SetupCanteraLite.vdproj: does not include static libs + +2005-09-14 20:50 dggoodwin + + * Cantera/src/oneD/: Domain1D.cpp, MultiNewton.cpp, StFlow.cpp, + StFlow.h, boundaries1D.cpp, oneD_files.cpp: changes to make + solution of user-defined BVPs simpler. + +2005-09-14 20:47 dggoodwin + + * Cantera/src/oneD/Inlet1D.h: overloaded setupGrid in boundary1D to + do nothing. Without this, Domain1D::setupGrid would be called for + connector domains. + +2005-09-14 20:43 dggoodwin + + * Cantera/python/examples/equilibrium/multiphase_plasma.py: added + comment + +2005-09-14 20:40 dggoodwin + + * Cantera/python/examples/flames/adiabatic_flame.py: changed error + tolerance for time integration. The previous large value of atol + was causing problems. + +2005-09-13 10:10 dggoodwin + + * Cantera/src/oneD/: Domain1D.cpp, Domain1D.h, Inlet1D.h, + Sim1D.cpp, oneD_files.cpp: modifications to simplify solving + boundary value problems + +2005-09-01 20:41 dggoodwin + + * test_problems/ck2cti_test/: runtest.in, soot.inp, + soot_blessed.cti, therm_soot.dat: added test of extensions for + large molecules as implemented in the MIT soot mechanism. + +2005-08-30 13:28 dggoodwin + + * test_problems/Makefile.in: removed silane_eqil + +2005-08-30 13:28 dggoodwin + + * test_problems/python/: frac.cti, frac.py, frac_blessed.out, + runtest: modified the frac test + +2005-08-29 13:23 dggoodwin + + * win32/vc7/config_h/docopy.cmd: initial import + +2005-08-26 09:28 hkmoffa + + * configure: Changed the default back to the case where Cantera + will make its own lapack and blas libraries. + +2005-08-26 07:59 hkmoffa + + * config/configure.in: Added an ending 'fi' + +2005-08-18 20:17 dggoodwin + + * winconfig.h, Cantera/matlab/cantera/buildwin.m, + Cantera/matlab/cantera/private/ctmethods.cpp, + Cantera/matlab/cantera/private/mllogger.h, + Cantera/matlab/cantera/private/write.cpp, + Cantera/python/src/pycantera.cpp, Cantera/src/logger.h, + Cantera/src/misc.cpp, Cantera/src/oneD/MultiJac.cpp, + config/configure.in: corrected minor bugs in windows versions of + files + +2005-08-18 11:16 dggoodwin + + * configure, Cantera/src/State.cpp, config/configure, + config/configure.in, ext/f2c_libs/arith.h: minor cleanup + +2005-07-30 14:49 hkmoffa + + * Cantera/src/ctml.cpp: Fixed an error where Cantera would seg + fault if errors in the XML file occurred. + +2005-07-28 16:02 hkmoffa + + * Cantera/src/converters/CKParser.cpp: Got rid of one warning + message. + +2005-07-28 16:01 hkmoffa + + * Cantera/src/converters/ck2ct.cpp: Changed the format type of an + fprintf statement. + +2005-07-28 14:53 hkmoffa + + * Cantera/src/: ctml.cpp, ctml.h: Added the getMatrixValues + routine. This routine fills in a matrix of doubles, keyed by a + lookup name that determines the two indecises, e.g.: + H+:Cl-:3.0E5 This introduces a triplet notation into the Cantera + API. Added a parameter to the getFloatArray() routine, that has + a default value -> so it shouldn't cause any changes to the API. + +2005-07-28 14:40 hkmoffa + + * Cantera/src/: stringUtils.cpp, stringUtils.h: Added the + atofCheck() routine. + +2005-07-25 20:56 dggoodwin + + * winconfig.h, Cantera/src/EdgeKinetics.h, + Cantera/src/InterfaceKinetics.cpp, + Cantera/src/InterfaceKinetics.h, Cantera/src/Kinetics.h, + Cantera/src/ReactionStoichMgr.cpp, + Cantera/src/ReactionStoichMgr.h, Cantera/src/StoichManager.h, + Cantera/src/converters/CKParser.cpp, + Cantera/src/converters/Reaction.h, + Cantera/src/converters/ck2ct.cpp: cleanup + +2005-07-24 20:54 dggoodwin + + * Cantera/src/ReactionStoichMgr.cpp: changed how global reactions + are handled + +2005-07-24 20:53 dggoodwin + + * Cantera/src/converters/: CKReader.cpp, CKReader.h, ck2ct.cpp: + support for fractional stoich coefficients + +2005-07-24 20:52 dggoodwin + + * Cantera/src/converters/: Reaction.cpp, Reaction.h: added fwdOrder + +2005-07-24 20:51 dggoodwin + + * Cantera/src/converters/CKParser.cpp: now recognizes the FORD + keyword + +2005-07-23 07:12 dggoodwin + + * test_problems/silane_equil/output_blessed.txt: SI chem potential + changed in last digit + +2005-07-22 06:33 dggoodwin + + * Cantera/src/ChemEquil.cpp, Cantera/src/GasKinetics.cpp, + Cantera/src/GasKinetics.h, configure, ext/f2c_libs/arith.h: + cleanup + +2005-07-22 05:50 dggoodwin + + * examples/cxx/: Makefile.in, equil_example1.cpp, example_utils.h, + examples.cpp, kinetics_example1.cpp, kinetics_example2.cpp, + rxnpath_example1.cpp, transport_example1.cpp, + transport_example2.cpp: updated + +2005-07-22 05:50 dggoodwin + + * Cantera/src/equilibrate.cpp: minor cleanup + +2005-07-22 05:36 dggoodwin + + * Cantera/python/setup.py.in: replaced g2c with ctf2c + +2005-07-21 21:36 dggoodwin + + * Cantera/src/equil.h: changed default loglevel to 0. + +2005-07-21 20:27 dggoodwin + + * Cantera/src/: ChemEquil.cpp, ChemEquil.h, equil.h, + equilibrate.cpp, MultiPhase.cpp, MultiPhase.h, + MultiPhaseEquil.cpp, MultiPhaseEquil.h: enhanced and cleaned up + equilibrium code + +2005-07-21 08:00 dggoodwin + + * test_problems/python/.cvsignore: fixed .cvsignore so that + frac_blessed.out is not included + +2005-07-16 05:19 dggoodwin + + * test_problems/python/frac_blessed.out: removed diagnostic + messages + +2005-07-14 11:44 dggoodwin + + * Cantera/src/: MultiPhase.cpp, MultiPhase.h, ChemEquil.h: + improvements to equilibrate + +2005-07-14 11:40 dggoodwin + + * Cantera/src/: importCTML.cpp, importCTML.h: allow tolerance on + reaction element balances, rather than requiring precise balance + +2005-07-02 11:46 hkmoffa + + * config/configure.in: Fixed an error in the configure.in file, + where the F90 interface was requested to be not built, but an + attempt to build it is made anyway -> windows cygwin interface. + +2005-07-02 11:30 hkmoffa + + * configure: Took out an extraneous line that might be confusing. + +2005-06-28 09:00 hkmoffa + + * Cantera/src/MultiPhase.cpp: Fixed a compilation error condition. + Commented out the call to init() within updatePhases(). + +2005-06-27 07:51 dggoodwin + + * Cantera/src/: MultiPhaseEquil.cpp, MultiPhaseEquil.h, + MultiPhase.h, MultiPhase.cpp: cleanup + +2005-06-25 08:57 dggoodwin + + * Makefile.in, Cantera/clib/src/ctmultiphase.cpp, + Cantera/python/examples/.cvsignore, + Cantera/python/examples/run_examples.py, + Cantera/src/MultiPhase.cpp, Cantera/src/MultiPhaseEquil.cpp, + Cantera/src/MultiPhaseEquil.h: cleanup + +2005-06-25 06:16 dggoodwin + + * Cantera/python/examples/: catcomb.py, critProperties.py, + diamond.py, dustygas.py, flame1.py, flame2.py, function1.py, + isentropic.py, mix1.py, mix2.py, npflame1.py, rankine.py, + reactor1.py, reactor2.py, rxnpath1.py, rxnpath2.py, stflame1.py, + flames/npflame1.py, flames/ohn.cti, gasdynamics/isentropic.py, + liquid_vapor/critProperties.py, liquid_vapor/rankine.py, + misc/rxnpath1.py, reactors/function1.py, reactors/mix1.py, + reactors/mix2.py, reactors/reactor1.py, reactors/reactor2.py, + surface_chemistry/catcomb.py, surface_chemistry/diamond.py, + transport/dustygas.py: reorganized + +2005-06-24 22:27 dggoodwin + + * Cantera/clib/src/ctmultiphase.cpp, + Cantera/python/Cantera/OneD/__init__.py, + Cantera/python/examples/catcomb.py, + Cantera/python/examples/flames/ohn.cti, + Cantera/src/MultiPhase.cpp, Cantera/src/MultiPhase.h, + Cantera/src/MultiPhaseEquil.cpp, Cantera/src/MultiPhaseEquil.h, + Cantera/src/StoichManager.h, Cantera/src/ThermoPhase.h, + Cantera/src/oneD/Domain1D.h, Cantera/src/oneD/OneDim.cpp, + Cantera/src/oneD/StFlow.cpp, tools/src/package4mac.in, + tools/templates/f77/demo.mak.in, tools/templates/f90/demo.mak.in: + cleanup + +2005-06-24 21:55 dggoodwin + + * win32/vc7/: cantera.sln, SetupCantera/SetupCantera.vdproj, + cantera/cantera.vcproj: minor cleanup + +2005-06-24 10:43 dggoodwin + + * apps/MixMaster/KineticsFrame.py: changed default to non-browser + +2005-06-24 10:04 dggoodwin + + * README.txt: updated + +2005-06-23 08:14 hkmoffa + + * config/: configure, configure.in: Took out the version number + from the path directories. Simplified the installation + variability in the process by taking out the choice for a + distributed installation. Now, everything looks the same under + the "Cantera Installation Directory Tree" hood, no matter what + version is used. This should reduce the number of installation + problems encountered. + +2005-06-23 08:10 hkmoffa + + * Makefile.in: Changed the rm commands to use a common rule. On + occasion make was failing because rm didn't have the -r option + when it encountered directories. + +2005-06-18 11:03 dggoodwin + + * Makefile.in: copy cti files to Python flame demo directory + +2005-06-18 11:02 dggoodwin + + * Cantera/python/examples/flames/: free_h2_air.py, ohn.cti: add + free H2/air flame example + +2005-06-18 10:01 dggoodwin + + * tools/templates/cxx/demo.mak.in: Prerelease_1_6_0_branch merged + into trunk + +2005-06-18 09:58 dggoodwin + + * .cvsignore, ChangeLog, INSTALLING, Makefile.in, README, + config.h.in, configure, winconfig.h, Cantera/Makefile.in, + Cantera/clib/src/Cabinet.h, Cantera/clib/src/Makefile.in, + Cantera/clib/src/Storage.cpp, Cantera/clib/src/ct.cpp, + Cantera/clib/src/ct.h, Cantera/clib/src/ctfunc.cpp, + Cantera/clib/src/ctmultiphase.cpp, + Cantera/clib/src/ctmultiphase.h, Cantera/clib/src/ctonedim.cpp, + Cantera/clib/src/ctonedim.h, Cantera/clib/src/ctreactor.cpp, + Cantera/clib/src/ctrpath.cpp, Cantera/clib/src/ctxml.cpp, + Cantera/cxx/Makefile.in, Cantera/cxx/demos/Makefile.in, + Cantera/cxx/demos/flamespeed.cpp, + Cantera/cxx/demos/kinetics1.cpp, Cantera/cxx/demos/rankine.cpp, + Cantera/cxx/include/Cantera.h, Cantera/cxx/include/equilibrium.h, + Cantera/cxx/include/importPhase.h, + Cantera/cxx/include/integrators.h, Cantera/cxx/include/onedim.h, + Cantera/cxx/include/transport.h, Cantera/cxx/include/zerodim.h, + Cantera/cxx/src/cxxutils.cpp, + Cantera/fortran/src/cantera_kinetics.f90, + Cantera/fortran/src/cantera_thermo.f90, + Cantera/matlab/Makefile.in, Cantera/matlab/setup_matlab.py.in, + Cantera/matlab/cantera/buildwin.m, + Cantera/matlab/cantera/ck2cti.m, + Cantera/matlab/cantera/1D/@Domain1D/Domain1D.m, + Cantera/matlab/cantera/1D/@Domain1D/private/domain_methods.m, + Cantera/matlab/cantera/@Mixture/Mixture.m, + Cantera/matlab/cantera/@Mixture/addPhase.m, + Cantera/matlab/cantera/@Mixture/chemPotentials.m, + Cantera/matlab/cantera/@Mixture/display.m, + Cantera/matlab/cantera/@Mixture/elementIndex.m, + Cantera/matlab/cantera/@Mixture/equilibrate.m, + Cantera/matlab/cantera/@Mixture/mix_hndl.m, + Cantera/matlab/cantera/@Mixture/nElements.m, + Cantera/matlab/cantera/@Mixture/nPhases.m, + Cantera/matlab/cantera/@Mixture/nSpecies.m, + Cantera/matlab/cantera/@Mixture/phaseMoles.m, + Cantera/matlab/cantera/@Mixture/pressure.m, + Cantera/matlab/cantera/@Mixture/setPhaseMoles.m, + Cantera/matlab/cantera/@Mixture/setPressure.m, + Cantera/matlab/cantera/@Mixture/setSpeciesMoles.m, + Cantera/matlab/cantera/@Mixture/setTemperature.m, + Cantera/matlab/cantera/@Mixture/speciesIndex.m, + Cantera/matlab/cantera/@Mixture/temperature.m, + Cantera/matlab/cantera/@Mixture/private/mixturemethods.m, + Cantera/matlab/cantera/@Reactor/mass.m, + Cantera/matlab/cantera/@Reactor/setEnergy.m, + Cantera/matlab/cantera/@Solution/display.m, + Cantera/matlab/cantera/@ThermoPhase/display.m, + Cantera/matlab/cantera/@ThermoPhase/equilibrate.m, + Cantera/matlab/cantera/@ThermoPhase/name.m, + Cantera/matlab/cantera/@ThermoPhase/setName.m, + Cantera/matlab/cantera/@ThermoPhase/private/thermo_set.m, + Cantera/matlab/cantera/examples/catcomb.m, + Cantera/matlab/cantera/examples/flame1.m, + Cantera/matlab/cantera/examples/ignite.m, + Cantera/matlab/cantera/examples/ignite2.m, + Cantera/matlab/cantera/examples/ignite3.m, + Cantera/matlab/cantera/examples/ignite_hp.m, + Cantera/matlab/cantera/examples/ignite_uv.m, + Cantera/matlab/cantera/examples/test_examples.m, + Cantera/matlab/cantera/private/ctfunctions.cpp, + Cantera/matlab/cantera/private/ctmatutils.h, + Cantera/matlab/cantera/private/ctmethods.cpp, + Cantera/matlab/cantera/private/mixturemethods.cpp, + Cantera/matlab/cantera/private/onedimmethods.cpp, + Cantera/matlab/cantera/private/phasemethods.cpp, + Cantera/matlab/cantera/private/thermomethods.cpp, + Cantera/matlab/cantera/private/write.cpp, + Cantera/matlab/cantera/tutorial/tut1.m, + Cantera/matlab/cantera/tutorial/tut4.m, + Cantera/python/Makefile.in, Cantera/python/ctml_writer.py, + Cantera/python/setup.py.in, Cantera/python/winsetup.py, + Cantera/python/Cantera/Kinetics.py, + Cantera/python/Cantera/Phase.py, + Cantera/python/Cantera/ThermoPhase.py, + Cantera/python/Cantera/__init__.py, + Cantera/python/Cantera/ck2cti.py, + Cantera/python/Cantera/constants.py, + Cantera/python/Cantera/mixture.py, Cantera/python/Cantera/num.py, + Cantera/python/Cantera/OneD/BurnerFlame.py, + Cantera/python/Cantera/OneD/FreeFlame.py, + Cantera/python/Cantera/OneD/onedim.py, + Cantera/python/examples/flame1.py, + Cantera/python/examples/equilibrium/KOH.cti, + Cantera/python/examples/equilibrium/adiabatic.py, + Cantera/python/examples/equilibrium/multiphase_plasma.py, + Cantera/python/examples/equilibrium/plotting.py, + Cantera/python/examples/equilibrium/simple.py, + Cantera/python/examples/equilibrium/stoich.py, + Cantera/python/examples/flames/adiabatic_flame.py, + Cantera/python/examples/flames/flame1.py, + Cantera/python/examples/flames/flame2.py, + Cantera/python/examples/flames/stflame1.py, + Cantera/python/examples/kinetics/ratecoeffs.py, + Cantera/python/src/cantera.def, Cantera/python/src/ct.def, + Cantera/python/src/ctflow.def, Cantera/python/src/ctfuncs.cpp, + Cantera/python/src/ctkinetics.def, + Cantera/python/src/ctmultiphase_methods.cpp, + Cantera/python/src/ctnumerics.def, + Cantera/python/src/ctonedim_methods.cpp, + Cantera/python/src/ctphase.def, + Cantera/python/src/ctphase_methods.cpp, + Cantera/python/src/ctsurf.def, Cantera/python/src/ctthermo.def, + Cantera/python/src/ctthermo_methods.cpp, + Cantera/python/src/cttransport.def, Cantera/python/src/methods.h, + Cantera/python/src/pycantera.cpp, Cantera/python/src/pylogger.h, + Cantera/python/src/pyutils.h, Cantera/src/.cvsignore, + Cantera/src/Array.h, Cantera/src/ArrayViewer.h, + Cantera/src/BandMatrix.h, Cantera/src/ChemEquil.cpp, + Cantera/src/ChemEquil.h, Cantera/src/ConstDensityThermo.cpp, + Cantera/src/ConstDensityThermo.h, Cantera/src/Constituents.cpp, + Cantera/src/Constituents.h, Cantera/src/Elements.cpp, + Cantera/src/Elements.h, Cantera/src/GRI_30_Kinetics.cpp, + Cantera/src/GasKinetics.cpp, Cantera/src/GasKinetics.h, + Cantera/src/IdealGasPhase.cpp, Cantera/src/IdealGasPhase.h, + Cantera/src/ImplicitSurfChem.cpp, + Cantera/src/InterfaceKinetics.cpp, + Cantera/src/InterfaceKinetics.h, Cantera/src/Kinetics.cpp, + Cantera/src/Kinetics.h, Cantera/src/KineticsFactory.cpp, + Cantera/src/LatticeSolidPhase.cpp, + Cantera/src/LatticeSolidPhase.h, Cantera/src/Makefile.in, + Cantera/src/MetalPhase.h, Cantera/src/MultiPhase.cpp, + Cantera/src/MultiPhase.h, Cantera/src/MultiPhaseEquil.cpp, + Cantera/src/MultiPhaseEquil.h, Cantera/src/Phase.cpp, + Cantera/src/Phase.h, Cantera/src/RateCoeffMgr.h, + Cantera/src/ReactionData.h, Cantera/src/ReactionStoichMgr.cpp, + Cantera/src/ReactionStoichMgr.h, Cantera/src/RxnRates.h, + Cantera/src/SpeciesThermoFactory.cpp, Cantera/src/State.h, + Cantera/src/StoichManager.h, Cantera/src/StoichSubstance.cpp, + Cantera/src/StoichSubstance.h, Cantera/src/SurfPhase.h, + Cantera/src/ThermoFactory.cpp, Cantera/src/ThermoPhase.cpp, + Cantera/src/ThermoPhase.h, Cantera/src/config.h, + Cantera/src/ct2ctml.cpp, Cantera/src/ct_defs.h, + Cantera/src/ctexceptions.h, Cantera/src/ctml.cpp, + Cantera/src/ctvector.cpp, Cantera/src/global.h, + Cantera/src/importCTML.cpp, Cantera/src/logger.h, + Cantera/src/misc.cpp, Cantera/src/mix_defs.h, + Cantera/src/phasereport.cpp, Cantera/src/reaction_defs.h, + Cantera/src/units.h, Cantera/src/utilities.h, + Cantera/src/converters/Makefile.in, + Cantera/src/converters/ck2ct.cpp, Cantera/src/converters/ck2ct.h, + Cantera/src/oneD/Domain1D.h, Cantera/src/oneD/Inlet1D.h, + Cantera/src/oneD/Makefile.in, Cantera/src/oneD/OneDim.cpp, + Cantera/src/oneD/StFlow.cpp, Cantera/src/oneD/StFlow.h, + Cantera/src/oneD/boundaries1D.cpp, + Cantera/src/transport/Makefile.in, + Cantera/src/transport/MultiTransport.cpp, + Cantera/src/transport/SolidTransport.cpp, + Cantera/src/transport/TransportFactory.cpp, + Cantera/src/zeroD/FlowDevice.cpp, Cantera/src/zeroD/FlowDevice.h, + Cantera/src/zeroD/Makefile.in, + Cantera/src/zeroD/PID_Controller.h, + Cantera/src/zeroD/Reactor.cpp, Cantera/src/zeroD/Reactor.h, + Cantera/src/zeroD/ReactorBase.cpp, + Cantera/src/zeroD/ReactorBase.h, + Cantera/src/zeroD/ReactorNet.cpp, Cantera/src/zeroD/ReactorNet.h, + Cantera/src/zeroD/Reservoir.h, Cantera/src/zeroD/Wall.cpp, + Cantera/src/zeroD/Wall.h, Cantera/src/zeroD/flowControllers.h, + apps/MixMaster/KineticsFrame.py, apps/MixMaster/Mix.py, + apps/MixMaster/ThermoFrame.py, apps/MixMaster/ThermoProp.py, + config/configure, config/configure.in, data/inputs/elements.xml, + data/inputs/nasa.cti, data/inputs/nasa_condensed.cti, + data/inputs/nasa_gas.cti, examples/cxx/Makefile.in, + examples/cxx/equil_example1.cpp, examples/cxx/examples.cpp, + examples/cxx/kinetics_example1.cpp, ext/Makefile.in, + ext/blas/Makefile.in, ext/cvode/Makefile.in, + ext/f2c_blas/Makefile.in, ext/f2c_lapack/Makefile.in, + ext/f2c_libs/Makefile.in, ext/f2c_libs/arith.h, + ext/f2c_math/.cvsignore, ext/f2c_math/Makefile.in, + ext/f2c_math/fdump.c, ext/f2c_recipes/Makefile.in, + ext/lapack/Makefile.in, ext/math/Makefile.in, ext/tpx/.depends, + ext/tpx/Makefile.in, + test_problems/ck2cti_test/gri30a_blessed.cti, + test_problems/ck2cti_test/runtest.in, + test_problems/diamondSurf/Makefile.in, + test_problems/diamondSurf/diamond_blessed.xml, + test_problems/diamondSurf/runDiamond.cpp, + test_problems/python/flame1_blessed.csv, + test_problems/python/flame1_blessed_linux.csv, + test_problems/python/frac.cti, test_problems/python/frac.py, + test_problems/python/frac_blessed.out, + test_problems/python/runtest, + test_problems/silane_equil/Makefile.in, + test_problems/silane_equil/output_blessed.txt, + test_problems/silane_equil/silane_equil.cpp, + test_problems/surfkin/Makefile.in, tools/doc/Cantera.cfg, + tools/doc/footer.html, tools/doc/header.html, + tools/doc/doxyinput/Cantera.txt, tools/doc/doxyinput/build.txt, + tools/doc/doxyinput/ctnew.txt, + tools/doc/doxyinput/cxx-headers.txt, + tools/doc/doxyinput/demo.cpp, tools/doc/doxyinput/demo1.cpp, + tools/doc/doxyinput/demo1a.cpp, + tools/doc/doxyinput/demoequil.cpp, + tools/doc/doxyinput/equildemo.txt, tools/doc/doxyinput/ex1.cpp, + tools/doc/doxyinput/except.cpp, + tools/doc/doxyinput/exceptions.txt, + tools/doc/doxyinput/introcxx.txt, + tools/doc/doxyinput/languages.txt, + tools/doc/doxyinput/thermo.txt, + tools/doc/doxyinput/thermodemo.cpp, + tools/doc/doxyinput/thermodemo.txt, tools/src/Makefile.in, + tools/src/ck2cti.cpp, tools/src/findtag.py, + tools/src/finish_install.py.in, tools/src/fixtext.cpp, + tools/src/package4mac.in: Prerelease_1_6_0_branch merged into + trunk + +2005-06-17 20:18 dggoodwin + + * Cantera/python/Cantera/OneD/FreeFlame.py: initial import + +2005-06-16 22:49 dggoodwin + + * Cantera/matlab/cantera/@Mixture/: Mixture.m, chemPotentials.m, + display.m, elementIndex.m, equilibrate.m, mix_hndl.m, + nElements.m, nSpecies.m, phaseMoles.m, pressure.m, + setPhaseMoles.m, setPressure.m, setSpeciesMoles.m, + setTemperature.m, speciesIndex.m, temperature.m: initial import + +2005-06-16 22:46 dggoodwin + + * Cantera/python/examples/flames/adiabatic_flame.py: initial import + +2005-06-16 15:59 dggoodwin + + * Cantera/matlab/cantera/@Solution/display.m: use display method + inherited from ThermoPhase + +2005-06-15 20:08 dggoodwin + + * Makefile.in, Cantera/matlab/cantera/examples/prandtl1.m, + Cantera/python/setup.py.in, Cantera/src/ChemEquil.cpp, + Cantera/src/MultiPhaseEquil.cpp: changes to make ChemEquil more + stable + +2005-06-09 15:27 dggoodwin + + * configure, Cantera/cxx/demos/Makefile.in, + examples/cxx/Makefile.in, examples/cxx/equil_example1.cpp, + test_problems/silane_equil/Makefile.in, + test_problems/surfkin/Makefile.in: minor cleanup + +2005-06-08 15:36 dggoodwin + + * configure, Cantera/matlab/setup_matlab.py.in, + Cantera/python/setup.py.in, Cantera/src/oneD/StFlow.cpp, + Cantera/src/oneD/StFlow.h, Cantera/src/oneD/boundaries1D.cpp, + config/configure, config/configure.in, + tools/templates/cxx/demo.mak.in: support for the Accelerate + framework on the Mac + +2005-06-07 22:29 dggoodwin + + * Cantera/python/examples/equilibrium/: KOH.cti, adiabatic.py, + multiphase_plasma.py, simple.py, stoich.py: initial import + +2005-06-07 20:54 dggoodwin + + * test_problems/python/flame1_blessed_linux.csv: updated blessed + file + +2005-06-07 19:43 dggoodwin + + * Cantera/matlab/cantera/private/mixturemethods.cpp: support for + multiphase mixtures + +2005-06-06 07:28 hkmoffa + + * Cantera/src/transport/TransportFactory.cpp: Added comments. + 2005-05-22 14:07 dggoodwin * test_problems/python/: frac.cti, frac.py, frac_blessed.out, @@ -90,7 +888,9 @@ 2005-04-06 17:03 dggoodwin - * Cantera/matlab/cantera/buildwin.m: minor changes to SetupCantera + * Cantera/matlab/cantera/buildwin.m, + win32/vc7/SetupCantera/SetupCantera.vdproj: minor changes to + SetupCantera 2005-04-01 20:37 dggoodwin @@ -210,10 +1010,12 @@ 2005-02-10 00:10 dggoodwin - * Cantera/: clib/src/ct.h, matlab/cantera/buildwin.m, - matlab/cantera/private/ctmethods.cpp, python/src/pycantera.cpp, - src/MultiPhase.cpp, src/config.h, src/converters/ck2ct.cpp: minor - win32 bug fixes + * Cantera/clib/src/ct.h, Cantera/matlab/cantera/buildwin.m, + Cantera/matlab/cantera/private/ctmethods.cpp, + Cantera/python/src/pycantera.cpp, Cantera/src/MultiPhase.cpp, + Cantera/src/config.h, Cantera/src/converters/ck2ct.cpp, + win32/vc7/cantera.sln, win32/vc7/cantera/cantera.vcproj, + win32/vc7/tpx/tpx.vcproj: minor win32 bug fixes 2005-02-09 02:26 dggoodwin @@ -352,6 +1154,18 @@ kin1_blessed.csv, kin1_blessed.dat, kinetics1.cpp, rankine.cpp: added program demo to run all demos +2005-01-22 04:48 dggoodwin + + * win32/vc7/: SetupCantera/SetupCantera.vdproj, + cantera/cantera.vcproj, ck2cti/ck2cti.vcproj, + converters/converters.vcproj, ctmatlab/ctmatlab.vcproj, + ctpython/ctpython.vcproj, cvode/cvode.vcproj, + cxxutils/cxxutils.vcproj, f2c_blas/f2c_blas.vcproj, + f2c_lapack/f2c_lapack.vcproj, f2c_libs/f2c_libs.vcproj, + f2c_math/f2c_math.vcproj, f2c_recipes/f2c_recipes.vcproj, + oneD/oneD.vcproj, tpx/tpx.vcproj, transport/transport.vcproj, + zeroD/zeroD.vcproj: added hfc134a to Cantera + 2005-01-19 13:22 dggoodwin * data/inputs/: nasa.cti, nasa_condensed.cti, nasa_gas.cti: @@ -440,10 +1254,10 @@ ext/f2c_lapack/Makefile.in, ext/f2c_libs/Makefile.in, ext/f2c_math/Makefile.in, ext/f2c_recipes/Makefile.in, ext/lapack/Makefile.in, ext/math/Makefile.in, - ext/recipes/Makefile.in, ext/tpx/Makefile.in, - tools/src/Makefile.in, tools/templates/cxx/demo.mak.in: Revision - of the Makefiles to eliminate extra work in recompiles. No - linking or compilation will be done if not necessary + ext/tpx/Makefile.in, tools/src/Makefile.in, + tools/templates/cxx/demo.mak.in: Revision of the Makefiles to + eliminate extra work in recompiles. No linking or compilation + will be done if not necessary .h files are sent to build/include tree in the lower level makefiles, as a consequence. @@ -504,6 +1318,20 @@ * data/inputs/: graphite.cti, water.cti: added water.cti +2005-01-07 17:10 dggoodwin + + * win32/vc7/: cantera/cantera.vcproj, config_h/config_h.vcproj: + added a file to project cantera + +2005-01-07 16:59 dggoodwin + + * win32/vc7/config_h/config_h.vcproj: added project config_h + +2005-01-07 16:29 dggoodwin + + * win32/vc7/demos/: CanteraDemos.sln, Rankine.vcproj: added project + rankine + 2005-01-07 02:26 dggoodwin * Cantera/: clib/src/ct.cpp, clib/src/ct.h, @@ -615,6 +1443,50 @@ * ext/tpx/Sub.cpp: fixed problem with starting guess for T in Tsat that caused an exception with T > Tcrit on entry +2005-01-04 17:04 hkmoffa + + * win32/vc7/cvode/.cvsignore: Added a directory name + +2005-01-04 17:03 hkmoffa + + * win32/vc7/.cvsignore: added a file name + +2005-01-04 17:01 hkmoffa + + * win32/vc7/: transport/.cvsignore, oneD/.cvsignore: Added a + directory + +2005-01-04 17:00 hkmoffa + + * win32/vc7/SetupCantera/.cvsignore: Adding the .cvsignore file + +2005-01-04 16:58 hkmoffa + + * win32/vc7/clib/: .cvsignore, clib.vcproj: Changed the library + paths in the Debug and Release versions. + +2005-01-04 16:54 hkmoffa + + * win32/vc7/ctmatlab/: .cvsignore, runmlab.cmd: changed forward + slashes into backslashes. + +2005-01-04 16:46 hkmoffa + + * win32/vc7/ctpython/: .cvsignore, ctpython.vcproj, runpython.cmd: + changed runpython.cmd to use backslashes. + +2005-01-04 14:28 hkmoffa + + * win32/vc7/SetupCantera/SetupCantera.vdproj: Changed LF's to + CR-LF's in the entire file. mcvc++ was having trouble reading the + file with just LF's. + +2005-01-04 14:23 hkmoffa + + * win32/vc7/SetupCantera/SetupCantera.vdproj: Changed LF's into + CR-LF's in this file. This was causing msvc++ not to be able to + load the file, at least for me. + 2005-01-04 12:32 hkmoffa * Cantera/src/transport/Makefile.in: New Makefile Format: @@ -644,6 +1516,11 @@ * Cantera/src/MultiPhase.cpp: initial import +2004-12-13 10:38 dggoodwin + + * win32/vc7/demos/: CanteraDemos.sln, ReadMe.txt, demo.vcproj: + initial import + 2004-12-13 06:58 dggoodwin * tools/bin/cvs2cl.pl: updated version @@ -709,6 +1586,25 @@ * Cantera/src/importCTML.cpp: changed buildSolutionFromXML to use get_XML_NameID instead of get_XML_Node +2004-11-15 14:07 hkmoffa + + * win32/vc7/ck2cti/ck2cti.vcproj: use debug libraries on debug + version. + +2004-11-15 14:05 hkmoffa + + * win32/vc7/diamondSurf/diamondSurf.vcproj: ignored msvct default + library + +2004-11-15 14:03 hkmoffa + + * win32/vc7/cantera/cantera.vcproj: Dos format + +2004-11-15 13:41 hkmoffa + + * win32/vc7/clib/clib.vcproj: For the debug dll, you have to + compile with debug libraries. + 2004-11-15 12:52 hkmoffa * Cantera/clib/src/ct.cpp: Added a static_cast. @@ -761,6 +1657,10 @@ * bin/install_tsc.in: Check for destination directory existing. +2004-10-16 04:09 dggoodwin + + * win32/vc7/SetupCantera/SetupCantera.vdproj: initial import + 2004-10-16 03:12 dggoodwin * Cantera/python/winsetup.py: initial import @@ -778,6 +1678,34 @@ * tools/src/: package4mac.in, postflight: Mac install script +2004-10-12 06:56 dggoodwin + + * win32/vc7/: cantera.sln, cantera_examples.sln, + cantera/cantera.vcproj, ck2cti/ck2cti.vcproj, clib/clib.vcproj, + converters/converters.vcproj, cti2ctml/cti2ctml.vcproj, + cvode/cvode.vcproj, cxxutils/cxxutils.vcproj, + f2c_blas/f2c_blas.vcproj, f2c_lapack/f2c_lapack.vcproj, + f2c_libs/f2c_libs.vcproj, f2c_math/f2c_math.vcproj, + f2c_recipes/f2c_recipes.vcproj, oneD/oneD.vcproj, + silane_equil/silane_equil.vcproj, tpx/tpx.vcproj, + transport/transport.vcproj, zeroD/zeroD.vcproj: added ctpython, + changed c libs to multithreaded DLL, changed properties for + release version + +2004-10-12 06:55 dggoodwin + + * win32/vc7/ctpython/: ctpython.vcproj, runpython.cmd: files to + build the Python interface within Visual Studio + +2004-10-11 07:36 dggoodwin + + * win32/vc7/: cantera.sln, cantera/cantera.vcproj, + cvode/cvode.vcproj, f2c_arithchk/f2c_arithchk.vcproj, + f2c_blas/f2c_blas.vcproj, f2c_lapack/f2c_lapack.vcproj, + f2c_libs/f2c_libs.vcproj, f2c_math/f2c_math.vcproj, + f2c_recipes/f2c_recipes.vcproj, tpx/tpx.vcproj, + transport/transport.vcproj: bug fixes + 2004-10-10 13:46 dggoodwin * config.h.in, Cantera/src/DenseMatrix.cpp, @@ -963,6 +1891,11 @@ "default", if unspecified. Then, this default is treated in config/configure with special code. +2004-09-24 13:35 hkmoffa + + * win32/vc7/configure.vc++: Added the USE_DLL environmental + variable. + 2004-09-24 13:16 hkmoffa * Makefile.in, configure: Added USE_DLL variable and its controls. @@ -978,6 +1911,11 @@ * Cantera/python/Makefile.in: took care of problem with clib.dll for MSVC6.0 +2004-09-24 10:24 hkmoffa + + * win32/README: Added another step, involving setting up paths and + environmental variables. + 2004-09-20 03:18 dggoodwin * Cantera/src/: EdgeKinetics.cpp, EdgeKinetics.h, ReactionData.h, @@ -988,6 +1926,10 @@ * Makefile.in: Added dll install +2004-09-16 15:07 hkmoffa + + * win32/README: Added another step. + 2004-09-16 14:43 hkmoffa * test_problems/python/runtest: Fixed an error in the default @@ -997,6 +1939,19 @@ * tools/src/ck2cti.cpp: Added an id string. +2004-09-16 10:54 hkmoffa + + * win32/vc7/cantera.sln: Added a few more dependencies to sln file. + +2004-09-16 10:54 hkmoffa + + * win32/vc7/ck2cti/ck2cti.vcproj: Fixed an error. + +2004-09-16 10:53 hkmoffa + + * win32/vc7/cvode/cvode.vcproj: Changed an absolute pathname into a + relative pathname. + 2004-09-16 10:52 hkmoffa * test_problems/: diamondSurf/Makefile.in, @@ -1024,6 +1979,14 @@ * Cantera/src/converters/ck2ct.cpp: Took out a print statement that was causing a test to fail. +2004-09-02 13:57 hkmoffa + + * win32/vc7/configure.vc++: Took out HKM comments + +2004-09-02 13:48 hkmoffa + + * win32/README: Added a cd command. + 2004-08-28 09:13 dggoodwin * tools/bin/erase: script to remove a file from the repository @@ -1050,6 +2013,17 @@ * bin/.cvsignore: added some windows tmp files +2004-08-27 13:29 hkmoffa + + * win32/README: Added detailed instructions for vc7 + +2004-08-27 13:26 hkmoffa + + * win32/vc7/: .cvsignore, cantera.sln, cantera_examples.sln, + csvdiff/.cvsignore, csvdiff/csvdiff.vcproj, + cxx_examples/.cvsignore, cxx_examples/cxx_examples.vcproj: Second + generation of vc7 port. + 2004-08-27 13:21 hkmoffa * test_problems/python/runtest: Currently, linux and MSVC are @@ -1070,6 +2044,10 @@ * config/configure.in: Added a default 0 to BUILD_PARTICLES value +2004-08-27 08:42 hkmoffa + + * win32/vc7/configure.vc++: Initial commit + 2004-08-10 13:39 hkmoffa * test_problems/python/: .cvsignore, flame1_blessed_linux.csv, @@ -1152,6 +2130,29 @@ * ext/f2c_lapack/dlamch.c: Added a stdio.h reference. +2004-08-09 17:18 hkmoffa + + * win32/vc7/: .cvsignore, cantera.sln, cantera/.cvsignore, + cantera/cantera.vcproj, ck2cti/.cvsignore, ck2cti/ck2cti.vcproj, + clib/.cvsignore, clib/clib.vcproj, converters/.cvsignore, + converters/converters.vcproj, cti2ctml/.cvsignore, + cti2ctml/cti2ctml.vcproj, cvode/.cvsignore, cvode/cvode.vcproj, + cxxutils/.cvsignore, cxxutils/cxxutils.vcproj, + diamondSurf/.cvsignore, diamondSurf/diamondSurf.vcproj, + f2c_arithchk/.cvsignore, f2c_arithchk/f2c_arithchk.vcproj, + f2c_blas/.cvsignore, f2c_blas/f2c_blas.vcproj, + f2c_lapack/.cvsignore, f2c_lapack/f2c_lapack.vcproj, + f2c_libs/.cvsignore, f2c_libs/f2c_libs.vcproj, + f2c_math/.cvsignore, f2c_math/f2c_math.vcproj, + f2c_recipes/.cvsignore, f2c_recipes/f2c_recipes.vcproj, + oneD/.cvsignore, oneD/oneD.vcproj, pycantera/.cvsignore, + pycantera/pycantera.vcproj, silane_equil/.cvsignore, + silane_equil/silane_equil.vcproj, surfkin/.cvsignore, + surfkin/surfkin.vcproj, tpx/.cvsignore, tpx/tpx.vcproj, + transport/.cvsignore, transport/transport.vcproj, + zeroD/.cvsignore, zeroD/zeroD.vcproj: First commit of vc7 project + files. + 2004-08-09 16:58 hkmoffa * test_problems/silane_equil/: .cvsignore, runtest: MSVS @@ -1220,6 +2221,18 @@ Cantera/src/misc.cpp, config/configure, config/configure.in, ext/math/fdump.f: improvements to the configuration process +2004-08-06 16:29 hkmoffa + + * win32/vc6/: cantera.dsw, all/all.dsp, blas/blas.dsp, + cantera/cantera.dsp, cantera_examples/cantera_examples.dsw, + ck2cti/ck2cti.dsp, ckreader/ckreader.dsp, clib/clib.dsp, + converters/converters.dsp, ct/ct.dsp, ctmath/ctmath.dsp, + ctsetup/ctsetup.dsp, cvode/cvode.dsp, cxxutils/cxxutils.dsp, + cxxutils/cxxutils.mak, lapack/lapack.dsp, oneD/oneD.dsp, + recipes/recipes.dsp, tpx/tpx.dsp, tpx/tpx.mak, + transport/transport.dsp, zeroD/zeroD.dsp: Duplicating existing + structure in the new module. However, it's one directory deeper. + 2004-08-06 16:09 hkmoffa * test_problems/surfkin/surfdemo.cpp: Added a return statement. @@ -1252,10 +2265,6 @@ makefiles within the ext directory. Added support for build_with_f2c. -2004-08-06 14:50 hkmoffa - - * ext/recipes/Makefile.in: Added a depends rule - 2004-08-06 14:31 hkmoffa * config/.cvsignore: Added a dir. @@ -1489,6 +2498,14 @@ * Cantera/src/: IdealGasThermo.cpp, ImplicitChem.cpp, Makefile.in, SolidCompound.cpp, importSurfChem.cpp, surfKinetics.cpp: cleanup +2004-08-03 02:18 dggoodwin + + * win32/README: Initial revision + +2004-08-03 02:18 dggoodwin + + * win32/README: initial import + 2004-08-03 02:09 dggoodwin * Cantera/src/: Constituents.cpp, DenseMatrix.h, EOS_TPX.h, @@ -2007,7 +3024,8 @@ * Cantera/matlab/cantera/: @Reactor/private/reactormethods.cpp, @Transport/private/newTransport.cpp, @Transport/private/trans_methods.cpp, - @Wall/private/wallmethods.cpp: removed unused files + @Wall/private/wallmethods.cpp, @XML_Node/private/newxml.cpp, + @XML_Node/private/xmlmethods.cpp: removed unused files 2004-05-23 17:05 dggoodwin @@ -2573,6 +3591,10 @@ * Cantera/python/Cantera/ctml_writer.py: added capability to have species names with embedded commas +2003-10-24 03:11 dggoodwin + + * tools/doc/html/banner4.jpg: initial import + 2003-10-21 17:33 dggoodwin * Cantera/src/: State.h, State.cpp: minor cleanup @@ -3625,6 +4647,8 @@ Cantera/matlab/cantera/@XML_Node/hndl.m, Cantera/matlab/cantera/@XML_Node/value.m, Cantera/matlab/cantera/@XML_Node/write.m, + Cantera/matlab/cantera/@XML_Node/private/newxml.cpp, + Cantera/matlab/cantera/@XML_Node/private/xmlmethods.cpp, Cantera/matlab/cantera/examples/equil.m, Cantera/matlab/cantera/examples/ignite.m, Cantera/matlab/cantera/examples/ignite2.m, @@ -3958,26 +4982,27 @@ ext/math/pcoef.f, ext/math/polfit.f, ext/math/pvalue.f, ext/math/xercnt.f, ext/math/xerhlt.f, ext/math/xermsg.f, ext/math/xerprn.f, ext/math/xersve.f, ext/math/xgetua.f, - ext/recipes/.cvsignore, ext/recipes/Makefile.in, - ext/recipes/simp1.f, ext/recipes/simp2.f, ext/recipes/simp3.f, - ext/recipes/simplx.f, ext/recipes/splie2.f, ext/recipes/splin2.f, - ext/recipes/spline.f, ext/recipes/splint.f, ext/tpx/.cvsignore, - ext/tpx/.depends, ext/tpx/CFluid.cpp, ext/tpx/CFluid.h, - ext/tpx/CGas.cpp, ext/tpx/CLK.cpp, ext/tpx/CLK.h, - ext/tpx/HFC134a.cpp, ext/tpx/HFC134a.h, ext/tpx/Hydrogen.cpp, - ext/tpx/Hydrogen.h, ext/tpx/Makefile.in, ext/tpx/Methane.cpp, - ext/tpx/Methane.h, ext/tpx/Nitrogen.cpp, ext/tpx/Nitrogen.h, - ext/tpx/Oxygen.cpp, ext/tpx/Oxygen.h, ext/tpx/ck_gas.cpp, - ext/tpx/ck_gas.h, ext/tpx/ideal.cpp, ext/tpx/lk.cpp, - ext/tpx/lk.h, ext/tpx/lkw.cpp, ext/tpx/lkw.h, ext/tpx/mix.h, - ext/tpx/Sub.cpp, ext/tpx/Sub.h, ext/tpx/Water.cpp, + ext/tpx/.cvsignore, ext/tpx/.depends, ext/tpx/CFluid.cpp, + ext/tpx/CFluid.h, ext/tpx/CGas.cpp, ext/tpx/CLK.cpp, + ext/tpx/CLK.h, ext/tpx/HFC134a.cpp, ext/tpx/HFC134a.h, + ext/tpx/Hydrogen.cpp, ext/tpx/Hydrogen.h, ext/tpx/Makefile.in, + ext/tpx/Methane.cpp, ext/tpx/Methane.h, ext/tpx/Nitrogen.cpp, + ext/tpx/Nitrogen.h, ext/tpx/Oxygen.cpp, ext/tpx/Oxygen.h, + ext/tpx/ck_gas.cpp, ext/tpx/ck_gas.h, ext/tpx/ideal.cpp, + ext/tpx/lk.cpp, ext/tpx/lk.h, ext/tpx/lkw.cpp, ext/tpx/lkw.h, + ext/tpx/mix.h, ext/tpx/Sub.cpp, ext/tpx/Sub.h, ext/tpx/Water.cpp, ext/tpx/Water.h, ext/tpx/subs.h, ext/tpx/utils.cpp, ext/tpx/utils.h, include/Cantera.h, include/IdealGasMix.h, include/README, include/config.h, include/core.h, include/ctml.h, include/equilibrium.h, include/ftn_defs.h, include/integrators.h, include/kinetics.h, include/numerics.h, include/onedim.h, - include/surface.h, include/transport.h, test_problems/.cvsignore, - test_problems/Makefile.in, test_problems/cxx_ex/.cvsignore, + include/surface.h, include/transport.h, + include/fortran/ctfdevmod.f, include/fortran/ctkineticsmod.f, + include/fortran/ctmixturemod.f, include/fortran/ctmod.f, + include/fortran/ctreactormod.f, include/fortran/ctthermomod.f, + include/fortran/cttransportmod.f, include/fortran/ctutilsmod.f, + lib/README, test_problems/.cvsignore, test_problems/Makefile.in, + test_problems/cxx_ex/.cvsignore, test_problems/cxx_ex/eq1_blessed.csv, test_problems/cxx_ex/eq1_blessed.dat, test_problems/cxx_ex/gri30.inp, test_problems/cxx_ex/gri30.xml, @@ -4215,6 +5240,8 @@ Cantera/matlab/cantera/@XML_Node/hndl.m, Cantera/matlab/cantera/@XML_Node/value.m, Cantera/matlab/cantera/@XML_Node/write.m, + Cantera/matlab/cantera/@XML_Node/private/newxml.cpp, + Cantera/matlab/cantera/@XML_Node/private/xmlmethods.cpp, Cantera/matlab/cantera/examples/equil.m, Cantera/matlab/cantera/examples/ignite.m, Cantera/matlab/cantera/examples/ignite2.m, @@ -4548,26 +5575,27 @@ ext/math/pcoef.f, ext/math/polfit.f, ext/math/pvalue.f, ext/math/xercnt.f, ext/math/xerhlt.f, ext/math/xermsg.f, ext/math/xerprn.f, ext/math/xersve.f, ext/math/xgetua.f, - ext/recipes/.cvsignore, ext/recipes/Makefile.in, - ext/recipes/simp1.f, ext/recipes/simp2.f, ext/recipes/simp3.f, - ext/recipes/simplx.f, ext/recipes/splie2.f, ext/recipes/splin2.f, - ext/recipes/spline.f, ext/recipes/splint.f, ext/tpx/.cvsignore, - ext/tpx/.depends, ext/tpx/CFluid.cpp, ext/tpx/CFluid.h, - ext/tpx/CGas.cpp, ext/tpx/CLK.cpp, ext/tpx/CLK.h, - ext/tpx/HFC134a.cpp, ext/tpx/HFC134a.h, ext/tpx/Hydrogen.cpp, - ext/tpx/Hydrogen.h, ext/tpx/Makefile.in, ext/tpx/Methane.cpp, - ext/tpx/Methane.h, ext/tpx/Nitrogen.cpp, ext/tpx/Nitrogen.h, - ext/tpx/Oxygen.cpp, ext/tpx/Oxygen.h, ext/tpx/ck_gas.cpp, - ext/tpx/ck_gas.h, ext/tpx/ideal.cpp, ext/tpx/lk.cpp, - ext/tpx/lk.h, ext/tpx/lkw.cpp, ext/tpx/lkw.h, ext/tpx/mix.h, - ext/tpx/Sub.cpp, ext/tpx/Sub.h, ext/tpx/Water.cpp, + ext/tpx/.cvsignore, ext/tpx/.depends, ext/tpx/CFluid.cpp, + ext/tpx/CFluid.h, ext/tpx/CGas.cpp, ext/tpx/CLK.cpp, + ext/tpx/CLK.h, ext/tpx/HFC134a.cpp, ext/tpx/HFC134a.h, + ext/tpx/Hydrogen.cpp, ext/tpx/Hydrogen.h, ext/tpx/Makefile.in, + ext/tpx/Methane.cpp, ext/tpx/Methane.h, ext/tpx/Nitrogen.cpp, + ext/tpx/Nitrogen.h, ext/tpx/Oxygen.cpp, ext/tpx/Oxygen.h, + ext/tpx/ck_gas.cpp, ext/tpx/ck_gas.h, ext/tpx/ideal.cpp, + ext/tpx/lk.cpp, ext/tpx/lk.h, ext/tpx/lkw.cpp, ext/tpx/lkw.h, + ext/tpx/mix.h, ext/tpx/Sub.cpp, ext/tpx/Sub.h, ext/tpx/Water.cpp, ext/tpx/Water.h, ext/tpx/subs.h, ext/tpx/utils.cpp, ext/tpx/utils.h, include/Cantera.h, include/IdealGasMix.h, include/README, include/config.h, include/core.h, include/ctml.h, include/equilibrium.h, include/ftn_defs.h, include/integrators.h, include/kinetics.h, include/numerics.h, include/onedim.h, - include/surface.h, include/transport.h, test_problems/.cvsignore, - test_problems/Makefile.in, test_problems/cxx_ex/.cvsignore, + include/surface.h, include/transport.h, + include/fortran/ctfdevmod.f, include/fortran/ctkineticsmod.f, + include/fortran/ctmixturemod.f, include/fortran/ctmod.f, + include/fortran/ctreactormod.f, include/fortran/ctthermomod.f, + include/fortran/cttransportmod.f, include/fortran/ctutilsmod.f, + lib/README, test_problems/.cvsignore, test_problems/Makefile.in, + test_problems/cxx_ex/.cvsignore, test_problems/cxx_ex/eq1_blessed.csv, test_problems/cxx_ex/eq1_blessed.dat, test_problems/cxx_ex/gri30.inp, test_problems/cxx_ex/gri30.xml, diff --git a/config.h.in b/config.h.in index 3d76e191f..890dbe1af 100755 --- a/config.h.in +++ b/config.h.in @@ -12,6 +12,7 @@ #define DEV_EQUIL +#undef DEBUG_MODE //------------------------ Fortran settings -------------------// @@ -42,6 +43,8 @@ typedef int ftnlen; // Fortran hidden string length type #define FTN_TRAILING_UNDERSCORE +#undef HAS_SUNDIALS + //-------- LAPACK / BLAS --------- // Define if you are using LAPACK and BLAS from the Intel Math Kernel diff --git a/config/configure b/config/configure index 5b91a1740..a28176cdd 100755 --- a/config/configure +++ b/config/configure @@ -1,8 +1,9 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59. +# Generated by GNU Autoconf 2.57. # -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +# Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -19,10 +20,9 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi -DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -41,7 +41,7 @@ for as_var in \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -218,17 +218,16 @@ rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else - test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS @@ -272,7 +271,7 @@ PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="Cantera.README" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CVF_LIBDIR USE_CLIB_DLL local_inst local_python_inst python_prefix python_win_prefix ctversion homedir ct_libdir ct_bindir ct_incdir ct_incroot ct_datadir ct_demodir ct_templdir ct_tutdir ct_docdir ct_dir ct_mandir COMPACT_INSTALL build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os username ctroot buildinc buildlib buildbin MAKE ARCHIVE DO_RANLIB RANLIB SOEXT SHARED PIC LCXX_FLAGS LCXX_END_LIBS CXX_INCLUDES USERDIR INCL_USER_CODE phase_object_files phase_header_files KERNEL KERNEL_OBJ BUILD_CK LIB_DIR build_lapack build_blas BLAS_LAPACK_LIBS BLAS_LAPACK_DIR build_with_f2c LOCAL_LIB_DIRS LOCAL_LIBS CT_SHARED_LIB F77FLAGS PYTHON_CMD BUILD_PYTHON NUMARRAY_INC_DIR NUMARRAY_HOME CANTERA_PYTHON_HOME CVSTAG MATLAB_CMD BUILD_MATLAB BUILD_CLIB export_name INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT CC CFLAGS ac_ct_CC F77 FFLAGS ac_ct_F77 FLIBS F90 BUILD_F90 F90FLAGS F90BUILDFLAGS precompile_headers CXX_DEPENDS OS_IS_DARWIN OS_IS_WIN OS_IS_CYGWIN SHARED_CTLIB mex_ext F77_EXT CXX_EXT OBJ_EXT EXE_EXT local_math_libs math_libs SO LDSHARED EXTRA_LINK LIBOBJS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CVF_LIBDIR USE_CLIB_DLL local_inst local_python_inst python_prefix python_win_prefix ctversion homedir ct_libdir ct_bindir ct_incdir ct_incroot ct_datadir ct_demodir ct_templdir ct_tutdir ct_docdir ct_dir ct_mandir COMPACT_INSTALL build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os username ctroot buildinc buildlib buildbin MAKE ARCHIVE DO_RANLIB RANLIB SOEXT SHARED PIC LCXX_FLAGS LCXX_END_LIBS CXX_INCLUDES USERDIR INCL_USER_CODE use_sundials CVODE_LIBS sundials_include phase_object_files phase_header_files COMPILE_CATHERMO KERNEL KERNEL_OBJ BUILD_CK LIB_DIR build_lapack build_blas BLAS_LAPACK_LIBS BLAS_LAPACK_DIR build_with_f2c LOCAL_LIB_DIRS LOCAL_LIBS CT_SHARED_LIB F77FLAGS PYTHON_CMD BUILD_PYTHON NUMARRAY_INC_DIR NUMARRAY_HOME CANTERA_PYTHON_HOME CVSTAG MATLAB_CMD BUILD_MATLAB BUILD_CLIB export_name INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT CC CFLAGS ac_ct_CC F77 FFLAGS ac_ct_F77 FLIBS F90 BUILD_F90 F90FLAGS F90BUILDFLAGS precompile_headers CXX_DEPENDS OS_IS_DARWIN OS_IS_WIN OS_IS_CYGWIN SHARED_CTLIB mex_ext F77_EXT CXX_EXT OBJ_EXT EXE_EXT math_libs SO LDSHARED EXTRA_LINK LIBOBJS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -631,7 +630,7 @@ done # Be sure to have absolute paths. for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ - localstatedir libdir includedir oldincludedir infodir mandir + localstatedir libdir includedir oldincludedir infodir mandir do eval ac_val=$`echo $ac_var` case $ac_val in @@ -671,10 +670,10 @@ if test -z "$srcdir"; then # Try the directory containing this script, then its parent. ac_confdir=`(dirname "$0") 2>/dev/null || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -778,9 +777,9 @@ _ACEOF cat <<_ACEOF Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] + [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] + [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify @@ -865,45 +864,12 @@ case $srcdir in ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. @@ -914,7 +880,7 @@ esac echo $SHELL $ac_srcdir/configure --help=recursive elif test -f $ac_srcdir/configure.ac || - test -f $ac_srcdir/configure.in; then + test -f $ac_srcdir/configure.in; then echo $ac_configure --help else @@ -928,7 +894,8 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 +Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -940,7 +907,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was +generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ @@ -1017,19 +984,19 @@ do 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. + ac_must_keep_next=false # Got value, back to normal. else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac fi ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" # Get rid of the leading space. @@ -1063,12 +1030,12 @@ _ASBOX case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in *ac_space=\ *) sed -n \ - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" ;; *) sed -n \ - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" ;; esac; } @@ -1097,7 +1064,7 @@ _ASBOX for ac_var in $ac_subst_files do eval ac_val=$`echo $ac_var` - echo "$ac_var='"'"'$ac_val'"'"'" + echo "$ac_var='"'"'$ac_val'"'"'" done | sort echo fi @@ -1116,7 +1083,7 @@ _ASBOX echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 - rm -f core *.core && + rm -f core core.* *.core && rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 @@ -1180,7 +1147,7 @@ done # value. ac_cache_corrupted=false for ac_var in `(set) 2>&1 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val="\$ac_cv_env_${ac_var}_value" @@ -1197,13 +1164,13 @@ echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} - ac_cache_corrupted=: + ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. @@ -1334,21 +1301,15 @@ if test "x${OS_IS_WIN}" = "x1"; then fi -prdef="/usr/local" +prdef="/usr/local/cantera" if test "x$OS_IS_DARWIN" = "x1"; then prdef="/Applications/Cantera"; fi -#AC_PREFIX_DEFAULT([$prdef]) local_inst=1 if test "x${prefix}" = "xNONE"; then - if test "x${OS_IS_CYGWIN}" = "x1" -o "x${OS_IS_WIN}" = "x1" ; then - prefix=${CANTERA_INSTALL_DIR} - # mkdir ${prefix} - else - prefix=${prdef} - #${ac_default_prefix} - fi - local_inst=0 + prefix=${prdef} + local_inst=0 fi +exec_prefix=${prefix} if test "x${OS_IS_WIN}" = "x1"; then prefix=`cygpath -a -m "${prefix}" ` @@ -1358,7 +1319,6 @@ echo "Cantera will be installed in ${prefix}" - # # Determination of Python site-package directory location # @@ -1620,6 +1580,23 @@ if test -n "$USER_SRC_DIR"; then USERDIR=$USER_SRC_DIR; INCL_USER_CODE=1; fi +use_sundials=0 +sundials_inc= +CVODE_LIBS='-lcvode' +if test "x$USE_SUNDIALS" = "xy"; then +use_sundials=1 +cat >>confdefs.h <<\_ACEOF +#define HAS_SUNDIALS 1 +_ACEOF + +CVODE_LIBS='-lsundials_cvodes -lsundials_shared -lsundials_nvecserial' +sundials_include='-I '${SUNDIALS_HOME}/include +fi + + + + + ######################################################### # The Cantera Kernel ######################################################### @@ -1679,6 +1656,16 @@ phase_header_files=$hdrs +COMPILE_CATHERMO=0 +if test "$WITH_ELECTROLYTES" = "y"; then + cat >>confdefs.h <<\_ACEOF +#define WITH_ELECTROLYTES 1 +_ACEOF + + COMPILE_CATHERMO=1 +fi + + if test "$ENABLE_KINETICS" = "y"; then KERNEL=$KERNEL' 'kinetics; KERNEL_OBJ=$KERNEL_OBJ' $(KINETICS_OBJ) $(HETEROKIN_OBJ)' @@ -1743,6 +1730,7 @@ fi + ######################################################## # BLAS and LAPACK ######################################################## @@ -1831,8 +1819,8 @@ LOCAL_LIBS=$LOCAL_LIBS' '-lcantera #then LOCAL_LIBS=$LOCAL_LIBS' '-lrecipes #fi -if test -n "$NEED_CVODE" -then LOCAL_LIBS=$LOCAL_LIBS' '-lcvode +if test -n "$NEED_CVODE"; then +LOCAL_LIBS=$LOCAL_LIBS' '$CVODE_LIBS fi if test -n "$NEED_LAPACK" @@ -1866,6 +1854,14 @@ then LOCAL_LIB_DIRS=$LOCAL_LIB_DIRS' -L'$BLAS_LAPACK_DIR fi +if test -n "$SUNDIALS_HOME" +then LOCAL_LIB_DIRS=$LOCAL_LIB_DIRS' -L'$SUNDIALS_HOME/lib +fi +echo $SUNDIALS_HOME +echo $LOCAL_LIB_DIRS + + + #------------------------------------------------- @@ -2077,7 +2073,6 @@ export_name=$target # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 @@ -2094,7 +2089,6 @@ do case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. @@ -2102,20 +2096,20 @@ case $as_dir/ in # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi done done ;; @@ -2265,6 +2259,7 @@ ac_compiler=`set X $ac_compile; echo $2` (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2284,8 +2279,8 @@ ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 -echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6 +echo "$as_me:$LINENO: checking for C++ compiler default output" >&5 +echo $ECHO_N "checking for C++ compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 @@ -2305,23 +2300,23 @@ do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) - ;; + ;; conftest.$ac_ext ) - # This is the source file. - ;; + # This is the source file. + ;; [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; + # We found the default executable, but exeext='' is most + # certainly right. + break;; *.* ) - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - # FIXME: I believe we export ac_cv_exeext for Libtool, - # but it would be cool to find out if it's true. Does anybody - # maintain Libtool? --akim. - export ac_cv_exeext - break;; + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; * ) - break;; + break;; esac done else @@ -2395,8 +2390,8 @@ for ac_file in conftest.exe conftest conftest.*; do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - export ac_cv_exeext - break;; + export ac_cv_exeext + break;; * ) break;; esac done @@ -2421,6 +2416,7 @@ if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2471,6 +2467,7 @@ if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2490,21 +2487,11 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2517,7 +2504,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi @@ -2533,6 +2520,7 @@ if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2549,21 +2537,11 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2576,7 +2554,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cxx_g=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 @@ -2596,7 +2574,8 @@ else fi fi for ac_declaration in \ - '' \ + ''\ + '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -2604,13 +2583,14 @@ for ac_declaration in \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_declaration #include +$ac_declaration int main () { @@ -2621,21 +2601,11 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2648,8 +2618,9 @@ sed 's/^/| /' conftest.$ac_ext >&5 continue fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -2666,21 +2637,11 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_cxx_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -2692,7 +2653,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -3048,6 +3009,7 @@ if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3067,21 +3029,11 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3094,7 +3046,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi @@ -3110,6 +3062,7 @@ if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3126,21 +3079,11 @@ main () _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3153,7 +3096,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 @@ -3180,6 +3123,7 @@ else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3207,16 +3151,6 @@ static char *f (char * (*g) (char **, int), char **p, ...) va_end (v); return s; } - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std1 is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std1. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; @@ -3243,21 +3177,11 @@ do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3270,7 +3194,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext +rm -f conftest.$ac_objext done rm -f conftest.$ac_ext conftest.$ac_objext CC=$ac_save_CC @@ -3298,28 +3222,19 @@ cat >conftest.$ac_ext <<_ACEOF _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ - '' \ + ''\ + '#include ' \ 'extern "C" void std::exit (int) throw (); using std::exit;' \ 'extern "C" void std::exit (int); using std::exit;' \ 'extern "C" void exit (int) throw ();' \ @@ -3327,13 +3242,14 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ -$ac_declaration #include +$ac_declaration int main () { @@ -3344,21 +3260,11 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3371,8 +3277,9 @@ sed 's/^/| /' conftest.$ac_ext >&5 continue fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext @@ -3389,21 +3296,11 @@ exit (42); _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_c_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3415,7 +3312,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext done rm -f conftest* if test -n "$ac_declaration"; then @@ -3429,7 +3326,7 @@ else sed 's/^/| /' conftest.$ac_ext >&5 fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3485,7 +3382,7 @@ ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then - for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran + for ac_prog in g77 f77 xlf frt pgf77 fl32 af77 fort77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 lf95 g95 do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 @@ -3527,7 +3424,7 @@ fi fi if test -z "$F77"; then ac_ct_F77=$F77 - for ac_prog in g77 f77 xlf frt pgf77 fort77 fl32 af77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 ifc efc pgf95 lf95 gfortran + for ac_prog in g77 f77 xlf frt pgf77 fl32 af77 fort77 f90 xlf90 pgf90 epcf90 f95 fort xlf95 lf95 g95 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -3572,7 +3469,7 @@ fi # Provide some information about the compiler. -echo "$as_me:3575:" \ +echo "$as_me:3472:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 @@ -3590,10 +3487,9 @@ ac_compiler=`set X $ac_compile; echo $2` ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } -rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the -# input file. (Note that this only needs to work for GNU compilers.) +# input file. ac_save_ext=$ac_ext ac_ext=F echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 @@ -3611,21 +3507,11 @@ else _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3638,13 +3524,14 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6 ac_ext=$ac_save_ext +G77=`test $ac_compiler_gnu = yes && echo yes` ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= @@ -3661,21 +3548,11 @@ cat >conftest.$ac_ext <<_ACEOF _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3688,7 +3565,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 @@ -3696,20 +3573,18 @@ echo "${ECHO_T}$ac_cv_prog_f77_g" >&6 if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then - if test "x$ac_cv_f77_compiler_gnu" = xyes; then + if test "$G77" = yes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else - if test "x$ac_cv_f77_compiler_gnu" = xyes; then + if test "$G77" = yes; then FFLAGS="-O2" else FFLAGS= fi fi - -G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -3733,28 +3608,19 @@ echo $ECHO_N "checking how to get verbose linking output from $F77... $ECHO_C" > if test "${ac_cv_prog_f77_v+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF + +cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>conftest.er1 + (eval $ac_compile) 2>&5 ac_status=$? - grep -v '^ *+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && - { ac_try='test -z "$ac_f77_werror_flag" - || test ! -s conftest.err' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; } && - { ac_try='test -s conftest.$ac_objext' + { ac_try='test -s conftest.$ac_objext' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -3763,24 +3629,38 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ac_cv_prog_f77_v= # Try some options frequently used verbose output for ac_verb in -v -verbose --verbose -V -\#\#\#; do - cat >conftest.$ac_ext <<_ACEOF + ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF # Compile and link our simple test program by passing a flag (argument -# 1 to this macro) to the Fortran compiler in order to get -# "verbose" output that we can then parse for the Fortran linker +# 1 to this macro) to the Fortran 77 compiler in order to get +# "verbose" output that we can then parse for the Fortran 77 linker # flags. ac_save_FFLAGS=$FFLAGS FFLAGS="$FFLAGS $ac_verb" -(eval echo $as_me:3778: \"$ac_link\") >&5 +(eval echo $as_me:3649: \"$ac_link\") >&5 ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'` echo "$ac_f77_v_output" >&5 FFLAGS=$ac_save_FFLAGS rm -f conftest* +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +# If we are using xlf then replace all the commas with spaces. +if echo $ac_f77_v_output | grep xlfentry >/dev/null 2>&1; then + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/,/ /g'` +fi # On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where # /foo, /bar, and /baz are search directories for the Fortran linker. @@ -3789,24 +3669,12 @@ ac_f77_v_output="`echo $ac_f77_v_output | grep 'LPATH is:' | sed 's,.*LPATH is\(: *[^ ]*\).*,\1,;s,: */, -L/,g'` $ac_f77_v_output" -case $ac_f77_v_output in - # If we are using xlf then replace all the commas with spaces. - *xlfentry*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/,/ /g'` ;; - - # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted - # $LIBS confuse us, and the libraries appear later in the output anyway). - *mGLOB_options_string*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/\"-mGLOB[^\"]*\"/ /g'` ;; - - # If we are using Cray Fortran then delete quotes. - # Use "\"" instead of '"' for font-lock-mode. - # FIXME: a more general fix for quoted arguments with spaces? - *cft90*) - ac_f77_v_output=`echo $ac_f77_v_output | sed "s/\"//g"` ;; -esac - - +# If we are using Cray Fortran then delete quotes. +# Use "\"" instead of '"' for font-lock-mode. +# FIXME: a more general fix for quoted arguments with spaces? +if echo $ac_f77_v_output | grep cft90 >/dev/null 2>&1; then + ac_f77_v_output=`echo $ac_f77_v_output | sed "s/\"//g"` +fi # look for -l* and *.a constructs in the output for ac_arg in $ac_f77_v_output; do case $ac_arg in @@ -3827,20 +3695,25 @@ sed 's/^/| /' conftest.$ac_ext >&5 { echo "$as_me:$LINENO: WARNING: compilation failed" >&5 echo "$as_me: WARNING: compilation failed" >&2;} fi -rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +rm -f conftest.$ac_objext conftest.$ac_ext fi echo "$as_me:$LINENO: result: $ac_cv_prog_f77_v" >&5 echo "${ECHO_T}$ac_cv_prog_f77_v" >&6 -echo "$as_me:$LINENO: checking for Fortran libraries of $F77" >&5 -echo $ECHO_N "checking for Fortran libraries of $F77... $ECHO_C" >&6 -if test "${ac_cv_f77_libs+set}" = set; then +echo "$as_me:$LINENO: checking for Fortran 77 libraries" >&5 +echo $ECHO_N "checking for Fortran 77 libraries... $ECHO_C" >&6 +if test "${ac_cv_flibs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$FLIBS" != "x"; then - ac_cv_f77_libs="$FLIBS" # Let the user override the test. + ac_cv_flibs="$FLIBS" # Let the user override the test. else +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + cat >conftest.$ac_ext <<_ACEOF program main @@ -3848,17 +3721,26 @@ cat >conftest.$ac_ext <<_ACEOF _ACEOF # Compile and link our simple test program by passing a flag (argument -# 1 to this macro) to the Fortran compiler in order to get -# "verbose" output that we can then parse for the Fortran linker +# 1 to this macro) to the Fortran 77 compiler in order to get +# "verbose" output that we can then parse for the Fortran 77 linker # flags. ac_save_FFLAGS=$FFLAGS FFLAGS="$FFLAGS $ac_cv_prog_f77_v" -(eval echo $as_me:3856: \"$ac_link\") >&5 +(eval echo $as_me:3729: \"$ac_link\") >&5 ac_f77_v_output=`eval $ac_link 5>&1 2>&1 | grep -v 'Driving:'` echo "$ac_f77_v_output" >&5 FFLAGS=$ac_save_FFLAGS rm -f conftest* +ac_ext=f +ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' +ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_f77_compiler_gnu + +# If we are using xlf then replace all the commas with spaces. +if echo $ac_f77_v_output | grep xlfentry >/dev/null 2>&1; then + ac_f77_v_output=`echo $ac_f77_v_output | sed 's/,/ /g'` +fi # On HP/UX there is a line like: "LPATH is: /foo:/bar:/baz" where # /foo, /bar, and /baz are search directories for the Fortran linker. @@ -3867,26 +3749,14 @@ ac_f77_v_output="`echo $ac_f77_v_output | grep 'LPATH is:' | sed 's,.*LPATH is\(: *[^ ]*\).*,\1,;s,: */, -L/,g'` $ac_f77_v_output" -case $ac_f77_v_output in - # If we are using xlf then replace all the commas with spaces. - *xlfentry*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/,/ /g'` ;; +# If we are using Cray Fortran then delete quotes. +# Use "\"" instead of '"' for font-lock-mode. +# FIXME: a more general fix for quoted arguments with spaces? +if echo $ac_f77_v_output | grep cft90 >/dev/null 2>&1; then + ac_f77_v_output=`echo $ac_f77_v_output | sed "s/\"//g"` +fi - # With Intel ifc, ignore the quoted -mGLOB_options_string stuff (quoted - # $LIBS confuse us, and the libraries appear later in the output anyway). - *mGLOB_options_string*) - ac_f77_v_output=`echo $ac_f77_v_output | sed 's/\"-mGLOB[^\"]*\"/ /g'` ;; - - # If we are using Cray Fortran then delete quotes. - # Use "\"" instead of '"' for font-lock-mode. - # FIXME: a more general fix for quoted arguments with spaces? - *cft90*) - ac_f77_v_output=`echo $ac_f77_v_output | sed "s/\"//g"` ;; -esac - - - -ac_cv_f77_libs= +ac_cv_flibs= # Save positional arguments (if any) ac_save_positional="$@" @@ -3898,7 +3768,7 @@ while test $# != 1; do case $ac_arg in [\\/]*.a | ?:[\\/]*.a) ac_exists=false - for ac_i in $ac_cv_f77_libs; do + for ac_i in $ac_cv_flibs; do if test x"$ac_arg" = x"$ac_i"; then ac_exists=true break @@ -3908,13 +3778,13 @@ while test $# != 1; do if test x"$ac_exists" = xtrue; then : else - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + ac_cv_flibs="$ac_cv_flibs $ac_arg" fi ;; -bI:*) ac_exists=false - for ac_i in $ac_cv_f77_libs; do + for ac_i in $ac_cv_flibs; do if test x"$ac_arg" = x"$ac_i"; then ac_exists=true break @@ -3926,27 +3796,27 @@ fi else if test "$ac_compiler_gnu" = yes; then for ac_link_opt in $ac_arg; do - ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + ac_cv_flibs="$ac_cv_flibs -Xlinker $ac_link_opt" done else - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + ac_cv_flibs="$ac_cv_flibs $ac_arg" fi fi ;; # Ignore these flags. - -lang* | -lcrt[01].o | -lcrtbegin.o | -lc | -lgcc | -libmil | -LANG:=*) + -lang* | -lcrt0.o | -lc | -lgcc | -libmil | -LANG:=*) ;; -lkernel32) - test x"$CYGWIN" != xyes && ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + test x"$CYGWIN" != xyes && ac_cv_flibs="$ac_cv_flibs $ac_arg" ;; -[LRuY]) # These flags, when seen by themselves, take an argument. # We remove the space between option and argument and re-iterate # unless we find an empty arg or a new option (starting with -) case $2 in - "" | -*);; - *) + "" | -*);; + *) ac_arg="$ac_arg$2" shift; shift set X $ac_arg "$@" @@ -3956,7 +3826,7 @@ fi -YP,*) for ac_j in `echo $ac_arg | sed -e 's/-YP,/-L/;s/:/ -L/g'`; do ac_exists=false - for ac_i in $ac_cv_f77_libs; do + for ac_i in $ac_cv_flibs; do if test x"$ac_j" = x"$ac_i"; then ac_exists=true break @@ -3967,14 +3837,14 @@ fi : else ac_arg="$ac_arg $ac_j" - ac_cv_f77_libs="$ac_cv_f77_libs $ac_j" + ac_cv_flibs="$ac_cv_flibs $ac_j" fi done ;; -[lLR]*) ac_exists=false - for ac_i in $ac_cv_f77_libs; do + for ac_i in $ac_cv_flibs; do if test x"$ac_arg" = x"$ac_i"; then ac_exists=true break @@ -3984,7 +3854,7 @@ fi if test x"$ac_exists" = xtrue; then : else - ac_cv_f77_libs="$ac_cv_f77_libs $ac_arg" + ac_cv_flibs="$ac_cv_flibs $ac_arg" fi ;; @@ -4004,20 +3874,19 @@ case `(uname -sr) 2>/dev/null` in test "x$ac_ld_run_path" != x && if test "$ac_compiler_gnu" = yes; then for ac_link_opt in $ac_ld_run_path; do - ac_cv_f77_libs="$ac_cv_f77_libs -Xlinker $ac_link_opt" + ac_cv_flibs="$ac_cv_flibs -Xlinker $ac_link_opt" done else - ac_cv_f77_libs="$ac_cv_f77_libs $ac_ld_run_path" + ac_cv_flibs="$ac_cv_flibs $ac_ld_run_path" fi ;; esac -fi # test "x$[]_AC_LANG_PREFIX[]LIBS" = "x" +fi # test "x$FLIBS" = "x" fi -echo "$as_me:$LINENO: result: $ac_cv_f77_libs" >&5 -echo "${ECHO_T}$ac_cv_f77_libs" >&6 -FLIBS="$ac_cv_f77_libs" - +echo "$as_me:$LINENO: result: $ac_cv_flibs" >&5 +echo "${ECHO_T}$ac_cv_flibs" >&6 +FLIBS="$ac_cv_flibs" ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4211,8 +4080,8 @@ if test -z "$OBJ_EXT"; then OBJ_EXT=$OBJEXT; fi if test -z "$EXE_EXT"; then EXE_EXT=$EXEEXT; fi -local_math_libs='-lcvode' - +#local_math_libs='-lcvode' +#AC_SUBST(local_math_libs) math_libs='-lcvode -lctmath' @@ -4274,7 +4143,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu - ac_config_files="$ac_config_files ../Cantera/Makefile ../Cantera/src/Makefile ../Cantera/src/zeroD/Makefile ../Cantera/src/oneD/Makefile ../Cantera/src/converters/Makefile ../Cantera/src/transport/Makefile ../Cantera/clib/src/Makefile ../Cantera/fortran/src/Makefile ../Cantera/fortran/f77demos/f77demos.mak ../Cantera/fortran/f77demos/isentropic.dsp ../Cantera/matlab/Makefile ../Cantera/matlab/setup_matlab.py ../Cantera/matlab/setup_winmatlab.py ../Cantera/python/Makefile ../Cantera/python/setup.py ../Cantera/cxx/Makefile ../Cantera/cxx/src/Makefile ../Cantera/cxx/demos/Makefile ../Cantera/user/Makefile ../Cantera/python/src/Makefile ../ext/lapack/Makefile ../ext/blas/Makefile ../ext/cvode/Makefile ../ext/math/Makefile ../ext/tpx/Makefile ../ext/Makefile ../ext/f2c_libs/Makefile ../ext/f2c_blas/Makefile ../ext/f2c_lapack/Makefile ../ext/f2c_math/Makefile ../examples/Makefile ../examples/cxx/Makefile ../Makefile ../tools/Makefile ../tools/src/Makefile ../tools/src/sample.mak ../tools/src/finish_install.py ../tools/src/package4mac ../tools/templates/f77/demo.mak ../tools/templates/f90/demo.mak ../tools/templates/cxx/demo.mak ../tools/testtools/Makefile ../data/inputs/Makefile ../test_problems/Makefile ../test_problems/cxx_ex/Makefile ../test_problems/silane_equil/Makefile ../test_problems/surfkin/Makefile ../test_problems/diamondSurf/Makefile ../test_problems/ck2cti_test/Makefile ../test_problems/ck2cti_test/runtest ../test_problems/python/Makefile ../bin/install_tsc" + ac_config_files="$ac_config_files ../Cantera/Makefile ../Cantera/src/Makefile ../Cantera/src/zeroD/Makefile ../Cantera/src/oneD/Makefile ../Cantera/src/converters/Makefile ../Cantera/src/transport/Makefile ../Cantera/src/thermo/Makefile ../Cantera/clib/src/Makefile ../Cantera/fortran/src/Makefile ../Cantera/fortran/f77demos/f77demos.mak ../Cantera/fortran/f77demos/isentropic.dsp ../Cantera/matlab/Makefile ../Cantera/matlab/setup_matlab.py ../Cantera/matlab/setup_winmatlab.py ../Cantera/python/Makefile ../Cantera/python/setup.py ../Cantera/cxx/Makefile ../Cantera/cxx/src/Makefile ../Cantera/cxx/demos/Makefile ../Cantera/user/Makefile ../Cantera/python/src/Makefile ../ext/lapack/Makefile ../ext/blas/Makefile ../ext/cvode/Makefile ../ext/math/Makefile ../ext/tpx/Makefile ../ext/Makefile ../ext/f2c_libs/Makefile ../ext/f2c_blas/Makefile ../ext/f2c_lapack/Makefile ../ext/f2c_math/Makefile ../examples/Makefile ../examples/cxx/Makefile ../Makefile ../tools/Makefile ../tools/src/Makefile ../tools/src/sample.mak ../tools/src/finish_install.py ../tools/src/package4mac ../tools/templates/f77/demo.mak ../tools/templates/f90/demo.mak ../tools/templates/cxx/demo.mak ../tools/testtools/Makefile ../data/inputs/Makefile ../test_problems/Makefile ../test_problems/cxx_ex/Makefile ../test_problems/silane_equil/Makefile ../test_problems/surfkin/Makefile ../test_problems/diamondSurf/Makefile ../test_problems/ck2cti_test/Makefile ../test_problems/ck2cti_test/runtest ../test_problems/python/Makefile ../bin/install_tsc" test "x$prefix" = xNONE && prefix=$ac_default_prefix @@ -4286,13 +4155,13 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ + ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/; s/:*\${srcdir}:*/:/; s/:*@srcdir@:*/:/; -s/^\([^=]*=[ ]*\):*/\1/; +s/^\([^=]*=[ ]*\):*/\1/; s/:*$//; -s/^[^=]*=[ ]*$//; +s/^[^=]*=[ ]*$//; }' fi @@ -4303,7 +4172,7 @@ ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_i=`echo "$ac_i" | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` # 2. Add them. ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' @@ -4347,10 +4216,9 @@ if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then set -o posix fi -DUALCASE=1; export DUALCASE # for MKS sh # Support unset when possible. -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +if (FOO=FOO; unset FOO) >/dev/null 2>&1; then as_unset=unset else as_unset=false @@ -4369,7 +4237,7 @@ for as_var in \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else $as_unset $as_var @@ -4548,17 +4416,16 @@ rm -f conf$$ conf$$.exe conf$$.file if mkdir -p . 2>/dev/null; then as_mkdir_p=: else - test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_executable_p="test -f" # Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" +as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" # Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" +as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" # IFS @@ -4585,7 +4452,7 @@ _ASBOX cat >&5 <<_CSEOF This file was extended by $as_me, which was -generated by GNU Autoconf 2.59. Invocation command line was +generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -4629,9 +4496,9 @@ Usage: $0 [OPTIONS] [FILE]... -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] - instantiate the configuration file FILE + instantiate the configuration file FILE --header=FILE[:TEMPLATE] - instantiate the configuration header FILE + instantiate the configuration header FILE Configuration files: $config_files @@ -4645,10 +4512,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ config.status -configured by $0, generated by GNU Autoconf 2.59, +configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" -Copyright (C) 2003 Free Software Foundation, Inc. +Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 +Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." srcdir=$srcdir @@ -4753,6 +4621,7 @@ do "../Cantera/src/oneD/Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/src/oneD/Makefile" ;; "../Cantera/src/converters/Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/src/converters/Makefile" ;; "../Cantera/src/transport/Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/src/transport/Makefile" ;; + "../Cantera/src/thermo/Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/src/thermo/Makefile" ;; "../Cantera/clib/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/clib/src/Makefile" ;; "../Cantera/fortran/src/Makefile" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/fortran/src/Makefile" ;; "../Cantera/fortran/f77demos/f77demos.mak" ) CONFIG_FILES="$CONFIG_FILES ../Cantera/fortran/f77demos/f77demos.mak" ;; @@ -4933,8 +4802,12 @@ s,@LCXX_END_LIBS@,$LCXX_END_LIBS,;t t s,@CXX_INCLUDES@,$CXX_INCLUDES,;t t s,@USERDIR@,$USERDIR,;t t s,@INCL_USER_CODE@,$INCL_USER_CODE,;t t +s,@use_sundials@,$use_sundials,;t t +s,@CVODE_LIBS@,$CVODE_LIBS,;t t +s,@sundials_include@,$sundials_include,;t t s,@phase_object_files@,$phase_object_files,;t t s,@phase_header_files@,$phase_header_files,;t t +s,@COMPILE_CATHERMO@,$COMPILE_CATHERMO,;t t s,@KERNEL@,$KERNEL,;t t s,@KERNEL_OBJ@,$KERNEL_OBJ,;t t s,@BUILD_CK@,$BUILD_CK,;t t @@ -4990,7 +4863,6 @@ s,@F77_EXT@,$F77_EXT,;t t s,@CXX_EXT@,$CXX_EXT,;t t s,@OBJ_EXT@,$OBJ_EXT,;t t s,@EXE_EXT@,$EXE_EXT,;t t -s,@local_math_libs@,$local_math_libs,;t t s,@math_libs@,$math_libs,;t t s,@SO@,$SO,;t t s,@LDSHARED@,$LDSHARED,;t t @@ -5026,9 +4898,9 @@ _ACEOF (echo ':t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" else - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" fi ac_sed_frag=`expr $ac_sed_frag + 1` ac_beg=$ac_end @@ -5046,21 +4918,21 @@ for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -5076,10 +4948,10 @@ echo X"$ac_file" | as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -5117,45 +4989,12 @@ case $srcdir in ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_builddir$srcdir ;; esac - -# Do not use `cd foo && pwd` to compute absolute paths, because -# the directories may not exist. -case `pwd` in -.) ac_abs_builddir="$ac_dir";; -*) - case "$ac_dir" in - .) ac_abs_builddir=`pwd`;; - [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";; - *) ac_abs_builddir=`pwd`/"$ac_dir";; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_builddir=${ac_top_builddir}.;; -*) - case ${ac_top_builddir}. in - .) ac_abs_top_builddir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; - *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_srcdir=$ac_srcdir;; -*) - case $ac_srcdir in - .) ac_abs_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; - *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;; - esac;; -esac -case $ac_abs_builddir in -.) ac_abs_top_srcdir=$ac_top_srcdir;; -*) - case $ac_top_srcdir in - .) ac_abs_top_srcdir=$ac_abs_builddir;; - [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; - *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;; - esac;; -esac +# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be +# absolute. +ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` +ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` +ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` +ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` case $INSTALL in @@ -5177,7 +5016,7 @@ echo "$as_me: creating $ac_file" >&6;} configure_input="$ac_file. " fi configure_input=$configure_input"Generated from `echo $ac_file_in | - sed 's,.*/,,'` by configure." + sed 's,.*/,,'` by configure." # First look for the input files in the build tree, otherwise in the # src tree. @@ -5186,24 +5025,24 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - echo "$f";; + echo $f;; *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } _ACEOF @@ -5245,12 +5084,12 @@ cat >>$CONFIG_STATUS <<\_ACEOF # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='[ ].*$,\1#\2' +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' ac_dC=' ' ac_dD=',;t' # ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='$,\1#\2define\3' ac_uC=' ' ac_uD=',;t' @@ -5259,11 +5098,11 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case $ac_file in - | *:- | *:-:* ) # input from stdin - cat >$tmp/stdin - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; * ) ac_file_in=$ac_file.in ;; esac @@ -5277,29 +5116,28 @@ echo "$as_me: creating $ac_file" >&6;} case $f in -) echo $tmp/stdin ;; [\\/$]*) - # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - # Do quote $f, to prevent DOS paths from being IFS'd. - echo "$f";; + echo $f;; *) # Relative - if test -f "$f"; then - # Build tree - echo "$f" - elif test -f "$srcdir/$f"; then - # Source tree - echo "$srcdir/$f" - else - # /dev/null tree - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 + if test -f "$f"; then + # Build tree + echo $f + elif test -f "$srcdir/$f"; then + # Source tree + echo $srcdir/$f + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } - fi;; + fi;; esac done` || { (exit 1); exit 1; } # Remove the trailing spaces. - sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in _ACEOF @@ -5322,9 +5160,9 @@ s/[\\&,]/\\&/g s,[\\$`],\\&,g t clear : clear -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp t end -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp : end _ACEOF # If some macros were called several times there might be several times @@ -5338,13 +5176,13 @@ rm -f confdef2sed.sed # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >>conftest.undefs <<\_ACEOF -s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, _ACEOF # Break up conftest.defines because some shells have a limit on the size # of here documents, and old seds have small limits too (100 cmds). echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS -echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS echo ' :' >>$CONFIG_STATUS rm -f conftest.tail @@ -5353,7 +5191,7 @@ do # Write a limited-size here document to $tmp/defines.sed. echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#define' lines. - echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -5380,7 +5218,7 @@ do # Write a limited-size here document to $tmp/undefs.sed. echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS # Speed up: don't consider the non `#undef' - echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS # Work around the forget-to-reset-the-flag bug. echo 't clr' >>$CONFIG_STATUS echo ': clr' >>$CONFIG_STATUS @@ -5414,10 +5252,10 @@ echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`(dirname "$ac_file") 2>/dev/null || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -5433,10 +5271,10 @@ echo X"$ac_file" | as_dirs="$as_dir $as_dirs" as_dir=`(dirname "$as_dir") 2>/dev/null || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } /^X\(\/\/\)[^/].*/{ s//\1/; q; } @@ -5490,7 +5328,7 @@ fi # ) if test "x${OS_IS_WIN}" = "x1"; then -cp -f ../config.h ../Cantera/src +#cp -f ../config.h ../Cantera/src cd ../ext/f2c_libs cp arith.hwin32 arith.h cd ../../config @@ -5505,12 +5343,11 @@ fi echo if test "x${OS_IS_WIN}" = "x0"; then -echo "Now type '${MAKE}' to build Cantera" -else -echo "Now start Visual Studio, open workspace 'win32/cantera.dsw'," -echo "and build project 'all'. When this finishes, come back here and " -echo "type 'make win' to make the Python and/or MATLAB interfaces." + echo "Now type '${MAKE}' to build Cantera" +# else +# echo "Now start Visual Studio, open workspace 'win32/cantera.dsw'," +# echo "and build project 'all'. When this finishes, come back here and " +# echo "type 'make win' to make the Python and/or MATLAB interfaces." fi echo -# $Log: configure.in,v diff --git a/config/configure.in b/config/configure.in index d4e8b8c30..037d0d60e 100755 --- a/config/configure.in +++ b/config/configure.in @@ -59,19 +59,13 @@ AC_SUBST(USE_CLIB_DLL) prdef="/usr/local/cantera" if test "x$OS_IS_DARWIN" = "x1"; then prdef="/Applications/Cantera"; fi -#AC_PREFIX_DEFAULT([$prdef]) local_inst=1 if test "x${prefix}" = "xNONE"; then - #if test "x${OS_IS_CYGWIN}" = "x1" -o "x${OS_IS_WIN}" = "x1" ; then - # prefix=${CANTERA_INSTALL_DIR} - # mkdir ${prefix} - #else - prefix=${prdef} - #${ac_default_prefix} - #fi - local_inst=0 + prefix=${prdef} + local_inst=0 fi +exec_prefix=${prefix} if test "x${OS_IS_WIN}" = "x1"; then prefix=`cygpath -a -m "${prefix}" ` @@ -81,7 +75,6 @@ AC_SUBST(prefix) AC_SUBST(local_inst) - # # Determination of Python site-package directory location # @@ -244,6 +237,20 @@ if test -n "$USER_SRC_DIR"; then USERDIR=$USER_SRC_DIR; INCL_USER_CODE=1; fi AC_SUBST(USERDIR) AC_SUBST(INCL_USER_CODE) +use_sundials=0 +sundials_inc= +CVODE_LIBS='-lcvode' +if test "x$USE_SUNDIALS" = "xy"; then +use_sundials=1 +AC_DEFINE(HAS_SUNDIALS) +CVODE_LIBS='-lsundials_cvodes -lsundials_shared -lsundials_nvecserial' +sundials_include='-I '${SUNDIALS_HOME}/include +fi +AC_SUBST(use_sundials) +AC_SUBST(CVODE_LIBS) +AC_SUBST(sundials_include) + + ######################################################### # The Cantera Kernel ######################################################### @@ -359,6 +366,7 @@ AC_SUBST(KERNEL_OBJ) AC_SUBST(BUILD_CK) AC_SUBST(LIB_DIR) + ######################################################## # BLAS and LAPACK ######################################################## @@ -447,8 +455,8 @@ LOCAL_LIBS=$LOCAL_LIBS' '-lcantera #then LOCAL_LIBS=$LOCAL_LIBS' '-lrecipes #fi -if test -n "$NEED_CVODE" -then LOCAL_LIBS=$LOCAL_LIBS' '-lcvode +if test -n "$NEED_CVODE"; then +LOCAL_LIBS=$LOCAL_LIBS' '$CVODE_LIBS fi if test -n "$NEED_LAPACK" @@ -481,6 +489,14 @@ if test -n "$BLAS_LAPACK_DIR" then LOCAL_LIB_DIRS=$LOCAL_LIB_DIRS' -L'$BLAS_LAPACK_DIR fi + +if test -n "$SUNDIALS_HOME" +then LOCAL_LIB_DIRS=$LOCAL_LIB_DIRS' -L'$SUNDIALS_HOME/lib +fi +echo $SUNDIALS_HOME +echo $LOCAL_LIB_DIRS + + AC_SUBST(LOCAL_LIB_DIRS) AC_SUBST(LOCAL_LIBS) @@ -783,8 +799,8 @@ if test -z "$EXE_EXT"; then EXE_EXT=$EXEEXT; fi AC_SUBST(EXE_EXT) dnl AC_LANG_FORTRAN77 -local_math_libs='-lcvode' -AC_SUBST(local_math_libs) +#local_math_libs='-lcvode' +#AC_SUBST(local_math_libs) math_libs='-lcvode -lctmath' diff --git a/configure b/configure index 336ce4557..043b6a00f 100755 --- a/configure +++ b/configure @@ -25,7 +25,7 @@ # If you define this to be , then instead of running this # script as ./configure --prefix= you can just run it as # ./configure -CANTERA_CONFIG_PREFIX=${CANTERA_CONFIG_PREFIX:="/usr/local/cantera"} +CANTERA_CONFIG_PREFIX=${CANTERA_CONFIG_PREFIX:=""} #---------------------------------------------------------------------- @@ -186,7 +186,7 @@ WITH_PURE_FLUIDS='y' # Enable expanded electrochemistry capabilities, include thermo # models for electrolyte solutions -WITH_ELECTROLYTES='n' +WITH_ELECTROLYTES='y' ###################################################################### # if set to 'y', the ck2cti program that converts Chemkin input files # to Cantera format will be built. If you don't use Chemkin format @@ -217,8 +217,29 @@ ENABLE_RXNPATH='y' # non-ideal pure substance models for a few fluids imported from the # 'TPX' package. (http://adam.caltech.edu/software/tpx) ENABLE_TPX='y' + +#----------------------------------------------------------------- +# CVODE / CVODES +#----------------------------------------------------------------- +# +# Cantera uses the CVODE ODE integrator to time-integrate reactor +# network ODE's and for various other purposes. An older version of +# CVODE comes with Cantera, but it is possible to use the latest +# version as well, which now supports sensitivity analysis (CVODES). +# CVODES is a part of the 'sundials' package from Lawrence Livermore +# National Laboratory. Due to its size, sundials is not distributed +# with Cantera, but it is free software that may be downloaded and +# installed separately. If you have sundials, set USE_SUNDIALS to 'y', +# and set SUNDIALS_HOME to the directory where you have installed +# sundials. Note that sensitivity analysis with Cantera requires use +# of sundials. +# +# See: http://www.llnl.gov/CASC/sundials +# +USE_SUNDIALS='y' +SUNDIALS_HOME='/usr/local/sundials' + - #----------------------------------------------------------------- # BLAS and LAPACK #----------------------------------------------------------------- @@ -265,7 +286,7 @@ CXX=${CXX:=g++} CC=${CC:=gcc} # C++ compiler flags -CXXFLAGS=${CXXFLAGS:="-O3 -g -Wall"} +CXXFLAGS=${CXXFLAGS:="-O3 -Wall"} # the C++ flags required for linking. Uncomment if additional flags # need to be passed to the linker. @@ -412,6 +433,8 @@ export CANTERA_INSTALL_DIR export USE_NUMERIC export NUMARRAY_HOME export CANTERA_PYTHON_HOME +export USE_SUNDIALS +export SUNDIALS_HOME export WITH_LATTICE_SOLID export WITH_METAL @@ -439,6 +462,7 @@ fi # ./configure $CCPREFIX $1 $2 $3 $4 + #-------------- deprecated options ------------------------------------ # #---------------------------------------------------------------------- diff --git a/ext/Makefile.in b/ext/Makefile.in index afb18e295..3ae536865 100755 --- a/ext/Makefile.in +++ b/ext/Makefile.in @@ -10,6 +10,7 @@ BUILD_LAPACK=@build_lapack@ BUILD_BLAS=@build_blas@ BUILD_WITH_F2C=@build_with_f2c@ +USE_SUNDIALS=@use_sundials@ LIBS = blas/libctblas.a lapack/libctlapack.a math/libctmath.a \ cvode/libcvode.a tpx/libtpx.a @@ -45,7 +46,9 @@ endif # cd recipes; @MAKE@ cd math; @MAKE@ endif +ifeq ($(USE_SUNDIALS),0) cd cvode; @MAKE@ +endif cd tpx; @MAKE@ clean: diff --git a/ext/tpx/Makefile.in b/ext/tpx/Makefile.in index 5ad2af5bd..4f52d4ea2 100755 --- a/ext/tpx/Makefile.in +++ b/ext/tpx/Makefile.in @@ -6,6 +6,7 @@ do_ranlib = @DO_RANLIB@ CXX_FLAGS = @CXXFLAGS@ $(CXX_OPT) +#COBJS = tpx_files.o COBJS = Methane.o Nitrogen.o Oxygen.o Water.o Hydrogen.o RedlichKwong.o \ CarbonDioxide.o Heptane.o lk.o Sub.o utils.o HFC134a.o diff --git a/tools/src/package4mac.in b/tools/src/package4mac.in index 45e97d694..4e5221ccf 100644 --- a/tools/src/package4mac.in +++ b/tools/src/package4mac.in @@ -20,6 +20,7 @@ NUMARRAYRESDIR=$PKGDIR/numarray/resources_dir # where Cantera has been installed instdir=/Applications/Cantera + pylibdir=/Library/Python/$PYVERSION $INSTALL -d $CTDIR diff --git a/tools/templates/cxx/demo.mak.in b/tools/templates/cxx/demo.mak.in index 7b5ff4da7..f7a0429e5 100644 --- a/tools/templates/cxx/demo.mak.in +++ b/tools/templates/cxx/demo.mak.in @@ -45,7 +45,7 @@ CANTERA_LIBDIR=@ct_libdir@ CANTERA_INCDIR=@ct_incroot@ # flags passed to the C++ compiler/linker for the linking step -LCXXFLAGS = -L$(CANTERA_LIBDIR) @CXXFLAGS@ +LCXXFLAGS = -L$(CANTERA_LIBDIR) @LOCAL_LIB_DIRS@ @CXXFLAGS@ # how to compile C++ source files to object files .@CXX_EXT@.@OBJ_EXT@: