Dear sir, I am using ABAQUS2MATLAB tool in order to fit my simulation data with experimental data and determine the optimized constitutive material parameters. I have followed the previous discussions on the same topic and have created the files as such. The goal is to use an objective function that calculates RMSE between the experimental and simulated data and minimize it.
The whole procedure is running quite fine. However, the value of material parameters is not changing as the optimization procedure progresses. I have tried many ways but the problem still persists. Please help me in this regard.
I am attaching my Matlab files and ABAQUS input file.
[Link to the files] : https://drive.google.com/drive/folders/13gWAxSaF2SPj8wIK0nzCweyqHW4XKKqk?usp=sharing
Dear Abhilash Awasthi,
Thank you for your interest in Abaqus2Matlab. I have checked your files and the code seems to work properly.
However, I saw that you are using fminunc for solving the optimization problem, which may be a bit problematic, because fminunc ignores any lower or upper limits of the various design variables (i.e. material properties in your case). Most parameters used for defining constitutive material models have a lower and/or an upper limit, either directly specified by the nature of the constitutive model itself, or indirectly implied by the material response which is based on the constitutive model at hand. If, for example, the Poisson ratio is a design variable in a stress-strain curve fitting optimization problem fminunc should definitely NOT be used for the optimization process, since 0<ν<0.5 and these limits have to be satisfied throughout the optimization procedure, which cannot be done by using fminunc.
For these cases, fmincon is a very good alternative as an optimization function. Therefore, I suggest that you switch from fminunc to fmincon and try to solve the optimization problem in this way. Let me know if this works.
Anyway, try to check the values of the design variables when the optimization procedure "stalls" as you have described in your question.
Best regards