PULsE v1.79
Current version features the following problem statements:
- A model of the flash experiment with coupled conductive-radiative heat transfer for semi-transparent materials
- Diathermic model for express data treatment acquired from semi-transparent materials
- A penetration model, which regards the distributed laser penetration depth, as well as a distributed temperature detection concept (this is analogous to the Penetration model by Netzsch)
- "Classical" 1D model
- "Classical" 2D model with adjustable detector field-of-view and laser spot
- Nonlinear heat sink model
Some might be familiar with a few of those models from previous releases. However, they were not completely functional since the associated property handlers needed to use the full potential of each problem are only introduced in this version.
Each model is now assigned to a "complexity", which is a rough estimate of the computational time. Currently, there is only one enabled high-complexity problem statement (the other one is disabled in this release), which is the coupled conductive-radiative model for participating media. Batch processing is disabled for high-complexity tasks since they are more prone to failure due to the various constituent numerical techniques (for instance, a discrete ordinates method with its own ESDIRK solver). There is also an internal set of exceptions which have been introduced to allow a more flexible approach of data treatment. Overall, high-complexity tasks are intended for use by 'expert' users.
The parameter search (i.e., the solution of the inverse problem or the 'revere-engineering' of heating curves) has been made more user-friendly. Previously the user could modify a standard set of search flags, even though some of the might not have been active for the current problem. This was not a problem when the list of numerical properties was short; however, it is now. So to manage this selection, only those flags that will have any effect for the current task can be modified.
Laser pulse can now be customised by not only selecting the type of the shape, e.g. rectangular or trapezoidal, but also the parameters of that specific function, e.g. the trapezoidal rise and fall segments. Future releases will also include the skewed Gaussian shape and the true laser pulse (as soon as I get my hands on at least some data with correctly measured pulses).
Metadata handling has been much improved. Previously, the metadata object created for each task had the 'default' values for a fixed set of numeric properties. This has now been fixed and there is no limitation (in principle) to what properties can be loaded - at least, not architecturally. The metadata always shows only those properties that have been externally loaded and nothing more.
Logging and exporting currently works fine and I am quite happy with both the code implementation and the performance. Interestingly, although PULsE heavily relies on Reflection API, it is still quite fast I would say, at least on the PCs that I have tested it on. There have been reports of strange plotting behaviour e.g. on Windows and MacOS where for some reason the graphs look slightly blurred. I will try to address this in a future release.
I have also slightly changed the GUI, especially for the property-holder tables, by making it more obvious which properties can be changed. I've made the fonts bigger as well to facilitate interaction with the software.
I haven't mentioned yet the statistical toolkit, which is quite robust and includes normality tests, residual plotting, correlation tests and variable search statistic. This part of the software is also in development and it is expected to play a major role in the future.Currently it works fine, it acts to prevent you from making stupid decisions based on a failed calculation (due to improper parameter selection or awful data). So you can use it, but do expect it to be re-worked later this year.
Another thing I haven't addressed yet is the out-of-date javadoc. Most of the comments do not make sense anymore and they need to be amended.
Looking forward to do some more work on this.