Abaqus:创建一个新的FieldOutput(格式?)

时间:2017-04-10 06:44:02

标签: python abaqus

一直在努力跟随:我想为给定的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

我明白这个问题对于老年人来说可能太琐碎或太愚蠢,对此感到抱歉。

1 个答案:

答案 0 :(得分:2)

出于某种原因,当我输入时它可以工作:

data=[(6.0,),(12.0,),(6.0,),(12.0,),(6.0,),(12.0,),(6.0,),(12.0,)]

在值之后使用逗号。我真的不知道为什么。希望将来可以帮助其他人。