-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvalidation_utils.py
More file actions
55 lines (47 loc) · 1.95 KB
/
Copy pathvalidation_utils.py
File metadata and controls
55 lines (47 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
"""
validation_utils.py
桥梁设计参数的工程合理性校验模块
注意:本模块仅基于常见经验公式做粗略合理性提示,
不能替代正式的结构计算与规范校核,仅供参考。
"""
from typing import List
def check_design_reasonableness(
spans: List[float],
beam_h: float,
pier_h: float,
bridge_w: float,
pier_bottom_w: float = 1.6,
) -> List[str]:
"""
对当前设计参数做粗略的工程合理性检查,返回警告文案列表(为空表示未发现明显问题)
"""
warnings: List[str] = []
for i, span in enumerate(spans):
if beam_h <= 0:
continue
ratio = span / beam_h
if ratio > 22:
warnings.append(
f"第 {i + 1} 跨({span:.1f}m)跨高比约为 {ratio:.1f},"
f"高于常见经验上限 22,梁高可能偏小,建议加大梁高或减小跨径。"
)
elif ratio < 10:
warnings.append(
f"第 {i + 1} 跨({span:.1f}m)跨高比约为 {ratio:.1f},"
f"低于常见经验下限 10,梁高可能偏大,经济性较差。"
)
if span > 50:
warnings.append(
f"第 {i + 1} 跨跨径达到 {span:.1f}m,超过简支/连续梁桥常见经济跨径(约50m),"
f"建议考虑连续刚构、拱桥或斜拉桥等其他桥型。"
)
if pier_bottom_w > 0:
slenderness = pier_h / pier_bottom_w
if slenderness > 15:
warnings.append(
f"桥墩细长比(墩高/墩底宽)约为 {slenderness:.1f},偏大,"
f"实体墩可能存在稳定性问题,建议加大墩底宽度或改用其他墩型(如薄壁空心墩需专门验算)。"
)
if bridge_w < 6:
warnings.append(f"桥面宽度仅 {bridge_w:.1f}m,可能不满足双车道通行的最小宽度要求。")
return warnings