Improvement of the performances of parameters optimization
by A. Assire et J.-M. Proix, EDF R&D / AMA
The parameters optimization of a model is carried out in Code_Aster thanks to the command MACR_RECAL, which offers several methods of optimization, in particular the traditional algorithm of Levenberg-Marquardt. The parameters to be identified can be coefficients of constitutive laws, loadings, thickness of shells, etc. or any other parameter of the modelization. Optimization consists in finding the values of the parameters which enable to minimize the difference between the numerical response, (in the form of n curves), and n experimental curved.
This command was improved mainly in order to optimize the performances.
Computation can now be carried out according to two modes:
- DISTRIBUTION: launching computations in distributed mode - i.e. simultaneously - can appreciably accelerate the procedure in the event of available CPU resources: indeed, for an optimization problem with n parameters, the n+1 computations necessary for the construction of the gradient at each iteration are completely independent. This mode allows the interactive launching by using the various hearts of a local machine, or in batch on a computation cluster for example, or even a combination of both. This mode is to be privileged in the case of numerous parameters, and/or slow slaves computations (for example optimization on complex structures).
- INCLUSION: gradient computations pass by an INCLUDE of the slave file. This mode is preferable in the case of a fast slave computation , for example in order to identify some parameters of a constitutive law on material point.
Two traditional stopping criteria were added in the optimization algorithms:
- TOLE_FONC: if the variation in absolute value of the norm of the functional calculus between two iterations is lower than the TOLE_FONC value, the procedure stops;
- TOLE_PARA: if the variation of the norm of the difference of the parameters between two iterations is lower than the TOLE_PARA value, the procedure stops.
To improve even more the identification performances of the constitutive laws parameters, the simulation command on material point - SIMU_POINT_MAT - was enriched with the key word SUPPORT=’ NOT’; it consists in directly calling the integration routine of the behaviors. It is usable in small strains, without linear research (otherwise it is necessary to use the old computation mode: SUPPORT=’ ELEMENT’). (cf U4.51.12).
The computations times are clearly decreased: for example the tests “compxxx” pass on average from 70s to 9s.
Overall these two evolutions lead to a factor 10 to 20 on the optimization tests of coefficients of constitutive laws. As an example, the test SSNA118A (optimization of 4 parameters of the behavior VISC_CIN2_CHAB on 4 curves) took:
- 315s with version STA10.1
- 24s with the new developments (curved attached)
on a local Linux machine.