2017-04-10 398 views
1

一直在努力与以下内容:我想创建一个新的FieldOutput(可以说一些简单的张量的aritmetic操作)给定的el。组。不是整个模型,因为这太昂贵了,我仍然对这个特定区域/集合感兴趣。Abaqus:创建一个新的FieldOutput(格式?)

我打开与结果的ODB ....

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) 

是确保它始终打开步骤/实例不管他们叫什么名字有些换人......

# 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] 

发现有人不知道计算新数据的方式,并将它们填入新标量中:https://gist.github.com/crmccreary/5015483虽然我没有成功理解到底发生了什么,因为这个脚本更加复杂,我根本不是程序员。

试图通过直接向该领域硬性规定某些值来简化任务(以后打算用函数代替它,最后以这种方式遍历整个elset)。我得到关于“内置操作的非法参数类型”形式的消息,我假设数据Im试图插入的格式不正确。试过没有成功的文档。我可以要求提示/帮助吗?谢谢!

NewField =my_odb.steps[lastStep].frames[0].FieldOutput(name='New_scalar_field',description='Our brand new scalar field', type=SCALAR) 
NewField.addData(position=NODAL, instance=CelaMojeInstance, labels=[1657, 1658, 1683, 1684, 14193, 14194, 14195, 14196], data=[(6),(12),(6),(12),(6),(12),(6),(12)]) 

my_odb.save() 
my_odb.close() 

这家伙的解决方案似乎是不太一样的矿井:http://abaqus-users.1086179.n5.nabble.com/Writing-Results-to-Existing-ODB-file-td21750.html

据我所知,这个问题可能是太微不足道或者太傻的老人,我们对此深感抱歉。

+0

相信我,abaqus脚本的任何人都不会对不清楚的文档有异议。你有没有尝试从'data'中取出括号? –

+0

嗨!谢谢。之后我实际添加了括号,因为链接中的人使用它们。没有不同。 – Jewenile

+0

你有没有取得浮动物清单?即[[12,6,..., 。 。 。]' –

回答

2

出于某种原因,当我键入它的工作原理:

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

与值后的逗号。我真的不知道为什么。希望它能在未来帮助其他人。

+0

然后它想要一个1元组列表。可能是因为如果你有'type = VECTOR',你需要每个点都有一个三元组。 –

+0

奇怪的是,我在互联网上发现的所有其他(少数)例子都不需要这个。不知道它是否是一个版本问题(对我来说似乎不太可能)或者其他什么......我刚刚通过在GUI中选择探针进行检查,发现节点中的值实际上是自上而下的两个和六个。 – Jewenile

+0

很好找。您应该添加您的版本信息以供将来参考。 – agentp