Contrarily to the input files of Lagamine, most of the input files for Optim are not formatted, which means numbers don't need to be put in a specific number of columns.
The *.info file is the main file for Optim. It contains the names and path to the files for simulations and reference curves, and several optimization parameters. Note that the execution files and input files for Optim should all be placed in the same folder as the *.info file.
The first line of this file is formatted. The file must be structured as follows:
Line 1 (2I5) | |
---|---|
NT | Number of simulations |
ICURV | = 0 Only one reference curve is used for each simumlation |
= 1 A number NBFCT(I) of reference curves is used for each simulation (I=1,NT) | |
Line i+1, i=1,NT | |
NAMEOP | Name of the *.op file for simulation n°i (including the extension '.op') |
NAMEEXP | Name of the *.exp file for simulation n°i (including the extension '.exp') If ICURV=1, only the name of the first *.exp file should be indicated. The exp files must then be named as follows: Name.exp; Name2.exp; Name3.exp; …; NameNBFCT.exp. The name of the first file can be changed but the other files should have the same name with the added number of the REF curve |
NAMESM | Name of the *.sm file (output file) for simulation n°i (including the extension '.sm') |
NPOI(J) J=1,NBFCT | Number of divisions of the abscissa range of the curve where the finite element curve and the reference curve will be compared |
Line i+NT+1, i=1,NT | |
CHEMLAG | Path to the lagamine.exe ![]() |
NAMEEX | Name of the execution loading file *_ex.dat |
NAMEDAT | Name of the data file *.lag |
Line 2*NT+2 | |
BORNEINF(J) J=1,NBPAR_OPTOT | Minimal value of each parameter to be optimized |
Line 2*NT+3 | |
BORNESUP(J) J=1,NBPAR_OPTOT | Maximal value of each parameter to be optimized |
Line 2*NT+4 | |
MAXFEV | Maximum number of iterations (Default = 15) |
Line 2*NT+5 | |
TOL | Convergence tolerance for the optimization algorithm (Default = 1E-4) |
Line 2*NT+6 | |
REC_FD | = 1 Write a copy of the .fd file at each iteration to keep track of the FE curve |
Else: Nothing |
Here is an example of an optimization made from 3 simulations. 2 experimental curves (files “871_G4120.exp” and “871_G41202.exp”) are attached to the second simulation.
3 1 871_G460.op 871_G460.exp 871_G460.sm 20 871_G4120.op 871_G4120.exp 871_G4120.sm 50 20 OP_TMF.op OP_TMF.exp OP_TMF.sm 100 C:\LagaProgs\Optim\Arrhenius\lagamine.exe 871_G460_ex.dat 871_G460.lag C:\LagaProgs\Optim\Arrhenius\lagamine.exe 871_G4120_ex.dat 871_G4120.lag C:\LagaProgs\Optim\Arrhenius\lagamine.exe OP_TMF_ex.dat OP_TMF.lag 1.0e-15 150.0 1.0e-15 100.0 0.1 5000.0 0.1 2000.0 50
The *.exp files contain the reference curves. One *.exp file contains one reference curve. The number of points defining the reference curve is left to the user's chosing and will be counted automatically by Optim.
The abscissa of the reference curve should appear in the first column of the file, and its ordinates in the second column.
The points of the curve must be indicated in either increasing x order or decreasing x order (you cannot have the values of the abscissa increase and then decrease).
No empty lines must be left at the end of the file.
The *.ia file contains the following information:
The parameters are summed up below:
Line 1 | |
---|---|
NBLOIDIF | Number of laws containing parameters to be optimized |
NBFCT | Number of finite element curves to be compared with experimental curves |
NBPARMAX | Maximum length of vector containing parameters to optimize among the NBLOIDIF laws |
NBPAR_OPMAX | Maximum number of parameters to optimize per law |
PREC_IA | Value for the perturbation of parameters. The perturbed simulation will be executed with a value (1±PREC_IA)*parameter. Recommended value: 0.001 |
NBPAR_OPTOT | Total number of parameters to be optimized |
Line 2*i (i=1,NBLOIDIF) | |
IALAW | Law number as specified in the *.lag file |
NBPAR | Length of the sub-vector containing all the parameters to optimize (see Note below) |
IJ_IA | Position of the first component of the sub-vector. Note that the first parameter of PARAM has the position 0. |
Line 2*i+1 (i=1,NBLOIDIF) | |
LIST(I), I=1,NBPAR | Values 0 or 1 indicating whether the I-th component of the sub-vector is to be optimized (=1) or not (=0) |
Note: The order of the parameters can be checked in the code of the corresponding law preprocessor. The sub-vector selected by the user is taken from the PARAM vector: PARAM(J), J=IJ_IA+1, IJ_IA+NBPAR. This sub-vector may therefore contain parameters that will not be optimized.
An example of a *lag file is shown in figure 1 where the parameters to optimize are in bold. In this example, 2 laws (IALAW=1 and IALAW=3) contain parameters to optimize (NBLOIDIF=2).
Fig. 1: Example of *.lag file - the parameters to be optimized are in bold
The corresponding *.ia file would be the following:
2 2 5 3 0.001 4 1 5 83 0 1 1 0 1 3 3 0 0 0 1
Note that the following is also a valid *.ia file in this case:
2 2 4 3 0.001 4 1 4 84 1 1 0 1 3 1 2 1
The parameters to be optimized indicated in the *.ia are not read from the *.lag file but from the *.op file. This file is structured as follows (no format):
Line 2*i-1 (i=1,NBLOIDIF) | |
---|---|
NBPAR_OP(i) | Number of parameters to be optimized in the law |
Line 2*i (i=1,NBLOIDIF) | |
LIST(J), J=1,NBPAR_OP(i) | Initial values of parameters to be optimized in the law |
The user write the initial values of the parameters; after that, Optim will re-write the file with new parameters after every iteration.
Following the example of the *.ia file, the *.op file could be the following:
3 0.91 0.709 0.216 1 0.2255