Main Functionality
- Added the version number to the executable shortcut on the desktop (below the icon).
ODYSSEE Quasar – Solver
- A new library libQuasarNeuralNetwork64.dll has been added, containing following functions for Neural Networks methodologies:
- MLP Multi-Layer Perceptron model proposes the training and the prediction steps.
- predictMLP Multi-Layer Perceptron model proposes only the prediction step (it supposes
the weight are already existing).
- LSTM Long Short Term Memory (Recurrent Neural Network) model proposes the
training and the prediction steps for the time-dependent data.
- predictLSTM Long Short Term Memory (Recurrent Neural Network) model proposes only
the prediction step
- Added a new function gpnewpoints in Quasar External, to choose new points for the DOE among specified candidates thanks to a Gaussian approach.
- Added new function newpoints in Quasar External, which proposes new points following a gradient approach.
- Added a new function canny in Quasar Image. It applies Canny filter, to extract the contours of the image.
- Added new useful functions in the Useful_Functions.qsr library:
- isInsideMatrix(double a, Matrix b) to find if a value is inside a matrix
- calculateEuclDistance(Matrix A, Matrix B) to calculate an Euclidian distance
- bubbleSort(Matrix A, int orientation, double direction, int idRef) to sort a matrix with the bubble algorithm
- argSort(Matrix A, int orientation, double direction, int idRef) to return an Id list corresponding to the order of the values in the selected column or row
- range1D(int n, int axis) to create a 1d matrix with values from 0 to n the dimension asked.
- removeLine(Matrix A, int j) to remove the line j from the matrix A
- The Quasar documentation has been updated with the following functions:
- Cstdxm resizes the curve in specified number of points
- Inrange checks if XN matrix is in the range of X
- Sort_by_rows sorts the data by column ID
- Order_by_row_index_X sorts the Y file by the column ID from X
- RegressionQR calculates the regression coefficients when the matrix is
ill-conditioned (often due to dependencies between parameters)
- Condition number calculates the conditional number of the matrix (a high conditional
number means the matrix is ill-conditioned)
- BellTransform converts a curve in indicators specific to curves with peaks
- BellTransformReverse from specific indicators, rebuilds a curve with peaks
- For the mining externals for correlation, covariance, and dependencies, when the input matrices do not have the same number of rows, a warning message is displayed.
- Bug Fixes
- For the Inverse Distance algorithm, an update has been done for linear interpolation with 1 Neighbor (INVD1, Neighbor = 1).
- For matrices over 600 lines, in certain condition, with a pod execution, it could have NAN results. An evolution on it has been done.
ODYSSEE Lunar – GUI
- Reliability corridor for Kriging direct interpolation method.
- Possibility to export external super elements ROMs in FMU format, meaning parameterised Superelements. It will work for MARC and Nastran.
- Displacement entity for *.h5 files can now be displayed (essentially used for *.h5 from Cradle).
- Export in FMU format:
- Now available for the model exchange type.
- Available for FMU v2.0 and v3.0.
- All FMUs use a license feature [ODYSSEE_Solver] included in both, the ODYSSEE CAE and ODYSSEE A-Eye packages. It can also be purchased separately. If you want to perform a massive use of these FMU models, please contact your sales manager.
- In the project configuration window, it is now possible to import datasets from system matrices output h5 files. This is allowed by specifying *.odys.h5 files that can be obtained because of the new keyword EXTSEOUT entry for HDF5 (valid for Nastran and MARC).
- User Scripts available in:
C:\Program Files\ODYSSEE\CAE\Documentation\Lunar\examples\UserScriptTabOption:
- Added user script <UserScript_BestMethod_by_Cross_Validation_onX.qsr>vto obtain a proposition of the best predictive method choice based on the database only (without validation points). It divides the database in several sets, interpolates independently each group of sets, and provide a global predictive method for the whole database.
- Updated the <UserScript_Clusters-Kmeans.qsr> user script to calculate clusters only on the X cases now and classify into the good clusters the XVal validation points and/or the XN new points (from Sensitivity) based on their distance to the clusters’ centres of gravity.
- Updated the <UserScript_Clusters-Kmeans.qsr> user script to standardise the data before clustering. The user can choose to not standardise the data thanks to an argument.
- In the LS-Dyna parser tool, it is now possible to extract some output data from secforc output files.
- In the Adams Car Parser tool, updated the Event file button label to Event set file.
- In the Adams Results Advanced extraction parser tool, the button "Select Output Directory" has been renamed to "Select Working Directory".
- Lunar help document updated.
- Bug Fixes
- In the user script:
- <UserScript_Compare_ROM_methods.qsr>, when the criteria 19 (L2 Norm) is used, the best method proposed is now defined by the lowest value (Euclidian distance).
- <UserScript_Compare_interpolation_methods.qsr>, updated library import order to avoid errors due to dependencies in library imports.
- In the user script:
- In the LS-Dyna parser tool:
- If the value to be parsed was larger than the selected field, the value was not correctly written.
- If the value to be parsed was written in scientific format and did not have point to mark the decimals, then the value was not correctly written.
- If the user enters an X file which contains labels only for the rows (no column labels), then the parser considered the first row as labels and not as floating data.
- In the Pareto-constrained optimizations:
- Progression bars on the main Lunar window and the convergence plot window were not even. It is fixed now.
- The number of parameters to optimize if one was disable was not updated when sent to pareto process script.
- If no parameter was selected for optimization and the user still runs the optimization, the interface crashed. Now, an error message appears when clicking on the “Run optimization” button if no parameter is selected.
- It was not compliant with NLPJOB optimization algorithm for Multi-objectives optimization, leading to interface crash.
- In the optimization curve plots:
- When the user places the mouse on one point, a yellow frame appears and displays the values of the point (iteration ID, abscissa and ordinate). For the points that are close to the borders of the plot frame, the yellow frame could go beyond the edges, making it impossible to read the values. Now this is fixed. The yellow frame position is adapted so that it always lies inside the plot frame.
- When the user ran the optimization several times, the curves stopped displaying.
- In the <optimization.qsr> file written by Lunar, the 9th argument for pod_all prediction method was an integer instead a real value, leading to an error message for POD RBF, POD ARBF and POD InvD interpolation functions. It remains an integer only for the POD Krg interpolation function (to define stationarity function).
- In the Adams Results Advanced extraction parser tool:
- a fix has been made to allow for points ('.') in the files path for the Re-interpolate functionality.