wawi 0.0.13__py3-none-any.whl → 0.0.17__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
wawi/wind_code.py CHANGED
@@ -1,6 +1,32 @@
1
1
  import numpy as np
2
2
 
3
3
  def terrain_roughness(z, z0=0.01, zmin=1.0):
4
+ """
5
+ Calculates the terrain roughness correction for wind speed at a given height.
6
+
7
+ Parameters
8
+ ----------
9
+ z : float
10
+ Height above ground level (in meters) at which to calculate the roughness correction.
11
+ z0 : float, optional
12
+ Surface roughness length (in meters). Default is 0.01.
13
+ zmin : float, optional
14
+ Minimum reference height (in meters) to use if `z` is less than or equal to `zmin`. Default is 1.0.
15
+
16
+ Returns
17
+ -------
18
+ float
19
+ The terrain roughness correction factor.
20
+
21
+ Notes
22
+ -----
23
+ The function uses a logarithmic wind profile and a roughness correction factor `kr` based on the ratio of the provided roughness length `z0` to a reference value `z0_ii = 0.01`. If the height `z` is less than or equal to `zmin`, the calculation uses `zmin` instead of `z`.
24
+
25
+ References
26
+ ----------
27
+ - EN 1991-1-4: Eurocode 1: Actions on structures – Part 1-4: General actions – Wind actions.
28
+ """
29
+
4
30
  z0_ii = 0.01
5
31
  kr = 0.19 * (z0/z0_ii)**0.07
6
32
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: wawi
3
- Version: 0.0.13
3
+ Version: 0.0.17
4
4
  Summary: WAve and WInd response prediction
5
5
  Author-email: "Knut A. Kvåle" <knut.a.kvale@ntnu.no>, Ole Øiseth <ole.oiseth@ntnu.no>, Aksel Fenerci <aksel.fenerci@ntnu.no>, Øivind Wiig Petersen <oyvind.w.petersen@ntnu.no>
6
6
  License: MIT License
@@ -50,7 +50,28 @@ Dynamic: license-file
50
50
 
51
51
  What is WAWI?
52
52
  =======================
53
- WAWI is a Python toolbox for prediction of response of structures exposed to wind and wave excitation. The package is still under development in its alpha stage, and documentation and testing will be completed along the way.
53
+ WAWI is a Python toolbox for prediction of response of structures exposed to wind and wave excitation, using a multimodal frequency-domain approach. It supports special features such as:
54
+
55
+ * Hydrodynamic added mass, radiation damping and hydrodynamic force transfer function from e.g. WAMIT analysis
56
+ * Quasisteady wind forcing for buffeting analysis
57
+ * Combined effects of wind and waves
58
+ * Iterative multimodal flutter
59
+ * Iterative modal analysis
60
+ * Modelling of motion-induced aerodynamic forces using aerodynamic derivatives
61
+ * Inhomogeneous sea states
62
+ * Inhomogeneous mean wind (other parameters planned for)
63
+ * Current effects on wave excitation
64
+ * Stochastic linearization methodology to support linearized effect of quadratic drag damping (both line elements and pontoon objects)
65
+ * Object-oriented model setup, including FE description (using Python package BEEF) of beams exposed to aerodynamic forcing
66
+
67
+ Planned implemented in the near future:
68
+
69
+ * Fully inhomogeneous wind state definition (all wind field parameters)
70
+ * Hydrodynamic interaction effects from multibody analyses
71
+ * Second-order wave excitation effects
72
+ * Definition of ADs (aerodynamic derivatives) using rational functions
73
+
74
+ The package is still under development in its alpha stage, and documentation and testing will be completed along the way.
54
75
 
55
76
 
56
77
  Installation
@@ -71,7 +92,17 @@ pip install git+https://www.github.com/knutankv/wawi.git@main
71
92
  How does WAWI work?
72
93
  ======================
73
94
  By representing both aerodynamic and hydrodynamic motion-induced forces and excitation using a coordinate basis defined by the dry in-vacuum mode shapes of the structure, WAWI is able to versatily predict response based on input from any commercial FE software. The main structure used for response prediction is given in this figure:
