Today we have an important announcement for the olaFlow community. The long wait to have access to the Extended Range Active Wave Absorption (ER-AWA) introduced in our previous post is over.
The traditional AWA (SW-AWA) is based on the shallow water approximation for linear wave theory, thus, it does not perform well in intermediate and deep water conditions because it produces reflections above 20%. ER-AWA reduces the number of initial assumptions, since it is based on the general linear wave theory, valid at any water depth. In short, ER-AWA is a step forward with respect to the traditional SW-AWA because it effectively reduces the spurious reflections in intermediate and deep water conditions, thus, allowing longer and cleaner simulations (especially for offshore problems), as shown in this video.
You can obtain all the technical details about the new absorption method, as well as performance data, in Enhancing active wave absorption in RANS models.
What has changed?
OlaFlow now features a Developer branch (Dev) in which we have included these new features before we integrate them in the main release branch (master).
The code in the Dev branch includes three active wave absorption models, equivalent to the old waveAbsorption2DVelocity and waveAbsorption3DVelocity, plus the new ER-AWA theory. All three models are bounded together in the new waveAbsorptionVelocity boundary condition.
waveAbsorption2DVelocity and waveAbsorption3DVelocity boundary conditions, although now redundant, have been kept to allow users to adapt to the new code changes.
A new tutorial, baseWaveFlumeNewAbs, which is almost identical to the baseWaveFlume tutorial shows how to use ER-AWA.
What are the limitations?
The new code is only applicable to absorbing-only boundaries at this moment. We will soon integrate it with the general generation-absorption boundary conditions.
How to access the new materials?
To access the new code, you just need to perform a code update as usual:
git checkout
git pull
Then change to the new branch with the following command:
git checkout Dev
Finally, compile the code normally.
How to use the new boundary conditions?
The new boundary conditions are set in a very similar way as before in the velocity file:
outlet
{
type waveAbsorptionVelocity;
theory extendedRangeAWA;
wavePeriod 3;
value uniform (0 0 0);
}
Alpha and p_rgh should continue carrying the same boundary conditions as before, namely zeroGradient and fixedFluxPressure. Also, do not forget that the extendedRangeAWA model requires introducing wavePeriod as input.
The new valid active wave absorption model types are:
- shallowWaterAWA (equivalent to waveAbsorption2DVelocity)
- extendedRangeAWA (NEW)
- lateralShallowWaterAWA (equivalent to waveAbsorption3DVelocity)