找回密码
 注册
Simdroid-非首页
楼主: cellcowboy

[iSIGHT] Simcode (Isight) 集成 py (Abaqus) 文件时py文件的生成

[复制链接]
发表于 2017-3-26 21:20:41 | 显示全部楼层 来自 陕西西安
1、第一类命令getsequencefrommask应该怎么替换,才能使ABAQUS提取模型更新后的边呢?
2、如果第一类命令不替换,isight也可以计算,那么这时候ABAQUS计算时提取的是最初模型的边吗,这对结果有什么影响?
多谢!最近学习isight集成ABAQUS,幸亏有楼主的帖子!QQ1398708712,多谢!!!!!
回复 不支持

使用道具 举报

发表于 2017-3-27 10:16:13 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
多岛遗传算法自变量可以是实型吗?为什么我的程序自变量是整型可以算的下去,是实型就报错呢
回复 不支持

使用道具 举报

 楼主| 发表于 2017-3-30 10:07:48 | 显示全部楼层 来自 中国
ROSEWU 发表于 2017-3-26 15:20
1、第一类命令getsequencefrommask应该怎么替换,才能使ABAQUS提取模型更新后的边呢?
2、如果第一类命令不 ...

关于你的第一个问题:替换这个命令要非常小心,因为这个命令是作为选取点、线、面和实体所用的。具体该怎么替换呢?你需要参数化你所要选取对象的位置,然后把这个参数化的坐标放进去用findAt()来选取。举个例子,你要选取一个cell,现在cell的位置是(0,0,0),但是如果你模型形状改变之后,这个cell的位置会变,那么你就得根据模型变化与cell位置的关系来找出cell位置坐标的参数化形式,比如分别用x、y和z来替换,x、y和z分表是模型变化的因变量了。然后把这个关系带进去就是findAt(x,y,z)。至于怎么寻找模型变化与cell位置左边的关系,我想你得根据自己模型来找了。。。。。。
关于你的第二个问题,我想已经很清楚了,你不替换这个命令,可能计算能够继续,但是你没法保证你所选取的是你所要选取的对象。当然计算结果可能就完全是错误的。
回复 不支持

使用道具 举报

 楼主| 发表于 2017-3-30 10:10:21 | 显示全部楼层 来自 中国
ROSEWU 发表于 2017-3-27 04:16
多岛遗传算法自变量可以是实型吗?为什么我的程序自变量是整型可以算的下去,是实型就报错呢 ...

多岛遗传是可以是实数形式,我的就是实数形式。
你的模型报错,可能是你脚本中设置了数据类型和isight里面的数据类型不一致。这个具体问题具体分析,我根据你现在所述没法下定论。
回复 不支持

使用道具 举报

发表于 2017-4-1 16:14:09 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-3-30 10:10
多岛遗传是可以是实数形式,我的就是实数形式。
你的模型报错,可能是你脚本中设置了数据类型和isight里 ...

如果我想让实型变量按照一定的步长变化,比如我的变量初值是20.0,范围是10.0-30.0,我只想取20.1,20.2,20.3,10.1.。。。类似这样的数据点,应该在哪里设置呢?多谢你的回答!感谢!
回复 不支持

使用道具 举报

发表于 2017-4-1 16:15:42 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-3-30 10:07
关于你的第一个问题:替换这个命令要非常小心,因为这个命令是作为选取点、线、面和实体所用的。具体该怎 ...

好的,我试试,谢谢你的回答,让我很有信心!
回复 不支持

使用道具 举报

发表于 2017-4-8 21:12:53 | 显示全部楼层 来自 陕西西安
find at 一个点的坐标是什么意思啊,如果我要对cell find at应该怎么用呢
回复 不支持

使用道具 举报

发表于 2017-4-8 23:49:17 | 显示全部楼层 来自 江苏苏州
感觉还行吧
回复 不支持

使用道具 举报

 楼主| 发表于 2017-4-9 10:32:19 | 显示全部楼层 来自 重庆沙坪坝区
ROSEWU 发表于 2017-4-8 15:12
find at 一个点的坐标是什么意思啊,如果我要对cell find at应该怎么用呢

findAt()只是一个选取点的函数,找的对象可以是point,edge,plane/face 和cell。至于怎么选取cell,实际上你的问题应该是怎么访问cell。知道怎么访问上面这些对象,就知道怎么选取他们了。我就举个cell访问方法的例子吧,其访问方法如下:
import part
mdb.models[name].parts[name].allInternalSets[name].cells
mdb.models[name].parts[name].allSets[name].cells
mdb.models[name].parts[name].cells
mdb.models[name].parts[name].sets[name].cells
import assembly
mdb.models[name].rootAssembly.allinstances.cells
mdb.models[name].rootAssembly.allinstances.sets[name].cells
mdb.models[name].rootAssembly.allInternalSets[name].cells
mdb.models[name].rootAssembly.allSets[name].cells
mdb.models[name].rootAssembly.instances[name].cells
mdb.models[name].rootAssembly.instances[name].sets[name].cells
mdb.models[name].rootAssembly.modelInstances.sets[name].cells
mdb.models[name].rootAssembly.sets[name].cells
上面分别是part中的cell和assembly中的cell,各自有很多类型,对应着各自的访问语句。以上面划横线的那种cell为例,用findAt()来访问就是:
mdb.models[name].parts[name].cells.findAt(1,1,0)
上面这条语句就是选取一个cell,这个cell是所框出来的空间包含坐标点(1,1,0)或者离这个坐标点非常非常近。如果你要选取多个cells,也可以用这个函数一次实现。例如下面语句就是选取了myCrackedBlockInstance在坐标点(0,0,0),(1, 1, 1), (-1, -1, -1)处的三个cells并将他们返回给cells1这个变量.
cells1 = myCrackedBlockInstance.cells.findAt(((0, 0, 0),),
((1, 1, 1),),
((-1, -1, -1),),)
至于point,edge和face等的选取,你参看ABAQUS用户手册programming部分专门有findAt函数的讲解。
回复 不支持