74
- ![Model](https://raw.githubusercontent.com/knutankv/wawi/main/docs/flowchart.png)
95
+ ![Model](https://raw.githubusercontent.com/knutankv/wawi/main/docs/flowchart.svg)
96
+
97
+ The object structure of a WAWI model is given here:
98
+ ![Modelattributes](https://raw.githubusercontent.com/knutankv/wawi/main/docs/structure.svg)
99
+
100
+ Further details regarding hydrodynamic definitions initiated by the `Hydro` class is given below:
101
+ ![Hydro](https://raw.githubusercontent.com/knutankv/wawi/main/docs/hydro_part.svg)
102
+
103
+ Further details regarding aerodynamic definitions initiated by the `Aero` class is given below:
104
+ ![Aero](https://raw.githubusercontent.com/knutankv/wawi/main/docs/aero_part.svg)
105
+
75
106
 
76
107
  Quick start
77
108
  =======================
@@ -148,6 +179,14 @@ The examples are structured in the following folders based on their topic:
148
179
 
149
180
  References
150
181
  =======================
182
+ The following papers provide background for the implementation:
183
+
184
+ * Beam (FE) description of aerodynamic forces: [Øiseth et al. (2012)](https://www.sciencedirect.com/science/article/abs/pii/S0168874X11001880)
185
+ * Wave modelling and response prediction: [Kvåle et al. (2016)](https://www.sciencedirect.com/science/article/abs/pii/S004579491500334X)
186
+ * Inhomogeneous wave modelling: [Kvåle et al. (2024)](https://www.sciencedirect.com/science/article/pii/S0141118723003437)
187
+ * Hydrodynamic interaction effects: [Fenerci et al. (2022)](https://www.sciencedirect.com/science/article/pii/S095183392200017X)
188
+ * Wave-current interaction: [Fredriksen et al. (2024)](https://www.researchgate.net/profile/Arnt-Fredriksen/publication/386453916_On_the_wave-current_interaction_effect_on_linear_motion_for_floating_bridges/links/6751a40fabddbb448c65cbef/On-the-wave-current-interaction-effect-on-linear-motion-for-floating-bridges.pdf)
189
+
151
190
 
152
191
  Citation
153
192
  =======================
@@ -0,0 +1,38 @@
1
+ examples/3 Software interfacing/Abaqus model export/bergsoysund-export.py,sha256=3HSV009z5oqIUgM6B7xucUpGeh2f8SzC9FSiyP0zd7A,2760
2
+ examples/3 Software interfacing/Abaqus model export/hardanger-export.py,sha256=YiqS-TxnkydwVHE7k-57nP6CDsxqSXgWR3f8UytAubY,1603
3
+ tests/test_IABSE_step11a.py,sha256=zTWOxR78F0PNhNqiqodEcL65vdJXyMP78nkJumhy-RA,7915
4
+ tests/test_IABSE_step11c.py,sha256=TfxPlP70dhujKlSYbA-Gj4U-EJmYZ3jt6yjvX9wSXcA,10337
5
+ tests/test_IABSE_step2a.py,sha256=9pAd1em2IEY4k5N-jAigV3VGup0QsbUxnwSiziuMbUg,10134
6
+ tests/test_wind.py,sha256=r4rx6f8Tn-u4fn4gGPBMrL_JJQ2SVHGQiQ9sQuMQCPo,1707
7
+ wawi/__init__.py,sha256=brqzCB0aImDc_fgazfOzS96O5S215IrmbT_1V_YMcIk,183
8
+ wawi/fe.py,sha256=wohMq-VGZnxZzfFGucWJXVrVLsD4MAS3jQs_P-HtyKI,12769
9
+ wawi/general.py,sha256=Yt5DjDhzqNoYkQwu5nDZun-Kp_KqhV4DRLnMhUAYcQ0,23455
10
+ wawi/identification.py,sha256=QDaz-ptH4_hXLTwLIEb28gr_KNiIiz3EQAgbNKXKZRI,2318
11
+ wawi/io.py,sha256=DP0e7B8KBWLN8mMhWEeZIV17d_lObi_jCySX40ZdljQ,36475
12
+ wawi/modal.py,sha256=NAqPQFqJVoPi26u32Pr8ekhL5dg_HAWfCMMmBmN1-3c,36504
13
+ wawi/plot.py,sha256=uHMDElGO3Td3JwwETLVPImJ-L6QxJO3RzHmgQVBbcj4,30304
14
+ wawi/prob.py,sha256=JBDU9OB-ksBD9zDG0FZ05dTh47aO3mRhS_l1zpcCx8c,954
15
+ wawi/random.py,sha256=3M7w07QzMmgRLsVs1V-DbNJnn1r8a7yY8vFpsiq0hug,5596
16
+ wawi/signal.py,sha256=NTKgd7nHLy5onub1dfwe4AvvrNB6FtKGXEnL9LvE0Ao,3715
17
+ wawi/structural.py,sha256=tptswGb5rZUXzqZkOI0odfSXpgtDALTYMAmJJ_LZORk,14344
18
+ wawi/time_domain.py,sha256=8sSmp61E6HnopuQxP-lTR3fQHXkyPeVFNF6PZqcxVWQ,10048
19
+ wawi/tools.py,sha256=Jgfk2wzKwKUv5OsQh1oGQI2bcK8Xa3togwntFEScK2Q,1004
20
+ wawi/wave.py,sha256=AjPtsXvq2sPt5gMG9848BjAMjmLin2NhOlSsm2d6OUA,33598
21
+ wawi/wind.py,sha256=tUEKKTW1evB6YXErvEWZzM_T8nF6jcbKpnhEv0ipjbo,62104
22
+ wawi/wind_code.py,sha256=r39K7-jvjat7gWlaNpv-JlPjDOZo8gwqgDNZ8TYFvZg,1202
23
+ wawi/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ wawi/ext/abq.py,sha256=Wo-Zzb6b3lr_z7cNKTW-NdYJuVeAwZgwzlGhF_5Jym0,8905
25
+ wawi/ext/ansys.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
+ wawi/ext/orcaflex.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ wawi/ext/sofistik.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
+ wawi/model/__init__.py,sha256=u6B-dugP76LBkOUVMs0KAoQ81PeRHwFL0M8MbNeAaJA,218
29
+ wawi/model/_aero.py,sha256=tvWMjMoVi9ZVBc3NZ_s-wSofbEk1cc5jf5s-Swv2RxQ,9337
30
+ wawi/model/_dry.py,sha256=KpmFlSinoY6DrSyc3Y0M8w1-cCC7VCFep-uzcqZsHz4,3940
31
+ wawi/model/_hydro.py,sha256=7kzOqKou9RV1KoYXC-6oVw8gtnqfC-NfeohLFDiL-uI,27107
32
+ wawi/model/_model.py,sha256=0Z5wBUFRzO_yKTF_HogUhE2-5oBkGLfVQU1qclNioVo,53306
33
+ wawi/model/_screening.py,sha256=NRYkKq928z2lqMSUTpbQLls04td_9R_4dhkjU3Gv1oQ,3716
34
+ wawi-0.0.17.dist-info/licenses/LICENSE,sha256=bH1aWhrNbbPLrYnVFRaoYYzcUr-figHjry-kGB7Tc54,1076
35
+ wawi-0.0.17.dist-info/METADATA,sha256=PQt0sdJDdzzZqmcWIkFXhgyc9Zdcl8yMsipkd2WGY8s,9502
36
+ wawi-0.0.17.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
37
+ wawi-0.0.17.dist-info/top_level.txt,sha256=Nk5G_ZwgZRCb9ZMWZdr1M3QIskX6kCnlqeMl67N3zg8,20
38
+ wawi-0.0.17.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,38 +0,0 @@
1
- examples/3 Software interfacing/Abaqus model export/bergsoysund-export.py,sha256=3HSV009z5oqIUgM6B7xucUpGeh2f8SzC9FSiyP0zd7A,2760
2
- examples/3 Software interfacing/Abaqus model export/hardanger-export.py,sha256=YiqS-TxnkydwVHE7k-57nP6CDsxqSXgWR3f8UytAubY,1603
3
- tests/test_IABSE_step11a.py,sha256=zTWOxR78F0PNhNqiqodEcL65vdJXyMP78nkJumhy-RA,7915
4
- tests/test_IABSE_step11c.py,sha256=TfxPlP70dhujKlSYbA-Gj4U-EJmYZ3jt6yjvX9wSXcA,10337
5
- tests/test_IABSE_step2a.py,sha256=9pAd1em2IEY4k5N-jAigV3VGup0QsbUxnwSiziuMbUg,10134
6
- tests/test_wind.py,sha256=r4rx6f8Tn-u4fn4gGPBMrL_JJQ2SVHGQiQ9sQuMQCPo,1707
7
- wawi/__init__.py,sha256=XwztcgUqHaXYX8ywshKc0BVsSVDStFgeENuVdN3PWuk,183
8
- wawi/fe.py,sha256=22QKI1GlfsG7o_TpFXaKJfzmbO2_2zdIMaoJmaIZdmY,4001
9
- wawi/general.py,sha256=xHRoDkcchrL6Y7pTUqGsjBHh8YBLvX9dYcNXXCjQap8,13787
10
- wawi/identification.py,sha256=bVB6EVRR6J39OO9ckuzNJ6f0FwIo4cLqfYgrsIN89TE,1748
11
- wawi/io.py,sha256=3cPgyVGpZcne60-vXQZYXVj9e5m044XDeR3eMZ3BF7Y,25359
12
- wawi/modal.py,sha256=SOmzjviDMBw4OwQAUq3EXo_FJyv6uoZg-fsE3fizXHk,20253
13
- wawi/plot.py,sha256=jllJcjZxTBqjzBoT4k9jLXVUnie8oqNr8371IJvCd3c,19791
14
- wawi/prob.py,sha256=0nCdKdwkNf4M6sHyCZuYlt06gD0NmqRNfl4KesgySWA,215
15
- wawi/random.py,sha256=MHPpyTlRJSJFkCmeTAmw4Q5K1BPoFVb0Nxg0jDhkuIM,871
16
- wawi/signal.py,sha256=9HJs7VUhXOccuYPo12A0IUVoBIAJ2e_9F3rL-q3JuP4,1179
17
- wawi/structural.py,sha256=t25ohH4uBbzUJ7Hqn_kUfYhxcikZkRp8da-9dn7aEbw,8341
18
- wawi/time_domain.py,sha256=q8-H2xceP-2BmtOfbRQqYhD1JSb0z7jGq-dL_MzAX40,6122
19
- wawi/tools.py,sha256=-hFBvf0qK4AMn2MQRhrOitDMMMKm2QuRkVfbPBefEkQ,332
20
- wawi/wave.py,sha256=Ye-5JnJJhWA1lcPQUvFTCRTzcY6LB_hu92VO8z2i01I,16059
21
- wawi/wind.py,sha256=VHy07IbrCJxlqR0Z5O5WRc9YE4jb-MqFbULPiXhj0NA,38211
22
- wawi/wind_code.py,sha256=8OKLPpqc84obNNKBoYb2NunKjcn6a3i_pAWpIFEwg4Q,223
23
- wawi/ext/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- wawi/ext/abq.py,sha256=Wo-Zzb6b3lr_z7cNKTW-NdYJuVeAwZgwzlGhF_5Jym0,8905
25
- wawi/ext/ansys.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- wawi/ext/orcaflex.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
- wawi/ext/sofistik.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- wawi/model/__init__.py,sha256=u6B-dugP76LBkOUVMs0KAoQ81PeRHwFL0M8MbNeAaJA,218
29
- wawi/model/_aero.py,sha256=tvWMjMoVi9ZVBc3NZ_s-wSofbEk1cc5jf5s-Swv2RxQ,9337
30
- wawi/model/_dry.py,sha256=KpmFlSinoY6DrSyc3Y0M8w1-cCC7VCFep-uzcqZsHz4,3940
31
- wawi/model/_hydro.py,sha256=7kzOqKou9RV1KoYXC-6oVw8gtnqfC-NfeohLFDiL-uI,27107
32
- wawi/model/_model.py,sha256=m6UF3onrQFgsJUNDzuot2maAuJpqTxoP4hHCBHbDuMs,53322
33
- wawi/model/_screening.py,sha256=NRYkKq928z2lqMSUTpbQLls04td_9R_4dhkjU3Gv1oQ,3716
34
- wawi-0.0.13.dist-info/licenses/LICENSE,sha256=bH1aWhrNbbPLrYnVFRaoYYzcUr-figHjry-kGB7Tc54,1076
35
- wawi-0.0.13.dist-info/METADATA,sha256=aYeyNdzi5eAyQn3TvytkWoKeuWncwMNiWwBpLu_-MyI,6991
36
- wawi-0.0.13.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
37
- wawi-0.0.13.dist-info/top_level.txt,sha256=Nk5G_ZwgZRCb9ZMWZdr1M3QIskX6kCnlqeMl67N3zg8,20
38
- wawi-0.0.13.dist-info/RECORD,,