Experimental data

--Nexp
Number of experiments (mandatory, even if there is only one)

Data file structure

For each experiment indexed by k are requested 3 files
--FileInjk injection profile at the input of the column 
--FileInik initial state of the column
--FileChromk observation at the output of the column

The file format is
t1 c1
...
...
tN cN
where ti can be a space or time value, according to the case, and ci is a *vector* of concentrations of size M if one has M components.

Outputs
--InterGraph
Graphical output, interactive graphics :
0 none
1 interactive graphics during computations. Makes use of gnuplot, and requires in the current directory a ghost.out file, see ghost.out.
--status
--status=filename
The file filename contains a list of all parameters used by the currently used program, including the default values. 
Type of computation
--TypeTest
1 :    Simulation test
2 :    EO optimization
3 :    EO + gradient optimization    
4 :    Gradient optimization
5 :    Gradient comparison between direct and adjoint computations

Isotherms
--TypeIsotherm      
Number
Name
Description

1
Langmuir
identification of Nstar and Kads

2
Langmuir
identification of Nstar,  with constant Kprim=Nstar*Kads

3
Langmuir
identification of Kads, with constant Nstar

7
Langmuir
identification of Nstar and Kprim=Nstar*Kads

4
Langmuir-Igor
identification of Nstar and Kads

5
Langmuir-Igor
identification of Nstar and Kprim

6
Langmuir-Igor
identification of Nstar_i and Kads

21
BiLangmuir
identification of Nstar_i, with constant Kads

22
BiLangmuir
identification of Kprim and Nstar_i

23
BiLangmuir identification of Nstar_i only

101
Lattice 1 comp identification on interaction energies and Nstar

1011
Lattice 1comp identification on exp(-beta*energies) and Nstar

102
Lattice 2 comp identification on interaction energies and Nstar
1022
Lattice 2 comp identification on exp(-beta*energies) and Nstar
103
Lattice 3 comp identification on interaction energies and Nstar
1033
Lattice 3 comp
identification on exp(-beta*energies) and Nstar
--Nstar
Must always be provided
--Kads, --Kprim
Kads vs Kprim : when identification with respect to kprim (resp. kads), provide the values for Kprim (resp. Kads).
1
--Nstar=x
--Kads=
(k1,...,kM)
x is a number
ki are numbers
, i=1...M
M is the number of components
2
--Nstar=x
--Kprim=
(k1,...,kM)
parentheses are mandatory, even if M=1, e.g. --Kads=(0.034)
3
--Nstar=x
--Kads=
(k1,...,kM)

7
--Nstar=x
--Kprim=
(k1,...,kM)

4
--Nstar=(x1,...,xM)
--Kads=
(k1,...,kM)
xi are numbers, i=1...M

5
--Nstar=(x1,...,xM)
--Kprim=
(k1,...,kM)

6
--Nstar=(x1,...,xM)
--Kads=
(k1,...,kM)

21
--Nstar1=x1
--Kads1=
(k1,...,kM)
--Nstar2=x2
--Kads2=
(j1,...,jM)



ji are numbers, i=1...M
22
--Nstar1=x1
--Kads1=
(k1,...,kM)
--Nstar2=x2
--Kads2=
(j1,...,jM)



Deterministic optimization (gradient-like methods)
--TypeMethod
Method of deterministic (non-eo) optimization
1: ConjugateGradient with Polak-Ribiere rules from coool
2: ConjugateGradient with Polak-Ribiere rules and modified stopping criteria (on gradients)
3: ConjugateGradient with Fletcher-Reeves rules
4: Steepest descent - the cheapest one from computational point of view

--EpsGrad
Tolerance on the gradient value. Not used when TypeMethod=1.
--Epsof
Tolerance on the objective function value.
--TypeLS
Method of line search inside the deterministic optimization
1: CubicLineSearch from coool
2: LineSearch with Armijo-Goldstein rules
3: LineSearch (mysterious)
4: ConstantLineSearch (fixed search step - test version)
5: LineSearch with Wolfe rules - seems to be rather efficient
--TypeGrad
case 0: SimulEDP
case 1: SimulEDPandAdjoint
case 2: SimulEDPandDerived


Useful parameters for stochastic optimization (EO)
--initBounds, --objectBounds
bounds for EO optimization (MUST be provided when required by optimization)
e.g.    for 1, provide Kads and Nstar
    for 5, provide only Nstar_i
    Langmuir : kads (resp. kprim), nstar
        BiLangmuir : kads_1 (resp. kprim_1), nstar_1, kads_2 (resp. kprim_2), nstar_2
        Langmuir-Igor : kads (resp. Kprim), nstar_i

The following three parameters are particularly important when dealing with parameters with
various ranges of variation, e.g. such as nstars and kads... This is related to the intervals in initBounds and objectBounds.
--Isotropic=1
--Stdev=1
Putting these two parametres to 1 allow
- Isotropic self-adaptive mutation
- One self-adaptive stDev (Sigma) per variable (see below sigmaInit): a vector of sigma's will be used (as many as parameters to be indentified).
--sigmaInit=0.3%
Initial value for Sigma(s). You can put any value of your choice (0.3 is the default). The % sign (no space between the numerical value and the % !) means that each value in the vector of Sigma's will be scaled according to initBounds.

--pMut=1
Should always be 1, according to modern techniques ! See EO tutorial for more informations.

--seed
If a value is given to this parameter, it is used as a germ for the initialization of the random genetic algorithm. This allows to repeat the same computation, particularly useful for benchmarks (is it machine-independant?). If no value is set the initialization is "actually" random.