使用道具 举报

发表于 2017-4-9 11:19:10 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-4-9 10:32
findAt()只是一个选取点的函数,找的对象可以是point,edge,plane/face 和cell。至于怎么选取cell,实际 ...

ABAQUS参数化对于面的选取有没有面号,体号的说法,不用find at选取,能不能基于面号体号线号来选取,是不是比基于坐标选取,效率更高,我在哪里可以查看所建立part的面号,体号呢,不知道你用过这功能没有
回复 不支持

使用道具 举报

 楼主| 发表于 2017-4-10 08:34:52 | 显示全部楼层 来自 重庆沙坪坝区
ROSEWU 发表于 2017-4-9 05:19
ABAQUS参数化对于面的选取有没有面号,体号的说法,不用find at选取,能不能基于面号体号线号来选取,是 ...

没有什么面号体号,你所说的,我猜想是你在cae中操作时系统自动生成的一些编号,但是这些编号不可以参数化的。所以你想要按照编号来选取,几乎不可能。何况,Python语言要是也按照编号来选取,和inp文件的编码规则岂不是没什么差别了吗?选取point plane和cell,甚至part或者instance都可以用findAt函数,当然还有其他很多函数有类似功能,比如说getClosest函数。具体怎么用,可以参照ABAQUS的programming部分,尤其是scripting users guide 和reference,里面每条命令都有讲解。具体怎么用,可以参照ABAQUS的programming部分,尤其是scripting users guide 和reference,里面每条命令都有讲解。具体怎么用,可以参照ABAQUS的programming部分,尤其是scripting users guide 和reference,里面每条命令都有讲解。
回复 不支持

使用道具 举报

发表于 2017-4-10 11:48:15 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-4-10 08:34
没有什么面号体号,你所说的,我猜想是你在cae中操作时系统自动生成的一些编号,但是这些编号不可以参数 ...

好的,我知道了,面号体号在ANSYS里面有定义,在ABAQUS里是用find at函数来选取几何序列。
我现在有三个part,其中一个shell和一个solid对的面重合,我在merge 几何体,选择retain,形成一个新的part,重合的sell依然存在,但是给不了属性,这是什么原因呢?
因为最后要对参数化,修改尺寸,需要在几何上操作,所以上面的问题不能先mesh再赋属性
多谢啦!
回复 不支持

使用道具 举报

 楼主| 发表于 2017-4-10 15:01:16 | 显示全部楼层 来自 重庆沙坪坝区
ROSEWU 发表于 2017-4-10 05:48
好的,我知道了,面号体号在ANSYS里面有定义,在ABAQUS里是用find at函数来选取几何序列。
我现在有三个p ...

Abaqus 也有定义的面号体号。我说没有固定的面号体号是因为你要参数化,一个参数重新赋值,模型就要重新生成,面号体号就可能变了。你后面说的问题赋值不了我不清楚是什么原因。
回复 不支持

使用道具 举报

发表于 2017-4-10 15:03:45 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-4-10 15:01
Abaqus 也有定义的面号体号。我说没有固定的面号体号是因为你要参数化,一个参数重新赋值,模型就要重新 ...

ANSYS里面,参数化之后,还是那几个面,面号体号是不变的
多谢了!多谢了!
回复 不支持

使用道具 举报

 楼主| 发表于 2017-4-10 15:19:58 | 显示全部楼层 来自 重庆沙坪坝区
ROSEWU 发表于 2017-4-10 09:03
ANSYS里面,参数化之后,还是那几个面,面号体号是不变的
多谢了!多谢了! ...

你要是想要面号体号和坐标值,很关注内部每个节点了单元编号,就用inp文件,不用Python文件。
回复 不支持

使用道具 举报

发表于 2017-4-10 19:03:48 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-4-10 15:19
你要是想要面号体号和坐标值,很关注内部每个节点了单元编号,就用inp文件,不用Python文件。 ...

是用simcode集成的,没有采用ABAQUS组件
多谢!多谢啦!
回复 不支持

使用道具 举报

 楼主| 发表于 2017-4-11 07:54:20 | 显示全部楼层 来自 重庆沙坪坝区
ROSEWU 发表于 2017-4-10 13:03
是用simcode集成的,没有采用ABAQUS组件
多谢!多谢啦!

simcode 集成也可以用inp啊,输入输出文件可以有多个。inp写模型,再Python提取结果到输出文件,都是可以的。要灵活运用simcode。
回复 不支持

使用道具 举报

发表于 2017-4-11 08:52:46 | 显示全部楼层 来自 陕西西安
cellcowboy 发表于 2017-4-11 07:54
simcode 集成也可以用inp啊,输入输出文件可以有多个。inp写模型,再Python提取结果到输出文件,都是可以 ...

inp可以参数化吗?里面都是节点和单元编号啊,不太懂
回复 不支持

使用道具 举报

发表于 2017-5-1 20:14:25 | 显示全部楼层 来自 江苏
来学习一下大牛的作品
回复 不支持

使用道具 举报

发表于 2017-5-20 08:48:35 来自手机 | 显示全部楼层 来自 黑龙江
cellcowboy 发表于 2017-4-11 07:54
simcode 集成也可以用inp啊,输入输出文件可以有多个。inp写模型,再Python提取结果到输出文件,都是可以 ...

拜读了您的帖子,想了解一下如何用python 提取结果到输出文件,谢谢
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 14:32 , Processed in 0.047950 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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