【FLAC3D】巷道/隧道布置锚杆代码,2024-10-28

给出单排的锚杆锚索的详细数据,可以建立处指定长度/排数的锚杆和锚索 只需要改动几个参数.

有问题可以发邮件:look_le@163.com

;Generated at <2024/9/30 10:24:54>
model new

model restore "cycle6000.f3sav"
model largestrain on
zone gridpoint initialize displacement 0 0 0
zone gridpoint initialize velocity 0 0 0

zone cmodel assign null range group "hd"

fish define b
    ;开始的位置的y坐标
    cables_start_position_y = 1
    ;预计打锚杆/锚索的排数
    cables_row_num = 10
    ;锚杆的id
    bolt_id = 1
    ;锚索的id
    anchor_id = 1
    ;锚杆的segments
    bolt_segments = 8
    ;锚索的segments
    anchor_segments = 8
    loop i (1,cables_row_num)
        Y = i * cables_start_position_y
        command
            struct cable create by-line (27.500000,@Y,24.000000) (29.458906,@Y,23.596657) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (27.500000,@Y,25.000000) (29.500000,@Y,25.000000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (27.500000,@Y,26.000000) (29.500000,@Y,26.000000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (27.500000,@Y,27.000000) (29.500000,@Y,27.000000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (27.000000,@Y,27.500000) (27.000000,@Y,29.500000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (25.000000,@Y,27.500000) (25.000000,@Y,29.500000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (23.000000,@Y,27.500000) (23.000000,@Y,29.500000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (22.500000,@Y,27.000000) (20.500000,@Y,27.000000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (22.500000,@Y,26.000000) (20.500000,@Y,26.000000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (22.500000,@Y,25.000000) (20.500000,@Y,25.000000) id=@bolt_id segments=@bolt_segments
            struct cable create by-line (22.500000,@Y,24.000000) (20.541094,@Y,23.596657) id=@bolt_id segments=@bolt_segments
            ;锚索
            struct cable create by-line (24.000000,@Y,27.500000) (24.000000,@Y,31.500000) id=@anchor_id segments=@anchor_segments
            struct cable create by-line (26.000000,@Y,27.500000) (26.000000,@Y,31.500000) id=@anchor_id segments=@anchor_segments
        endcommand
        ;锚杆

    endloop
end
@b


fish define a

    ;已有锚杆/锚索排数
    row_num_before = 0
    ;预计打锚杆/锚索的排数
    row_num_now =10
    
    ;每排锚杆数量
    bolt_row_num = 11
    ;每排锚索数量
    anchor_row_num = 2
    ;每根锚杆component的数量
    single_bolt_component_num = 8
    ;每根锚索的component的数量
    signle_anchor_component_num = 8
    
    ;锚杆自由端的component个数,总共的component-锚固段个数-1
    bolt_free_comid_num = 5
    ;锚固段的component个数
    bolt_bolting_comid_num = 2
    
    ;锚索自由端的component个数,总共的component-锚固段个数-1
    anchor_free_comid_num = 5
    ;锚索段的component个数
    anchor_bolting_comid_num = 2
    
    ;已有的component的数量
    all_comid = single_bolt_component_num * bolt_row_num * row_num_before + signle_anchor_component_num * anchor_row_num * row_num_before
    

    
    loop row (1,row_num_now)
        ;锚杆赋参
        loop i (1,bolt_row_num)
            ;托盘位置
            bolt_tray = all_comid + single_bolt_component_num * (i - 1) + 1
            ;自由端位置
            bolt_free_start = bolt_tray + 1
            bolt_free_end = bolt_tray + bolt_free_comid_num
            ;锚固段位置
            bolt_bolting_strat = bolt_free_end + 1
            bolt_bolting_end = bolt_free_end + bolt_bolting_comid_num
            command
                structure cable  property young 2e14 yield-tension 400e6  cross-sectional-area 0.0005 grout-cohesion 3.5e8  grout-stiffness 4e10 range component-id @bolt_tray @bolt_tray
                structure cable  property young 8e10 yield-tension 380e3 cross-sectional-area 0.0005 grout-cohesion 1 grout-stiffness 1 grout-perimeter 0.0785 range component-id @bolt_free_start @bolt_free_end
                structure cable  property young 8e10 yield-tension 380e3 cross-sectional-area 0.0005 grout-cohesion 40e6  grout-stiffness 4e10 range component-id @bolt_bolting_strat @bolt_bolting_end
                struct cable  apply tension value 500e3 range component-id @bolt_tray @bolt_free_end
            endcommand
        endloop
        all_comid = all_comid + single_bolt_component_num * bolt_row_num
        ;锚索赋参
        loop j (1,anchor_row_num)
            ;托盘位置
            anchor_tray = all_comid + signle_anchor_component_num * (j - 1) + 1
            ;自由端位置
            anchor_free_start = anchor_tray + 1
            anchor_free_end = anchor_tray + anchor_free_comid_num
            ;锚固段位置
            anchor_bolting_strat = anchor_free_end + 1
            anchor_bolting_end = anchor_free_end + anchor_bolting_comid_num
            command
                structure cable  property young 2e14 yield-tension 400e6  cross-sectional-area 0.0005 grout-cohesion 3.5e8  grout-stiffness 4e10 range component-id @anchor_tray @anchor_tray
                structure cable  property young 8e10 yield-tension 380e3 cross-sectional-area 0.0005 grout-cohesion 1 grout-stiffness 1 grout-perimeter 0.0785 range component-id @anchor_free_start @anchor_free_end
                structure cable  property young 8e10 yield-tension 380e3 cross-sectional-area 0.0005 grout-cohesion 40e6  grout-stiffness 4e10 range component-id @anchor_bolting_strat @anchor_bolting_end
                struct cable  apply tension value 500e3 range component-id @anchor_tray @anchor_free_end
            endcommand
        endloop
        all_comid = all_comid + signle_anchor_component_num * anchor_row_num
    endloop
end
@a
model solve
model save "Cycle6000toFinal"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值