- Description
-
ODYSSEE CAE uses knowledge of a model's time-dependent behavior to:
- Predict the response of the model for parametric surveys.
- Use this prediction as an initial guess for improving the model or to test the model via a reduced-order-modeling (ROM) simulation coupled with optimization.
ODYSSEE CAE includes:
- ODYSSEE LUNAR: The main GUI of ODYSSEE CAE product and proposes multiple predictions and analyzes. In a few clicks, we can obtain time responses in real-time, optimization and parameter fitting, population studies (uncertainty corridors), sensitivity analysis, and parameters effects also providing animations when applicable.
- ODYSSEE QUASAR: A solver to make predictive models and data mining analysis.
- ODYSSEE NOVA: An optimizer to search the optimal variables to minimize an objective function, by respecting constraints.
- ODYSSEE PULSAR: A tool proposing extraction and replacement processes to handle the input csv data in Lunar format.
What's New in ODYSSEE CAE 2025.1
ODYSSEE Lunar – GUI
- Doe tool
- Markov Chain Monte Carlo algorithm has been added into DOE tool. The algorithm provides random samples that follow a distribution law defined by the user.
- A save DOE button has been added in the doe tool when opened from data management.
- Sensitivity Analysis
- Several error criteria between exact and prediction responses of validation cases are now displayed in the Parity plot.
- Axis labels for Parity plot have been clarified
- When loading multiple datasets into a CAE project, the display of the global correlation matrix in the sensitivity tab has been improved when there are many variables in X.
- Interpolation
- In the Automatic configuration tab, when Cross validation method is selected, it is now possible to select the base function for Kriging interpolator. This option is also added in the 8th argument of the user script.
- Optimization
- In the Optimization configuration tab, in the third tab called 3-Configure optimizer, it is now possible to select other optimizers already available in Nova by ticking the Enable advanced algorithms box.
- In the optimization window, when a target curve was imported there was no information reported about the success of the operation. This has been fixed.
- Reliability
- New Reliability tool: Based on a sample (and the associated predicted results) generated around a target point, such as an optimal point, the probability of failure at this point is calculated based on a constraint value on Y, defining the failure limit. The feature can be directly applied on the original database XY.
Figure 1 : Reliability Tool
- Other
- An option Save a Copy as has been added to save copies of current projects.
- When creating a project, if there is a risk to have a too long file path, a warning message is displayed.
- Bug fixes:
- In the Parser tools, the Run missing only option did not work correctly and all past runs were deleted. This issue has been fixed.
- The global parameter effect matrix was not updated when a dataset was removed from the project. It is fixed.
- For multi-objective optimization, objective values displayed in convergence plots were only the first objective. Now the global multi-objective value is displayed. Please note that it was not affecting the displayed blue optimal result and the associated X-values.
- *PART and *PART_CONTACT are now detected by the LSDYNA parser tool in the replacement step.
- LSDYNA parser tool can now parse input *.key file generated from OASYS Premier.
- The stop button in all the parser tools was not working.
- In the optimization window, if a weight was defined for some targets, it was reset to 1 when the project was reopened. This has been fixed.
- When multiple datasets of scalar values were loaded into the CAE project, in the Sensitivity tab, the display of the global correlation matrix measured on the mean values was not correct. It must be identical to the one measured on the maximum values. A fix has been made.
- When checking duplicates in data management with a X/XVAL random split applied, the highlighted sample points by Lunar were not correct. This has been fixed.
- There was a bug when using Custom Solver in FMU. In the script file the return YN was not in the right location. This has been fixed.
- The correlation plot in the Doe tool was not updated when the Undo button was used. This has been fixed.
ODYSSEE Quasar – Solver
This version includes the following updates:
- FORM (First Order Reliability Method) and SORM (Second Order Reliability Method) are both techniques implemented in Quasar, used in the field of structural reliability analysis to estimate the probability of failure of a system and the reliability index (β) around a targeted point for a Y-constraint value defined as limit of failure.
Matrix ext("operator", "matrix", "reliability", Matrix Xn, Matrix g, String "standardize", String "FORM"or"SORM", "rsm", int flagForInterpolators)
- An optional last argument has been added to the thinObjectDetection function to specify the color pixels array of rectangles [redPx, greenPx, bluePx] that highlight the detected objects. By default, if the color argument is missing, the rectangles are displayed in green instead of blue before.
crackdetection = thinObjectDetection(Image myPicture, int Blur_dim, thresholdPercent, int minArea1, int dilationIterations, int erosionIterations, int minArea2, int maxArea, double circularity Ratio, bool showRectangle, String imageOutputName, int resize, int[] color))
- For DOEs, a reshape function has been implemented. It allows to apply a shape function on Xi such as ln(Xi), exp(Xi), quadratic,.. with i going 1 to N variables.
ext("doe", "reshape", String shape_function, Matrix doe, int column, int standardize, double r1, double r2)
- The association function has been added to find similarities between data beyond linear correlations using the entropy principle. The variables are organized in N windows and entropy is computed in each window. Results going [0 to 1] is returned in a squared matrix: if 2 data have a similarity at 1, they have a strong link.
ext("mining", "association", Matrix X, int window=10, 0,0,1,0,0,1,0,0, String "prefix")
- A clean function, dedicated to the matrix returned by the association external function, allows to reduce the number of columns/parameters based on a defined threshold (e.g. 0.9) It is useful when you have a lot of parameters, and you want to limit your data to the most relevant ones.
ext("operator","matrix","association_clean_column", Matrix associationSquaredMat, Matrix OriginalMat, double threshold)
- Multiple functions have been added in the Useful_Functions library:
- checkDuplicateCases(Matrix X, Matrix Y, String PrefixName)adapted for huge XY-database (with many rows), it returns a matrix in which duplicate rows are removed.
- Hanning filter function Matrix HannWindow(int N) is a periodic function commonly used to “window” a signal before performing frequency analysis.
- Matrix indexAndSort(Matrix X, int colPosition, bool sort) adds a first index column to the matrix X and sorts the whole matrix based on the colPosition when sort Boolean argument is true.
- int isInsideMatrix(double a, Matrix b) checks if the element a is in the matrix b. It returns an integer corresponding to the count found.
- String[] keepStringFromList(String[] titleslist, int[] listToKeep) keeps elements from a list of strings following a list of indices to keep.
- int[] listSortedwithoutDuplicates(int[] list) sorts from min to max a list of values and remove the duplicate values.
- File openReadfile(String fileName) opens a file in read mode.
- String[] removeStringFromList(String[] titleslist, int[] listToremove) removes elements from a list of strings following a list of indices to remove.
- Matrix sortRowsMaxtoMinBasedonMean(Matrix X) calculates the average of each row of X and returns a sorted matrix from maximum average to minimum average with the original row indices in the first column.
- int[] thresholdInSquarredMat(Matrix XY, int YsizeATx, double threshold) receives a XY squarred-input matrix and returns a 1D array with a list of columns of X to remove (starting from 0). The selection of indices is based on a threshold to not over in the submatrix XX and on the average computation in the subpart XY.
- Matrix Xreducedfunc_Rows(Matrix X, int[] listToremove)deletes rows in the input matrix X based on a list of indices (starting from 0).
- Matrix Xreducedfunc_Cols(Matrix X, int[] listToremove)deletes columns in the input matrix X based on a list of indices.
- Bugs fixed:
- The distance function did not return the correct distance between points. It is fixed.
- ModifiedUnet function is now working on Linux.
ODYSSEE Nova – Optimizer
- For the Downhill Simplex algorithm (algorithm 6), the optimal point was not displayed in the console at the end of the optimization process. Parameters values and objective function results of the optimal point are now displayed.
- NLPQL algorithm (algorithm 14) has been updated for more stable convergence.
- Genetic algorithm (algorithm 9) has been implemented.
- Bugs fixed:
- Multiple fixes in log files for Multi-objectives (algorithm 16) (e.g. objective function options are correctly interpreted).
- simulated_annealing (algorithm 7) did not correctly converge. It is fixed.