==== ReMagX 2.7 (currently in development) ==== ==== ReMagX 2.6 ==== Support import of data with Unix "\n" linefeed. Add "Sort Datasets" function in scratch menu entry Fix possible zero pointer dereference when the fitting thread is terminated Change to C++ Builder XE 7 and gcc 4.9.3 ==== ReMagX 2.5 ==== Fix loading of data separated by tabulator Fix plotting of the dielectric tensor Update Aboutbox Add decimal point help in the data import window. ==== ReMagX 2.4 ==== Add more consistency checks when loading files Matrix Formalism: Correct substrate boundary conditions for tetragonal tensors The fourth column of the map calculation shows now the correct angle for each energy. lin error option applies to escans as well ==== ReMagX 2.3 ==== Tons of bug fixes concerning the graphical user interface Correct bug preventing the gaussian magnetic profiles to work correctly. Add consistency check for the fit variables Correct dataset loading with Unix line breaks Clean up code Material to Element function takes the multilayer structure into account. ==== ReMagX 2.2 ==== Allow to change asymmetry definition in settings window (Normed difference or simple difference) Implementation of arbitrary magnetization directions for Parratt formalism Fixed crash when fitting energyscan in parallelized mode. Magnetization direction can be changed and fitted for each layer separately. Magnetization direction is fitable. Imported datasets with the same energy for each datapoint are automatically transformed to fixed energy measurements. Add a function to remove spikes in measurements. File saving is done in memory first and then saved in one step. Faster and more safe Fixed handling of the initial step of the simplex fitting algorithm. (Fixed some possible bugs) Updated and corrected terms and definitions file for element specific magneto-optic scattering Fixed bug that prevents the correct updating of the dielectric tensor for reflectivity and asymmetry if the optical constants are not loaded from file. Added script functions getf1m, getf2m, setf1m and setf2m. It is no longer necessary to have .m (.ffm) files for all layers when in magneto optics. Introduced .ffm files for f1m and f2m in element mode. ==== ReMagX 2.1 ==== Fixed crashing while executing dichroic energy scan. (Script not terminated correctly) Fixed problem introduced in 2.0 that the layers are referenced to the wrong optical constants if you change the db-name after calculating the first spectra. Added new functions in script to shift delta, beta, f1, and f2 in energy (Element:Setf(...) and SetDeltaBeta(...)) Added Fourier Transformation option to analyze the spectra. Added possibility to include the second order peak (doubled energy) from grating with a given intensity. (TODO: Add a special tab to include experimental corrections) ==== ReMagX 2.0 ==== Multiple files can be selected if datasets are imported Script Variables are displayed in a table. Multiple small changes at the graphical user interface to be more consistent Added a list to see the cached files Initial support for energy resolution (fastconvolution, only energy scans for the moment) Implemented possibility to add a energy shift for energy scan measurements Removed bug that the qz shift is only valid for positive values The standard output of the graph is changed from .bmp to .jpg Added polarization filter for pi and sigma Added the possibility to directly delete fit parameters from the parameters slide. Const. angle scan can be chosen instead of const qz. scans Added popupmenu to dataset list to move datasets up and down Added menu entry to execute "default" script or "before calculation" script Added option to copy data and image to clipboard Included summary plot to see fits of all datasets at once. Linewidth and fontsize is changeable More internal optimzations. Altogether speedup of factor 2. Parallelization seems to be stable now. Use of already compiled scripts during fits. Reduced significantly the amount of memory needed by the evolution algorithm. Allows a population greater than 100000. Decreased number of memory allocations by 4 orders of magnitude. Fixed a lot of very old small bugs and memory leaks. Initial support for multilayers in compound mode. Parses scripts like "1, 3*(2,3,4), 5" where the numbers are the layer numbers. Added button for a summary of all dataset plots Density can be accessed in the script Moved Settings tab to an own window (Preferences) Included f1 f2 scattering factor database (Chantler 1995). Size is 200kb for the first 90 elements Added export option for the layer table as ASCII (as comma separated values, english number format) Changing numbering scheme of the versions. ==== ReMagX 1.9.5 ==== Added error weight for each dataset. Good for fitting of multiple curves Changed default font size from 8 to 10 in the graph. Density Profiles shows vertical lines to mark the different thicknesses of the element specific layers. Added an option in settings to disable parallel computing. Parallelization seems still to be unstable. Fixed race condition in energy scan calculation introduced in 1.9.3 Fixed bug in energy scan introduced in 1.9.3. Speedup of 100 orders of magnitude. Fixed the drawing of the element specific density profiles. The layers can be cut around the top layers. It was already correct simulated but wrong displayed. Fixed scaling factor during fit (again) Fixed energy scan fit if using multi fit feature Initial support of simulation of the Total Electron Yield. Uses Parratt to determine the light absorption inside the sample. deltam is used as the electron escape length. Added message box when transforming the compound data to element specific data Removed "with M(z)" checkbox in Adaptive layer segmentation. You can already activate it in magnetization settings. Deleted "Show Delta/Beta Profile" in optical constants database tab. The function can be found in Adaptive Layer Segmentation tab. ==== ReMagX 1.9.4 ==== Fixed the switching between compound mode and element mode after loading a file which was saved in compound mode Fixed layer input table error message infinite loop Fixed some nasty bugs introduced in 1.9.3 with the scaling factor while fitting. Added Parratt formalism without multiple scattering. Not really faster, but it is a good method for physical understanding. Live update of multiple fits shows the current active plot. It takes more memory and time to save this data. Let's see in future if there is some bottleneck. Fixed live update of plot while fitting Fixed button "to layer list" in adaptive segmentation. ==== ReMagX 1.9.3 ==== Fixed crash while pressing the Chi^2 Button Fixed bug in multislicing in element mode where the actual film is cut near the vacuum layer Experimental support for parallelized fits (again) Removed some overhead for parallelization Removed the choice of the fit type. The fit type is determined from the context of the dataset. Multiple Fits of different measurement types are possible. Activated C++0x standard. Inserted move constructors and move assignments to improve speed. Changed the slicing in element mode to an adaptive one. Substantially faster simulation Changed the cursor of the chart to a cross Matrix Mode Setting: Option to treat deltam, betam, f1m, f2m as tetragonal (zz-)part of dielectric tensor. All Mangetization settings are in one place. Added tab "X-Axis" and removed tab "Energy Scan Settings". Seems to be more consistent. Add and remove layer supported in element specific mode Post Modifications applies to the measurement as well Removed shaking when window is moved. The density in element mode can be altered by the scrollbar below the layer table ==== ReMagX 1.9.2 ==== Added toolbar (load, save, add row, remove row, switch through elements) Changed some fonts from non-aliased to aliased Changed windows theme (added manifest) Changed optimiziation compiler flags to "-Ofast -ffast-math" Fixed Evolution code (but removed parallelization for now) Fixed bug that the default script is not cleared after loading new state Fixed buffer overlow in Simplex simulated annealing ==== ReMagX 1.9.1 ==== Dichroic simulation mode does no longer take values from the optical constant cache if not desired. Added .db and .m files for example in zip file. Fixed wrong energy range calculation in energy scan if no measurements are active. Fixed polarization overwriting bug after loading default.all file. Added "disable script" button. This can reduce the overhead significantly and speedup the calculation process. Save precision in .all file ==== ReMagX 1.9.0 (unstable) ==== Added Drag&Drop for .all files Changed Splash screen. Comments welcome Change icon design. (Thanks to my sister Marion) Added support for Kramers-Kronig consistent fit of spectra in the terminal-version. Currently not official supported ReMagX does not crash if the table with script-variables is inconsistens with fit parameters. The wrong entries are ignored. Added asymmetric energy scan fit Fixed bug concerning the test of validity of datasets for fits. Fixed two buffer overflows while loading .all files. Initial support in script for element specific mode. ( example: Fe:getf1() ) Script error messages works correctly now. Cleaned up source code for script ==== ReMagX 1.8.2 (unstable)==== Fixed bug in chemical formula interpretation. Elements can have zero density now. Internal vector structure takes less memory and is more stable Sort optical constants before loaded Change internal structure of optical constant tables to a more common one. Fixed optical constants problems (Wrong error message "Check if you chose the right energy") Fixed polarization displaying bug after loading .all file. ==== ReMagX 1.8.1 (unstable) ==== Script execution Button works again Added second scattering type: Transmission. Currently only available in matrix formalisms. Corrected bug in inserting/removing layers ==== ReMagX 1.8.0 (very unstable)==== Added "Delete optical constants cache" Button. Added "Show scattering factors buttons f1/f2" Button. Added "Show Density Profiles" Button. (No more than 8 elements so far) Minimizing of the main window works again Changed compiler for the server part to gcc 4.5.2 Changed compiler of the graphical user interface to newest C++ Builder XE 2 (2011). (Last was TurboC++ 2006). Seems very buggy. Added some post modifications options for the calculated reflectivity. ( *qz^4 and /cos(2*th)^2) Initial support for element profiles. (Each element has a seperated density profile). Actually this is the most fundamental change of the program since the beginning of ReMagX. Large code clean up Added caches for .db .m .e files. Great speed improvement for energy scan. Optical constant files (.db .m .e) are not loaded for each layer seperately. Determine layers with the same names. Great speed improve for superlattices. ==== ReMagX 1.7.0 ==== Added Nevot&Croce roughness model for full matrix formalism Added Nevot&Croce roughness model for Zak formalism Simulated Annealing takes its own random seed (Changes every second). Before it took the evolution algorithm seed. Added asymmetric energy scan Exchanged the 5 buttons for reflectivity and energy scan to two buttons. Added "translation" to the dataset. Like multiplicator it acts on the reflectivity if the dataset. Formula: Refl := (Refl+translation) * multiplicator Support for std deviation at the end of the fit (only for Levenberg-Marquardt, it shows the result in the debug window) If a new dataset is loaded it takes automatically the current energy, resolution and multiplicator as standard values for that dataset. Initial support for fits of multiple datasets Initial support for script variables which can be fitted Deleted the nonsense button "best fit with simulated annealling" Support for polarization in dataset editor (needs a small fix for arbitrary polarizations) Script execution speed improved (not compiling every time, does not work for parallelized computation) Added the option "Transfer inital fit variables to layer table" "Show delta and beta spectrum" executes the script for every energy. Added a new form "optical constants database" for a better handling of .db .m and .e files. Currently you can force that ReMagX chooses the optical constants database for each calculation (even Reflectivity). Added .e file support Fixes crash if one chooses the wrong "What to fit" radiobutton Added a converter to the command-line interface to convert .db and .m to .e files Changed the complete internal handling of the optical constants (starting point for a new .e file) 8 times faster calculation if resolution=0 and fast convolution is not used. (EScan for example) More Code cleanups Fit EScan parallelized Fixed the calculation of the Dic Reflectivity of Parratt formalism for the second polarization Deleted the hint of the layer list Accelerate solution of quartic polynomials significantly Fixed a special case in the solution of quartic polynomials Fixed Bug in ReMagX_Terminal.exe not to print the usage screen every time. Save fit error function index in file ==== ReMagX 1.6.0 (build 43) ==== !!Fixed wrong results in ZAK formalism regarding the magnetization direction (out of plane magnetization was wrong) The whole magnetization stuff must now be activated in the magnetization frame (checkbox) Add new terminal program. Get delta/beta values works again correct import dataset error (energy value) changes some graphical issues if you use ReMagX on small screens add epsilon-value to simulation parameters the webserver can now restarted immediately with new data without restarting of ReMagX the change of the active directory works now if you save or load a .all file. ==== ReMagX 1.5.5 (build 5) ==== Clean up the simulation code - Clean up parratt, zak, matrix. - - seperate to more files - - new and faster resolution algorithm (I am not sure if I calculate them right, TODO!) - Add Webserver (start in Settings Tab) for a better consistency check. This will be extended in the future (maybe away from the windows GUI). Separated Zak formalism from full matrix formalism (changed the GUI accordingly) Corrected a bug from option "Get deltam/betam from database" (It read the energy as lambda, and not as energy) Changed the read in of energy and lambda (more stable) Deleted the export and import to the program Parratt32. The program seems no longer availabe. changed resolution definition and calculation and changed the Reflectivity settings frame (should add energy resolution, TODO!) moved magnetization direction to sample register (needs to be tested, TODO) Deleted DM1 model. Changed description of layer segmentation models ==== ReMagX 1.5.4 ==== Added a window to show the electromagnetic field inside the layer ==== ReMagX 1.5.3 ==== Separated the script window to "Before calculation" and "Default" Tested different energy definitions. Changed the Fit frame. The defined variables, tables and functions are tables: \\ delta, beta, sigma, thickness, deltam, betam \\ gauss_delta, gauss_beta, gauss_variance, gauss_z \\ exx_r, exx_i, exy_r, exy_i, ...... \\ solution_qz, solution_R \\ variables: \\ energy \\ epsilon \\ resolution \\ energyscan_qz functions \\ write([string, numbers, ...]) \\ print([string, numbers, ...]) \\ CalculateReflectivity() \\ ShowMatrixEigenvalues() \\ GetError() \\ ShowEScanEigenvalues(layerindex) ==== ReMagX 1.5.0 ==== Parallelized EScan Added "energy" variable to script. You can use to add a lorentz oscillator in EScan for example. Polarization tab changed to a more common definition