Example of Big Wave movement simulation in Cartesian coordinates by Gerstner waves distribution.
Algorithm:
In this model, the following distribution in the time step was used (no symmetrization of the solution was carried out, we are only interested in the front of Big Wave movement along OZ):
π1 β π€ππ£π_π ππ§π π2 β π€πππ_ππππππππ‘ π3 β π€ππ£π_π ππππ π΄ β [ππππ΄, πππ₯π΄] β wave amplitude (gaussian magnitude)
The last series component specifies the distribution of small waves, subject to the boundary conditions for the Herterstern wave, this function is periodic.
The minimum algorithm steps is:
- Set initial parameters (wind speed, grid size, initial wave amplitude, minimum of wave size, shift wave value).
- Scale coordinates by grid step.
- Phases projections calculation of the coordinates of the Gerstner wave by the Fourier method.
- Gradient projections processing of the coordinates of the Gerstner wave.
- Calculate fz at the current step (this solution infinitely oscillates).
- Update current step, increase (or decrease) shift, repeat from 3-nd state.
Input:
- wind speed (-w)
- surface dim (-d)
- initial amplitude (-a)
- wave size (-l)
Run: Run main script with next parameters for example:
main.py -w 1.5 -d 100 -a 0.60 -l 0.06
Examples:
wind speed = 1.5, surface dim = 100, amplitude = 0.5, wave size = 0.006
wind speed = 1.5, surface dim = 100, amplitude = 0.5, wave size = 0.06
wind speed = 1.5, surface dim = 100, amplitude = 0.5, wave size = 0.003