선박의 아웃리거에 의한 선박 안정성(요동 감쇄)
Reduction Of Outrigger Wide To Maximize Fishing Boat ...
https://iptek.its.ac.id › article › download › pdf_266
2024. 8. 5. — Moreover, broader outriggers can amplify vessel motion, leading to extended oscillation periods, ... of the boat with and without the use ...
1. 연구 배경:
- 프리기 지역의 주깅(Jukung) 어선들은 넓은 아웃리거(약 5미터) 때문에 해안 가까이 정박하기 어려운 문제가 있습니다.
2. 연구 목적:
- 아웃리거 폭을 줄여 PPN 프리기 항구의 정박 용량을 늘리면서도 선박 안정성을 유지하는 방법을 찾고자 합니다.
3. 연구 방법:
- 다양한 아웃리거 폭(1.5m, 1.25m, 1m, 0.75m)에 대해 선박 안정성을 분석했습니다.
- HSC 2000 Annex 7과 Annex 749 (18) Ch3 설계 기준을 사용했습니다.
4. 주요 결과:
- 아웃리거 폭을 1미터로 줄여도 선박 안정성 기준을 충족합니다.
- 이 변경으로 15미터 정박지에서 정박 효율을 66% 높일 수 있습니다.
- PPN 프리기 동쪽 부두의 주깅 선박 수용량이 142척에서 236척으로 증가합니다.
5. 결론:
- 아웃리거 폭을 줄이면 항구 인프라를 최적화하고 프리기 어업 공동체의 운영 효율성을 향상시킬 수 있습니다.
이 연구는 전통적인 어선 설계를 현대화하여 항구 용량과 효율성을 개선하는 방법을 제시하고 있습니다.
댓글 2
-
-
-
클로드 Sonnet 3.5에게 수치적으로 분석해 달라고 했습니다.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172import
numpy as np
import
matplotlib.pyplot as plt
from
scipy.signal
import
find_peaks
# 파도 프로파일 생성 함수
def
generate_wave_profile(time, amplitude, frequency):
return
amplitude
*
np.sin(
2
*
np.pi
*
frequency
*
time)
# 선박 요동 각도 계산 함수
def
calculate_boat_angle(wave_height, outrigger_width):
base_angle
=
np.arctan(wave_height
/
5
)
# 기본 각도 (아웃리거 없을 때)
if
outrigger_width
=
=
0
:
return
np.degrees(base_angle)
else
:
return
np.degrees(base_angle
/
(
1
+
outrigger_width
*
0.5
))
# 아웃리거 효과
# 파라미터 설정
time
=
np.linspace(
0
,
10
,
1000
)
# 10초 동안 1000개 데이터 포인트
wave_amplitude
=
2
# 파도 진폭 (미터)
wave_frequency
=
0.5
# 파도 주파수 (Hz)
# 파도 프로파일 생성
wave_profile
=
generate_wave_profile(time, wave_amplitude, wave_frequency)
# 아웃리거 폭 범위 설정
outrigger_widths
=
[
0
,
0.75
,
1
,
1.25
,
1.5
,
2
]
# 그래프 설정
plt.figure(figsize
=
(
12
,
8
))
# 파도 프로파일 플롯
plt.subplot(
2
,
1
,
1
)
plt.plot(time, wave_profile, label
=
'Wave Profile'
)
plt.title(
'Wave Profile'
)
plt.xlabel(
'Time (s)'
)
plt.ylabel(
'Wave Height (m)'
)
plt.legend()
# 선박 요동 각도 플롯
plt.subplot(
2
,
1
,
2
)
for
width
in
outrigger_widths:
boat_angles
=
[calculate_boat_angle(h, width)
for
h
in
wave_profile]
plt.plot(time, boat_angles, label
=
f
'Outrigger Width: {width}m'
)
plt.title(
'Boat Roll Angle for Different Outrigger Widths'
)
plt.xlabel(
'Time (s)'
)
plt.ylabel(
'Roll Angle (degrees)'
)
plt.legend()
plt.tight_layout()
plt.show()
# 최대 요동 각도 분석
max_angles
=
[]
for
width
in
outrigger_widths:
boat_angles
=
[calculate_boat_angle(h, width)
for
h
in
wave_profile]
peaks, _
=
find_peaks(boat_angles)
max_angle
=
np.mean(np.array(boat_angles)[peaks])
max_angles.append(max_angle)
# 최대 요동 각도 플롯
plt.figure(figsize
=
(
10
,
6
))
plt.plot(outrigger_widths, max_angles,
'bo-'
)
plt.title(
'Maximum Roll Angle vs Outrigger Width'
)
plt.xlabel(
'Outrigger Width (m)'
)
plt.ylabel(
'Maximum Roll Angle (degrees)'
)
plt.grid(
True
)
plt.show()
# 결과 출력
for
width, max_angle
in
zip
(outrigger_widths, max_angles):
print
(f
"Outrigger Width: {width}m, Max Roll Angle: {max_angle:.2f} degrees"
)
인공지능 정말 똑똑하네요.
인공지능은 아직 개발 초기단계라는거...
-
클라우드 3.5 Sonnet 에게 시뮬레이션 만들어달라고 요청해 봤습니다.
논문 던져주고 대충 요청했더니 뚝딱 만들어버리네요.
https://claude.site/artifacts/5797eeb4-1679-4df7-8329-9c2ee5277cbe
ㄴ React 로 만들어 줬네요. 게시판에 붙여넣기가 안돼서... 링크로.