掌桥专利:专业的专利平台
掌桥专利
首页

基于python的FLAC3D锚杆/锚索结构单元参数自动赋值方法

文献发布时间:2024-04-18 20:00:50


基于python的FLAC3D锚杆/锚索结构单元参数自动赋值方法

技术领域

本发明涉及一种基于python的FLAC

背景技术

FLAC

边坡和滑坡工程中,须对锚杆/锚索施加预应力,使其具备主动约束坡体位移的能力,因此此类锚杆/锚索一般分为锚固段和自由段。当锚杆/锚索数量较少或规格相同时,可以通过FLAC

发明内容

本发明要解决的技术问题是:针对上述存在的问题,提供一种基于python的FLAC

本发明所采用的技术方案是:一种基于python的FLAC

基于锚杆/锚索规格,将锚杆/锚索分成多个批次,并分批次、依次创建锚杆/锚索结构单元;

基于预设的节段划分长度将锚杆/锚索结构单元划分成若干节段,基于第j批次创建前的最大节段ID为第j批次内的每个节段赋予一个唯一且连续的节段ID;

获取第j批次锚杆/锚索结构单元的根数,并采用遍历法逐根对第j批次中的锚杆/锚索结构单元进行赋值;

基于第j批次锚杆/锚索结构单元的锚头节段数、自由段节段数和锚固段节段数,确定第j批次中第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围;

基于第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围,为第i根锚杆/锚索结构单元的锚头、自由段和锚固段进行参数赋值。

所述获取第j批次锚杆/锚索结构单元的根数,包括:

获取第j批次锚杆/锚索结构单元的第一最大节段ID和第二最大节段ID,其中第一最大节段ID为第j批次锚杆/锚索结构单元创建前的最大节段ID,第二最大节段ID为第j批次锚杆/锚索结构单元创建完成后的最大节段ID;

获取第j批次中每根锚杆/锚索结构单元的节段数;

基于第j批次的第一最大节段ID和第二最大节段ID,以及第j批次锚杆/锚索结构单元每根的节段数计算第j批次锚杆/锚索的根数。

所述预设的节段划分长度采用1m。

一种基于python的FLAC

单元创建模块,用于基于锚杆/锚索规格,将锚杆/锚索分成多个批次,并分批次、依次创建锚杆/锚索结构单元;

ID赋值模块,用于基于预设的节段划分长度将锚杆/锚索结构单元划分成若干节段,基于第j批次创建前的最大节段ID为第j批次内的每个节段赋予一个唯一且连续的节段ID;

遍历赋值模块,用于获取第j批次锚杆/锚索结构单元的根数,并采用遍历法逐根对第j批次中的锚杆/锚索结构单元进行赋值;基于第j批次锚杆/锚索结构单元的锚头节段数、自由段节段数和锚固段节段数,确定第j批次中第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围;基于第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围,为第i根锚杆/锚索结构单元的锚头、自由段和锚固段进行参数赋值。

一种存储介质,其上存储有能被处理器执行的计算机程序,其特征在于:所述计算机程序被执行时实现所述基于python的FLAC

一种锚杆/锚索结构单元参数自动赋值设备,具有存储器和处理器,存储器上存储有能被处理器执行的计算机程序,其特征在于:所述计算机程序被执行时实现所述基于python的FLAC

本发明的有益效果是:本发明基于锚杆/锚索的规格,将锚杆/锚索分成多个批次,同一批次的锚杆/锚索具有相同的参数,从而便于批量进行参数赋值,提高赋值效率;本发明中每根锚杆/锚索上的每一节段均赋有唯一且连续的节段ID,便于准确确定每根锚杆/锚索上锚头、自由段和锚固段的范围,从而便于准确高效对锚杆/锚索上锚头、自由段和锚固段进行赋值。

附图说明

图1为实施例中锚杆/锚索结构单元组成示意图。

图2为实施例中锚杆/锚索结构单元参数自动赋值实现过程流程图。

图3为锚杆/锚索结构单元参数自动赋值实现界面。

具体实施方式

本实施例为一种基于python的FLAC

S1、基于锚杆/锚索规格,将锚杆/锚索分成多个批次,并分批次、依次创建锚杆/锚索结构单元。

