Package: optimate
OptimateOptimate is an automatic parameter optimizer for different material models with the ability to optimize creep and relaxation experiments simultaneously. It utilizes minimization algorithms, such as Nelder-Mead and L-BFGS-B.Getting StartedPrerequisitesMinimum requirement to run Optimate is python v3.8.3 or higher and the following python libraries:numpy (v1.21.5 or higher)scipy (v1.8.0 or higher)pandas (v1.4.1 or higher)matplotlib (v3.5.1 or higher)Data Files and Naming ConventionThe experimental data must be .dat (tab separated) file(s). For creep and relaxation experiment, the headers of the .dat must betime,strain,stress, &temperature. For the initial guess file, the headers of the .par must betemperature,E, and the all the material model parameters respectively. For example, the files present in the Data/ folder of the master branch can be seen.For the creep and relaxation data files, a naming convention is set which should be strictly followed to ensure smooth running of the program:For creep experiments, the naming convention is:Convention: CreSampleName_Stress_Temperature.datExample   : CreBDY55z2_280_550.dat (For sample BDY55z2 at 280 MPa stress and 550 degree Celsius temperature)For relaxation experiments, the naming convention is:Convention: RelSampleName_Strain_Temperature.dat    (Note: Strain/1000 is the actual strain of experiment)Example   : RelBDY55re1_2_550.dat (For sample BDY55re1 at 0.002 strain and 550 degree Celsius temperature)For initial guess file, the naming convention is:Convention: SamplePfz_initial_guess_material-model.parExample   : BDY_initial_guess_nb.parMaterial-Model Key: Norton-Bailey 'nb'.NOTE: Time is in hours, Stress is in MPa, Strain is unitless, Temperature is in degree Celsius, Weight is unitless and Young's Modulus is in MPa in the data files.Also: For complete and detailed file and naming convention, please see the user manual.InstallationInstall optimate, using pip:pipinstalloptimateUsageThe data (experiment files and the initial guess file) in the format and convention as mentioned in the user manual are to be put together.For using optimate, just browse to the folder containing the data and run:optimate[options]Results will be saved in current working directory in the folder OptimateResults.NOTE: It is possible to optimize multiple experiments for the same temperature. Please make a separate data file for every experiment following the naming convention.Exampleoptimate-eCreBDY55z11_250_550.datCreBDY55z10_205_550.dat-onm-mnbArguments:
----------
optionalarguments:-h,--helpshowthishelpmessageandexit-eEXPERIMENT[EXPERIMENT...],--experimentEXPERIMENT[EXPERIMENT...]experiment(s)tobeoptimized-o{nm,bfgs},--optimizer-method{nm,bfgs}optimizermethodfortheoptimizer-m{nb,gf,kora,mgf,tkora,rkora},--material-model{nb,gf,kora,mgf,tkora,rkora}materialmodeltobeoptimized-wWEIGHT_EXP[WEIGHT_EXP...],--weight-expWEIGHT_EXP[WEIGHT_EXP...]weightw.r.t.experiments(indescendingorderofstressand/orstrain)-WWEIGHT_TIME[WEIGHT_TIME...],--weight-timeWEIGHT_TIME[WEIGHT_TIME...]weightw.r.t.timeintervals(for1-10hrs:10-MaxTimehrs)-c,--convert-unitconverttimeunitfromhourstoseconds-p,--plotsaveplot(s)-tPLOT_TIME,--plot-timePLOT_TIMEmaximumtimevalueforplotting--pic-format{pdf,png}plotpictureformat,default'pdf'--opti-mode{strain,rate}modeofcomparisonbetweenexperimentandsimulationfortheresidualfunction,default'strain'--error{mape,mase}errordefinitionusedintheresidualfunction,default'mase'--error-scale{log,lin}scaleofoptimizationintheresidualfunction,default'log'--timeoutTIMEOUTMaximumallowedtime(inseconds)foroptimization,default3600sec--max-iterMAX_ITERMaximumiterationsallowedforoptimization,default10000-v,--versiondisplayversioninformationResults will be saved in current working Directory in the OptimateResults folder). The optimized parameters are also generated as a .par (tab separated) file.ChangelogPlease readCHANGELOG.mdfor details on the features added and updated during subsequent versions.VersioningI am usingSemVerfor versioning. For the versions available, see thetags on this repository.AuthorOptimate is written byMuhammad Mohsin Khan(mohsin.khan1@outlook.com).LicenseOptimate is licensed under MIT License (see theLICENSE.mdfile for details).Project StatusOptimate is currently under development.