一直在努力跟随:我想为给定的el创建一个新的FieldOutput(比如说用张量进行一些简单的aritmetic操作)。组。不是整个模型,因为这太昂贵了,我对这个特定的区域/集合感兴趣。
我用结果打开一个odb ....
upsertAll
一些替换确保它始终打开步骤/实例,无论他们的名字是什么......
from abaqus import *
from odbAccess import *
from abaqusConstants import *
import visualization
import fileinput
import os
# to make prettyPrint work!
from odbAccess import *
from textRepr import *
# open odb
odb_path="analysis45.odb"
my_odb=session.openOdb(name=odb_path,readOnly=FALSE)
找到了一些计算新数据的方法并将它们填入新的标量:https://gist.github.com/crmccreary/5015483但是,我没有成功地理解那里到底发生了什么,因为这个脚本要复杂得多而且我不是程序员一点都不。
试图通过直接在场上硬处理一些值来简化任务(打算稍后通过函数替换它,最后以这种方式遍历整个elset)。我得到关于“内置操作的非法参数类型”形式的消息,我假设我试图插入的数据格式不正确。尝试了没有成功的文档。我可以要求提示/帮助吗?谢谢!
# automate the proces of reading the step no matter what its name is
StepNames=(my_odb.steps.keys() ) # it is a list of all step names
lastStep=( StepNames[-1] )
# automation of an instance naming (in the same way)
NaseInstance = (my_odb.rootAssembly.instances.keys())
MojeInstance = ( NaseInstance[-1] )
CelaMojeInstance=my_odb.rootAssembly.instances[MojeInstance]
这个家伙的解决方案似乎与我的完全相同:http://abaqus-users.1086179.n5.nabble.com/Writing-Results-to-Existing-ODB-file-td21750.html
我明白这个问题对于老年人来说可能太琐碎或太愚蠢,对此感到抱歉。
答案 0 :(得分:2)
出于某种原因,当我输入时它可以工作:
data=[(6.0,),(12.0,),(6.0,),(12.0,),(6.0,),(12.0,),(6.0,),(12.0,)]
在值之后使用逗号。我真的不知道为什么。希望将来可以帮助其他人。