找回密码
 注册
Simdroid-非首页
查看: 187|回复: 2

[二次开发] python如何能实现在节点(每次读取一个节点)上施加力呢?

[复制链接]
发表于 2013-3-8 21:29:44 | 显示全部楼层 |阅读模式 来自 北京
本帖最后由 cheryle 于 2013-3-9 15:46 编辑

for m in range(0,len(b_list),1) :                     # 其中b_list存储了节点的编号的列表,
        nodes=mdb.models['planeDeforme'].rootAssembly.instances['PART-1-1'].nodes         
        z=b_list[m]
        nodes1=(nodes[z])
        region = regionToolset.Region(nodes=nodes1)
        mdb.models['planeDeforme'].ConcentratedForce(name='Load-%d'%m,
    createStepName='Step-%d'%k, region=region, cf1=-100.0, cf2=-100.0, cf3=100.0,
    distributionType=UNIFORM, field='', localCsys=None)

这是我编的程序,可是放在abaqus中的命令窗口一条一条运行的时候,出现TypeError: nodes; found MeshNode, expecting MeshSequence
后来查询帮助文档,说node命令不处理节点的编号的?
然后换成
nodes=mdb.models['planeDeforme'].rootAssembly.SetFromNodeLabels(name='node',nodeLabels=('PART-1-1',(b_list[m])))
但是又出现TypeError: nodeLabels[0]; not all required arguments specified; expected 2, got 0

我想要做的就是:abaqus实现 读取一个节点编号,然后在该节点上施加相应的力,然后以此作为一个循环,直到加载完毕。
###################################################################################################最后python还是没有调试成功,我采用了笨方法,直接对inp文件中的load进行操作,。。。。。40个step,复制黏贴了40次。。。。。。还是求高人指点,python怎么实现呢?
有木有大侠知道呢?
 楼主| 发表于 2013-3-8 21:34:31 | 显示全部楼层 来自 北京
Simdroid开发平台
本帖最后由 cheryle 于 2013-3-8 22:08 编辑

调试了好久啦。。。。困扰好久了,这个问题应该有意义解答吧?。。。找论坛也找了好久,没发现类似的。。。。斑竹大人,大大人。。。。同学们。。。。同志们。。。。
回复 不支持

使用道具 举报

发表于 2013-5-3 10:37:14 | 显示全部楼层 来自 北京
region要求的变量是MeshSequence,而你给的是一个点。只需将nodes1=(nodes[z:(Z+1)])即可,虽然都是一个节点,但二者的形式是不同的。

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-2 06:42 , Processed in 0.026680 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表