Python in Itasca software(PFC, 3DEC, FLAC3D)---Part 1
Python in Itasca software(PFC, 3DEC, FLAC3D)---Part 1
GeotechWu
计算岩土力学(Geomechanics)是一个综合的岩土工程(Geotechnical)信息源,旨在与岩土工程领域的学生,研究人员和岩土工程师分享先进的岩土工程教育理念,岩土工程分析和设计方法。
1 引言
自从5.0版本开始,Itasca的旗舰软件PFC、FLAC3D和3DEC逐渐嵌入了Python语言,之所以想起写这个题目,是由于在最近的文章【 答复同学提问---如何在离散断裂网络DFN中计算RQD指标 】遇到了一点儿问题,因此不得不对Itasca软件中的Python模块作了重新回顾。 在目前发展的版本中,Python模块主要用于Itasca的3个三维软件PFC3D、3DEC和FLAC3D。
2 Itasca模块
Itasca软件目前使用的Python版本是V3.6.1,IPython使用的版本是V6.2.1,尽管使用的都不是最新的版本,但不影响计算,因为我们只用到Python语言中非常小的一部分功能。当安装Itasca软件时,同时也安装了matplotlib, numpy, scipy, pyside四个Python模块。Python比Itasca软件内置的FISH语言操作灵活,功能多,例如在数值模拟时经常用到的方案优化和插值和数据可视化,使用Python比使用FISH的效率高, 甚至可以使用 pyside自定义用户界面 。此外,Python的 执行速度比FISH快,当然执行速度最快的是NumPy【 Numpy与PFC的数据交换---ballarray ; FLAC3D与Python的集成 (2)---数据交换至Numpy 】,
Itasca模块建立了Python语言与Itasca软件之间的联系,包含了Itasca软件不同的类,例如zones, blocks, gridpoints, structural elements, balls, contacts, DFNs等,同时也包含了一些静态函数,例如计算单元数目,查找某一变量的类型等。使用Itasca模块的通用代码如下:
import itasca as it
it.command ("python-reset-state false")
在导入Itasca模块之后,便可以:
(1) 在Python中执行Itasca命令;
(2) 在Python中获取或设置FISH变量;
(3) 在执行循环的过程中调用Python函数;
3 模型状态
Itasca软件的model new命令可以清除当前运行数据的所有状态,而model save和model restore可以保存和恢复模型的所有数据,但Python状态与模型状态是分离的,这意味着当使用model new 或model restore命令时,不能重新设置Python的变量值,它们驻留在内存中,同时,Python变量值也不能保存到sav文件中,Python的执行函数独立于模型状态。
4 FLAC3D示例
下面演示了一个简单的示例。
(1) 调用itasca命令
import
itasca
as
it
it.command (
"python-reset-state false"
)
it.command(
"""
model new
model large-strain off
zone create brick size 10 10 10
zone cmodel assign elastic
zone property density 2950 young 12e9 poisson 0.25
cycle 1
"""
)
(2) 单元性质操作
z_count = it.zone.count()
z = it.zone.find(1)
z_pos = z.pos()
z_id = z.id()
print(
"zone"
, z.id(),
"with model"
, z.model(),
"at"
, z.pos())
volume_sum
=
0.0
for
z in it.zone.list():
volume_sum
+= z.vol()
assert
volume_sum == z.vol() * it.zone.count()
z
= it.zone.near((
5
,
5
,
5
))
z.pos()
z.props()
z.props()[
’bulk’
]
z.prop(
’shear’
)
z.set_prop(
’bulk’
,
8
.5e9)
微信扫一扫赞赏作者
赞赏
发送给作者
人赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
