2017-04-10 60 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