#波浪 #频谱 #模型 #时间 #命令行界面 #光谱 #伽玛

bin+lib jonswap

用于 JONSWAP 波浪模型的 CLI

6 个版本

0.2.1 2024 年 7 月 8 日
0.2.0 2024 年 7 月 8 日
0.1.3 2024 年 7 月 6 日

#3 in #光谱

每月 32 次下载

GPL-2.0-only

86KB
519

JONSWAP

库和 CLI,用于计算 JONSWAP 波浪频谱及其在时间域的实现。

Use:
  jonswap hs tp [-n nharms] [-g gamma] [-s seed] [-d duration] [-t timestep] [-p{s|t}] [-h]
where:
  hs      : significant wave height in meters.
  tp      : spectral peak period in seconds
  -n      : number of harmonics used to discretise the spectrum. Default 200.
  -g      : value for gamma. Default as per DNV.
  -s      : seed number for phase randomisation.
  -d      : duration - timetrace will be shown. Default 120s.
  -t      : time step. Default is 0.1 seconds.
  -p{s|t} : gnuplot friendly output of spectrum (-ps) or timetrace (-pt),
            to be piped to `gnuplot -p -e "plot '-' using i:j w l"` where
            `i:j` are the index of the columns to be used as x and y axis.
            Note this only works for 1 plot. For multiple plots, need to
            save the output to a temporary file.
  -h      : show this help.

示例

使用默认参数,即 200 频率和伽玛按照 DNV 计算的 2.5m Hs,7s Tp 的频谱和时间实现。

$ jonswap 2.5 7
Wave Hs            :     2.50 m
Wave Tp            :     7.00 s
Wave Gamma         :    1.932 -
Spectral moment m0 :   0.3897 m²
Spectral moment m2 :   0.5635 m²(rd/s)²
Spectral moment m4 :   2.5620 m²(rd/s)^4
Hm0                :   2.4970 m

Spectrum
========
         T          w           PM           JS          amp        phi
       [s]     [rd/s]     [m²s/rd]     [m²s/rd]          [m]       [rd]
    20.000   0.314159   0.00000000   0.00000000      0.00000    1.61987
    19.633   0.320037   0.00000000   0.00000000      0.00000   -0.30448
    ...
     0.500  12.566371   0.00000405   0.00000328      0.00000   -1.51897

Time History
============
     Time    Elevation
     0.000   0.697963
     0.100   0.734472
     0.200   0.748701
     ...
     119.900  -1.200554
     120.000  -1.180046

简单绘图

可以使用 GNUPLOT 将频谱绘制到终端。

$jonswap 2.5 7 -ps | gnuplot -p -e "set terminal dumb; plot '-' using 1:4 w l"

    1 +--------------------------------------------------------------------+
      |      +      +      +  *   +      +     +      +      +      +      |
  0.9 |-+                    * *                     '-' using 1:4 *******-|
      |                      * *                                           |
  0.8 |-+                    *  *                                        +-|
      |                     *   *                                          |
  0.7 |-+                   *   *                                        +-|
      |                     *   *                                          |
  0.6 |-+                  *     *                                       +-|
      |                    *     *                                         |
  0.5 |-+                  *     *                                       +-|
      |                   **      *                                        |
  0.4 |-+                 *       *                                      +-|
      |                  **        *                                       |
  0.3 |-+               **         *                                     +-|
      |                **           **                                     |
  0.2 |-+             **             *                                   +-|
      |              **               *                                    |
  0.1 |-+          ***                 *                                 +-|
      |      +  ****+      +      +     ***    +      +      +      +      |
    0 +--------------------------------------------------------------------+
      0      2      4      6      8      10    12     14     16     18     20

通过删除以下行 set terminal dumb;,您可以得到正确的绘图。或者,如果您想对绘图有更多控制,还有一个方便的 Python 脚本 plt.py,它可以生成这些图像

Spectrum

Time realisation

依赖项

~315KB