在结构分析时,对于多数的薄壁结构都是用壳单元处理,大部分单元为四边形网格,由于结构特征等原因避免不了出现三角形网格,通常低阶三角形网格会降低计算精度,因此需要控制三角形网格占比,各个领域对三角形网格占比要求不一,比如轨道行业要求三角形网格占比不超过总网格的5%。
为了快速准确统计不同类型网格数量及三角形网格占比,可以用TCL对HyperMesh进行二次开发。
1.遍历所有的壳单元,并对每个单元中的网格进行分类统计。
2.计算三角形网格占总网格数量的比例,并将结果输出到一个TXT文档中。
这里是一个简单的代码示例,供参考:
# 获取所有壳单元
set elements [hm_getelements shell]
# 初始化四边形网格和三角形网格数量
set quad_count 0
set tri_count 0
# 遍历所有壳单元
foreach elem $elements {
# 获取当前单元中的网格类型
set mesh_type [hm_getentityvalue elements $elem dataname=shell_type]
# 根据网格类型进行统计
if {$mesh_type == "QUAD"} {
incr quad_count
} elseif {$mesh_type == "TRIA"} {
incr tri_count
}
}
# 计算三角形网格占比
set total_count [expr {$quad_count + $tri_count}]
set tri_percentage [expr {($tri_count / $total_count) * 100}]
# 输出结果到TXT文档
set file_id [open "mesh_stats.txt" w]
puts $file_id "四边形网格数量: $quad_count"
puts $file_id "三角形网格数量: $tri_count"
puts $file_id "三角形网格占比: $tri_percentage%"
close $file_id
以上只是一个简单的示例代码,仅提高编制思路,需要根据实际需求和数据结构进行适当的调整。