Difference between revisions of "Inputs"

From orch
Jump to: navigation, search
(Multiple Inlet)
(QSS and optimisation key words)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
Every key words are contained in the file "condition.cpp", this is where you specify the characteristics of your flame and the ORCh step you want to run.
+
=== General keywords ===
  
First, you choose the studied combustion regime (premixed flame, auto-ignition ou multiple Inlet regime)
+
All the necessary key words are contained in the file "input_file.ini", this is where you specify the characteristics of your flame and the ORCh step you want to run.
  
<code>
+
First, you choose the studied combustion regime (premixed flame, auto-ignition ou multiple Inlet regime) with the key word "configuration".
configuration = "studied regime";
+
</code>
+
  
Then, the ORCh step you want to perform ([[DRGEP|DRGEP_species]], DRGEP_reactions, ComputeTrajectories, computeQSSCriteria, getQSSfile, getQSSfileFORTRAN, Optimisation, or Lumping)
+
Then, the ORCh step you want to perform ([[DRGEP|DRGEP_species]], DRGEP_reactions, ComputeTrajectories, computeQSSCriteria, getQSSfile, getQSSfileFORTRAN, Optimisation, or Lumping) with the key word "step".
  
<code>
 
step = "chosen step";
 
</code>
 
  
The reference chemical scheme  
+
The reference chemical scheme (key word mech_ref) (by default it is the scheme "mech" from which the user begins the step) and his associated trajectory file  (key word : trajectory_ref) are optional.
  
<code>
+
Note that mech_ref and trajectory_ref are optional and useful only if the user wants to plot and calculate the fitness with other reference schemes than the default one. To use the default one, put "mech_ref = None"
mech_ref = "mechanims/reference scheme in xml";
+
</code>
+
  