锚杆/锚索结构单元可通过FLAC

S2、基于预设的节段划分长度将第j批次内的每根锚杆/锚索结构单元均划分成若干节段,基于第j批次创建前的最大节段ID为第j批次内的每个节段赋予一个唯一且连续的节段ID,j=1,2,3...。

本实施例中锚杆/锚索结构单元节段划分长度控制在1m是比较合理的,过长将降低计算精度,过短将增加计算耗时且不会明显提高计算精度。

在处理锚杆/锚索结构单元时,将每一个节段(segment)作为一个ID,每个节段有首尾两个节点(node),且所有锚杆/锚索单元的节段ID都是连续的(附图1),因此需要特别注意,当采用dxf创建锚杆/锚索单元时,线段起点和终点分别对应锚杆/锚索的锚头和末端。

本实施例中在第j批次创建前,利用内置函数itasca.structure.maxid()计算当前结构单元(已创建的结构单元)的最大节段ID。由于锚杆/锚索单元上的节段ID是连续的,因此每次新批次的锚杆/锚索单元导入时,该批次的起始节段ID为该批次创建前最大ID+1,startid=itasca.structure.maxid()+1,startid=起始ID。

S3、获取第j批次锚杆/锚索结构单元的根数,并采用遍历法逐根对第j批次中的锚杆/锚索结构单元进行赋值。

S31、获取第j批次锚杆/锚索结构单元的第一最大节段ID和第二最大节段ID,其中第一最大节段ID为第j批次锚杆/锚索结构单元创建前的最大节段ID,第二最大节段ID为第j批次锚杆/锚索结构单元创建完成后的最大节段ID;获取第j批次中每根锚杆/锚索结构单元的节段数segs。基于第j批次的第一最大节段ID和第二最大节段ID,以及第j批次锚杆/锚索结构单元每根的节段数计算第j批次锚杆/锚索的根数。

S32、基于第j批次锚杆/锚索结构单元预设的锚头节段数、自由段节段数和锚固段节段数,确定第j批次中第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围。

S33、基于第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围,为第i根锚杆/锚索结构单元的锚头、自由段和锚固段进行参数赋值。

本实施例还提供一种基于python的FLAC

S4、设置通用锚杆/锚索参数

某些参数是同批次锚杆/锚索通用的,比如锚杆/锚索横截面和周长,因此为了提高计算效率,可统一设置:

it.command(

"""struct cable prop cross-sectional-area grout-perimeter"""

.format(cross_sectional_area,grout_perimeter))

本例中单元创建模块用于基于锚杆/锚索规格,将锚杆/锚索分成多个批次,并分批次、依次创建锚杆/锚索结构单元;ID赋值模块用于基于预设的节段划分长度将锚杆/锚索结构单元划分成若干节段,基于第j批次创建前的最大节段ID为第j批次内的每个节段赋予一个唯一且连续的节段ID。

本实施例中遍历赋值模块用于获取第j批次锚杆/锚索结构单元的根数,并采用遍历法逐根对第j批次中的锚杆/锚索结构单元进行赋值;基于第j批次锚杆/锚索结构单元的锚头节段数、自由段节段数和锚固段节段数,确定第j批次中第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围;基于第i根锚杆/锚索结构单元上锚头、自由段和锚固段的节段ID范围,为第i根锚杆/锚索结构单元的锚头、自由段和锚固段进行参数赋值。

本实施例还提供一种存储介质,其上存储有能被处理器执行的计算机程序,该计算机程序被执行时实现本例中基于python的FLAC

本实施例还提供一种锚杆/锚索结构单元参数自动赋值设备,具有存储器和处理器,存储器上存储有能被处理器执行的计算机程序,该计算机程序被执行时实现本例中基于python的FLAC

相关技术
  • 一种铰接式支撑阻尼器减振系统及其减振效能评估方法
  • 一种精密减振组件及由其构成的减振平台
  • 高空作业平台的调平控制系统、调平控制方法及高空作业平台
  • 一种调速控制系统、高空作业平台及调速方法
  • 一种工作斗减振系统、方法及高空作业平台
  • 一种工作斗减振系统、方法及高空作业平台
技术分类

06120116540532