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/__init__.py +1 -1
- wawi/fe.py +259 -12
- wawi/general.py +538 -70
- wawi/identification.py +33 -11
- wawi/io.py +208 -5
- wawi/modal.py +384 -6
- wawi/model/_model.py +1 -1
- wawi/plot.py +379 -99
- wawi/prob.py +28 -0
- wawi/random.py +218 -2
- wawi/signal.py +111 -3
- wawi/structural.py +317 -59
- wawi/time_domain.py +122 -1
- wawi/tools.py +23 -0
- wawi/wave.py +662 -121
- wawi/wind.py +776 -32
- wawi/wind_code.py +26 -0
- {wawi-0.0.13.dist-info → wawi-0.0.17.dist-info}/METADATA +42 -3
- wawi-0.0.17.dist-info/RECORD +38 -0
- {wawi-0.0.13.dist-info → wawi-0.0.17.dist-info}/WHEEL +1 -1
- wawi-0.0.13.dist-info/RECORD +0 -38
- {wawi-0.0.13.dist-info → wawi-0.0.17.dist-info}/licenses/LICENSE +0 -0
- {wawi-0.0.13.dist-info → wawi-0.0.17.dist-info}/top_level.txt +0 -0
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.
|
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
|
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
|
-

|
96
|
+
|
97
|
+
The object structure of a WAWI model is given here:
|
98
|
+

|
99
|
+
|
100
|
+
Further details regarding hydrodynamic definitions initiated by the `Hydro` class is given below:
|
101
|
+

|
102
|
+
|
103
|
+
Further details regarding aerodynamic definitions initiated by the `Aero` class is given below:
|
104
|
+

|
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,,
|
wawi-0.0.13.dist-info/RECORD
DELETED
@@ -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,,
|
File without changes
|
File without changes
|