The reference scheme of the current step, and the mechanism description (doesn't change through the ORCh steps) :
+
The reference scheme (mech) of the current step, and the mechanism description (mech_desc) (the mech_desc doesn't change through the ORCh steps and corresponds to the id of the mechanism) :
 
+
<code>
+
mech = "mechanims/current chemical scheme in xml";
+
mech_desc = "mechanism description";
+
</code> 
+
  
 
The level of debug wanted (generally 1)
 
The level of debug wanted (generally 1)
  
<code>
 
debug = 1;
 
</code>
 
  
The species trajectories and/or the temperature and the flame speed (in Premixed configuration) the user wants to vizualise during the step :
+
The species trajectories and/or the temperature and the flame speed (in Premixed configuration) the user wants to vizualise during the step (key word speciesToPlot).
 
+
speciesToPlot.push_back("O2") ;
+
speciesToPlot.push_back("CO2") ;
+
etc ..
+
+
plot_T = true or false; //temperature plot
+
plot_U = true or false; //flame speed plot
+
  
 +
Also if you want to plot the temperature and the flame velocity :
 +
plot_T = 1 or 0 //temperature plot
 +
plot_U = 1 or 0 //flame speed plot
  
 +
Then you define your target species  with the key word "Target".
  
 
=== Premixed flame ===
 
=== Premixed flame ===
  
If you want to reduce schemes for premix flames, firstly you will run a flame with the following inputs :
+
If you want to reduce schemes for premixed flames, firstly you will run a flame with the following inputs :
  
  
  configuration = "PremixedFlames";
+
  configuration = PremixedFlames
  
  
  
  listFlames.push_back(new PremixedFlames( fuel temperature, oxider temperature, pressure, ratio, Yf, Xf, Yo, Xo, path of the reference flame, path of the new flame));
+
  //Flame 0
 +
Tf =    //fuel temperature
 +
To =  //oxidiser temperature
 +
Pressure =
 +
Equivalence_ratio =
 +
Xf =  //fuel molar composition
 +
Xo = //oxidiser molar composition
 +
Initial_flame =
 +
Final_flame =
  
  
 +
In order to converge faster, you have to indicate a reference flame with characteristics close to the ones you want to run.
  
In order to converge faster, you have to indicate a reference flame with characteristics close to the ones you want to run
+
Note that you can perform the steps on several premixed flames, by adding more flames and the associated reference trajectories in the same order.
  
  
Then you define your target species :
+
//Flame 0
 
+
...
  
  listTargets.push_back("species 1");
+
  //Flame 1
listTargets.push_back("species 2");
+
listTargets.push_back("species 3");
+
 
  ...
 
  ...
  
 +
trajectory_ref = ...
 +
trajectory_ref = ...
  
and so on.
+
=== Multiple Inlet ===
  
Concerning the QSS part, you have to fill a vector with
 
  
+
Concerning this regime, as many inlets as needed can be added with the following characteristics :
string array1[] = {}
+
  
=== Multiple Inlet ===
 
  
 +
  //Inlet i
 +
  new Inlet i
 +
  T =
 +
  Pressure =
 +
  MassFlowRate =
 +
  Xk =
 +
  EvaporationModel = false or true (0 or 1)
 +
  DropletDiameter =
 +
  EvaporationTime =
 +
  liquidDensity =
 +
  EvaporationLatentHeat =
 +
//EndInlet
  
Concerning this regime, as many inlets as needed can be added with the following characteristics :
 
  
  
  //Inlet i
+
Some last parameters are necessary :
  listInlets.push_back(new MultipleInlet(
+
                "Temperature",
+
                "Pressure",
+
                "Mass flow rate",
+
                "Xk",
+
                "Yk",
+
                /*evaporationModel*/ true or false,
+
                /*DropletDiameter*/,
+
                /*Tau_vj (characteristic time of evaporation)*/,
+
                /*liquidDensity*/,
+
                /*EvaporationlatentHeat*/));
+
  
Coupled with the inlet of burned gases :
 
  
  //BurnedGases
+
NewMixing =
  listInlets.push_back(new MultipleInlet(
+
                "Temperature",
+
                "Pressure",
+
                "Mass flow rate",
+
                "Xk",
+
                "Yk",
+
                /*evaporationModel*/ false,
+
                /*DropletDiameter*/0.0,
+
                /*Tau_vj (characteristic time of evaporation)*/0.0,
+
                /*liquidDensity*/0.0,
+
                /*EvaporationlatentHeat*/ 0.0,
+
                /*tau_t (mixing time)*/,
+
                /*delta_t (time step)*/0.0,
+
                /*nbIterations*/0.0,
+
                /*BurnedGases*/ true ));
+
  
Also, target species must be specified :
+
which determine if the mixing of the fluid particles is new or set from a previous mixing. For the first step of the analysis, this parameter is set to true, and false for all the other steps of the study, so the random mixing of the first step is re-used for the other ones.
  
 +
  MixingTime =
 +
  TimeStep =
 +
  IterationNumber =
  
  listTargets.push_back("species 1");
+
=== QSS and optimisation key words ===
  listTargets.push_back("species 2");
+
  listTargets.push_back("species 3");
+
  
  
One last parameter is necessary :
+
Concerning the QSS part, the user have to indicate the species put in QSS assumption.
 +
 +
  //------QSS Scenarios------//
  
 +
  QSS =
 +
  QSS =
 +
    ...
  
new_mixing = "true or false"
 
  
 +
For the optimisation step, the user must indicate the size of the population at each generation, the number of generation that will be calculated, the number of the best solutions to copy generation to generation, the cross and mutation rate (best let to 0.75 and 0.02) and finally the allowed variation on the Arrhenius factors.
  
which determine if the mixing of the fluid particles is new or set from a previous mixing. For the first step of the analysis, this parameter is set to true, and false for all the other steps of the study, so the random mixing of the first step is re-used for the other ones.
+
    //------Optimisation------//
 +
 
 +
 
 +
  PopSize =
 +
  MaxAllowableGenerations =
 +
  NbElitism = 1
 +
 
 +
  CrossoverRate = 0.75
 +
  MutationRate = 0.02
 +
 
 +
We recommend to keep the mutation and crossover rates by default.
  
=== Auto ignition ===
+
  AllowedVariation_A =  
 +
  AllowedVariation_b =  
 +
  AllowedVariation_E =

Revision as of 15:31, 1 February 2019

General keywords

All the necessary key words are contained in the file "input_file.ini", this is where you specify the characteristics of your flame and the ORCh step you want to run.

First, you choose the studied combustion regime (premixed flame, auto-ignition ou multiple Inlet regime) with the key word "configuration".

Then, the ORCh step you want to perform (DRGEP_species, DRGEP_reactions, ComputeTrajectories, computeQSSCriteria, getQSSfile, getQSSfileFORTRAN, Optimisation, or Lumping) with the key word "step".


The reference chemical scheme (key word mech_ref) (by default it is the scheme "mech" from which the user begins the step) and his associated trajectory file (key word : trajectory_ref) are optional.

Note that mech_ref and trajectory_ref are optional and useful only if the user wants to plot and calculate the fitness with other reference schemes than the default one. To use the default one, put "mech_ref = None"

The reference scheme (mech) of the current step, and the mechanism description (mech_desc) (the mech_desc doesn't change through the ORCh steps and corresponds to the id of the mechanism) :

The level of debug wanted (generally 1)


The species trajectories and/or the temperature and the flame speed (in Premixed configuration) the user wants to vizualise during the step (key word speciesToPlot).

Also if you want to plot the temperature and the flame velocity :

plot_T = 1 or 0 //temperature plot
plot_U = 1 or 0 //flame speed plot 

Then you define your target species with the key word "Target".

Premixed flame

If you want to reduce schemes for premixed flames, firstly you will run a flame with the following inputs :


configuration = PremixedFlames


//Flame 0
Tf =    //fuel temperature
To =   //oxidiser temperature
Pressure =
Equivalence_ratio = 
Xf =  //fuel molar composition
Xo = //oxidiser molar composition
Initial_flame =
Final_flame = 


In order to converge faster, you have to indicate a reference flame with characteristics close to the ones you want to run.

Note that you can perform the steps on several premixed flames, by adding more flames and the associated reference trajectories in the same order.


//Flame 0
...
//Flame 1
...
trajectory_ref = ...
trajectory_ref = ...

Multiple Inlet

Concerning this regime, as many inlets as needed can be added with the following characteristics :


 //Inlet i
 new Inlet i
 T = 
 Pressure = 
 MassFlowRate = 
 Xk = 
 EvaporationModel = false or true (0 or 1)
 DropletDiameter = 
 EvaporationTime = 
 liquidDensity = 
 EvaporationLatentHeat = 
//EndInlet


Some last parameters are necessary :


NewMixing = 

which determine if the mixing of the fluid particles is new or set from a previous mixing. For the first step of the analysis, this parameter is set to true, and false for all the other steps of the study, so the random mixing of the first step is re-used for the other ones.

 MixingTime = 
 TimeStep = 
 IterationNumber =

QSS and optimisation key words

Concerning the QSS part, the user have to indicate the species put in QSS assumption.

  //------QSS Scenarios------//
  QSS = 
  QSS = 
   ...


For the optimisation step, the user must indicate the size of the population at each generation, the number of generation that will be calculated, the number of the best solutions to copy generation to generation, the cross and mutation rate (best let to 0.75 and 0.02) and finally the allowed variation on the Arrhenius factors.

   //------Optimisation------//


 PopSize = 
 MaxAllowableGenerations = 
 NbElitism = 1
 CrossoverRate = 0.75
 MutationRate = 0.02

We recommend to keep the mutation and crossover rates by default.

 AllowedVariation_A = 
 AllowedVariation_b = 
 AllowedVariation_E =