次のように苦労しています:私は与えられた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
は、私は質問があまりにも些細またはそのことについて申し訳ありませんが、高齢者のためにあまりにも愚かであり得ることを理解しています。私が入力したときにそれが機能何らかの理由
私を信頼してください、abaqusのスクリプトは、不明確な文書については同意しません。括弧を 'データ 'から取り除こうとしましたか? –
こんにちは!ありがとう。私は実際にリンクからの男がそれらを使用するので、後に括弧を追加しました。変わりはない。 – Jewenile
代わりにフロートのリストを掘りましたか?すなわち[12.、6. ,. 。 。 。] ' –