2017-04-10 2 views
1

次のように苦労しています:私は与えられたelの新しいFieldOutputを作成したいと思います。セット。これはあまりにもコストがかかるので、モデル全体ではなく、とにかくその特定の領域に興味があります。私は結果とODBを開くAbaqus:新しいFieldOutputを作成する(フォーマット?)

....

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私は、このスクリプトがはるかに複雑で、プログラマーではないので、正確に何が起こっているのか理解できません。

フィールドに値を直接指定することでタスクを簡略化しようとしました(これを後で関数に置き換え、最終的にこのように全体をループする)。私は"組み込み操作のための不正な引数型"フォームに関するメッセージを受け取りましたが、挿入しようとしているデータの形式が正しくないと仮定しています。成功したドキュメントを試してみました。ヒント/助けをお願いしますか?ありがとう!

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のスクリプトは、不明確な文書については同意しません。括弧を 'データ 'から取り除こうとしましたか? –

+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'を持っていれば、すべての点に対して3タプルが必要になるでしょう。 –

+0

奇妙なことは、私がインターネット上で見つけた他の(いくつかの)例がすべてこれを必要としないということです。それはバージョンの問題(私にとってはそう思わない)なのか、それ以外のものなのか分かりません...ノードの値が本当に上の12個と6個のGUIのプローブを選んでチェックしました。 – Jewenile

+0

良い見つける。将来の参照のためにバージョン情報を追加する必要があります。 – agentp

関連する問題