
This news article presents the abilities of romAI, a software cDynamics have access to. It is able to make reduced order models based on machine learning which can lead to incredible time savings. Here, CFD is used as an example.
We have used Altair romAI (reduced order modelling AI) to estimate wave loads from CFD analyses. romAI is a general AI tool that handles data from any source: It imports .csv-files, and doesn’t care where they originate. Complex curve fitting based on neural networks is handled internally with a simple user interface, so the engineer doesn't need to have extensive technical knowledge of the ins and outs of machine learning.
CFD-analyses
Computational Fluid Dynamics analyses was chosen as the type of simulations to test, as the potential for time saving can be huge. OpenFOAM was chosen as the software, and the longitudinal wave forces of bottom fixed monopiles in 20 m water depth was selected as the case. Machine learning algorithms need training data to be able to see patterns and predict new results, so different combinations of parameters were selected and analysed. The pile diameters range from 2 to 10 metres, the wave periods from 5 to 10 seconds, and the wave heights from 2 to 7 metres. In total there were run 26 different simulations for the training set, plus one validation run. Each simulation was run for 30 seconds of real time. The solution time for one simulation was in the worst case up to 37 hours when run with 16 CPU cores.
Fluid flow is governed by the Navier Stokes equstions, which are a set of non-linear - and in certain applications - very stiff differential equations, which generally are difficult and time consuming to solve. OpenFOAM (v2412) was selected as the software to do these analyses. The meshing was done in snappyHexMesh, the solver was interFoam and the incoming waves are second order stokes waves. All postprocessing was done in ParaView. Each of these simulations are in themselves simple enough, but they are still very time consuming.
romAI
Data Input
The results from all the CFD runs are lumped into one .csv-file, and then uploaded to romAI. Here, low-pass filters can easily be applied to remove high frequency noise.

Training
The user needs to specify what are the inputs, outputs and states of the system, as well as the number of hidden layers, neurons and training epochs of the neural network. There are rules of thumb for these combinations of layers, neurons and epochs, but they are not always giving the best results. Auto-exploration was therefore used here to find the best combination, but this involves a greater number of training runs. The activation function is an important concept that introduces non-linearity to the system.

A parameter to watch during training is the loss of your model. It should decrease and plateau for more training loops.

The finished trained model can then be evaluated. How well does it fit the training data? If this is a poor fit, no good predictions can be expected, and the training process should be redone.

Using The Model
The validation case has a pile diameter of 7.5 m, wave height of 4 m and a wave period of 7.5 s. The longitudinal force from the CFD run can be seen in the plot below:

The AI model has not seen this dataset during training. The goal is to predict results from this validation case properly. Failing to do so shows a poorly performing model.
The reduced order model from romAI is imported to Twin Activate as a block, with inputs and an output for the force:

Pressing 'Run Simulation' instantly gives a time series as a result:

Then, comparing the two time series - the raw data from OpenFOAM with the result from the reduced order model created by romAI in the same plot:

• It captures the transient startup behaviour well
• It matches the period of 7.5 s
• It captures the force amplitude pretty well
The time saving for this is enormous, from 37 hours to less than a second. That is more than 100 000 times faster. If one is working for a company that frequently does many of these simulations, predictions can be found quickly by having a trained model to help decision making in an early phase.
Exporting as FMU
Twin Activate, which romAI is a part of, can export the ‘romAI blocks’ as FMUs (Functional Mock-Up Unit). This is a widely used standard to integrate different software with each other, and therefore opens countless possibilities. You could train a reduced order model, export it as an FMU, and import it to whatever application you want, and make models that would otherwise be too demanding to run.
We would be happy to assist you with such co-simulations, or anything else with machine learning for reduced order models.