私はAbaqus/Pythonの詳細に焦点を当てます。なぜなら、Pythonでファイルを開く/読み込む方法を学ぶためのリソースはすでに広く利用できるからです。
findAt
メソッドが幾何学的フィーチャに使用されます。例えば、指定された位置に顔オブジェクトを返すために、使用:
f = mdb.models[NAME].rootAssembly.instances[NAME].faces.findAt((x,y,z))
コマンドは、Cell、エッジ、頂点オブジェクトについても同様です。複数のオブジェクトが指定された座標に関連付けられる可能性がある場合は、あいまいさがあることに注意してください。たとえば、指定されたポイントが複数のFacesの境界にある場合(つまり、端にある場合)、正しい顔がfindAt
から返されるようにする必要があります。 (また、上記のコメントの1つでは、ノードが変数tmp_node
に格納されていますが、実際はVertexオブジェクトです)。あなたは、幾何学的オブジェクト参照を取得したら
次に、などf
は上記に示した、あなたはその幾何学的領域に関連するノードを決定するためにそれを使用することができる:再び
node_objects = f.getNodes()
を、同様の方法が他の幾何学的に利用可能ですエンティティ。 getNodes
はNodeオブジェクトのリストを返します。Nodeオブジェクトのリストは、さまざまな属性を持ちます。ラベルや私番目ノードの座標を取得するには、使用することができます:
n = node_object[i].label
c = node_object[i].coordinates
を今、あなたは、Pythonに精通している場合は、外部データファイル内のエントリに、このノードに一致することは簡単なはず。もしそうでなければ、それはおそらくここでは別の質問でしょう。
ノードに希望の温度を適用するには、Temperatureオブジェクトを使用する必要があります(ここでのオブジェクト使用のパターンを参照)。あなたは、あなたがリンクした(自動生成された?)Pythonスクリプトの例を、あなたが言及した行に示します。単に正確な大きさと地域を代入するだけです。あなたは賢いしている場合は、単一のコマンドですべてのノードの温度を定義することができるようにmyregion.nodes
とmagnitudes
の両方が、順序付けられていることを
# ...various module imports.
myregion = a.Set(name=NAME, nodes=(node_objects[100:101],))
m.Temperature(name=NAME, createStepName=NAME, magnitudes=(NUMBER,), region=myregion)
a.regenerate()
お知らせ:m
とa
を仮定たとえば、モデルとルートアセンブリです。
位置x、y、zにノードがありますか?ノードの温度は、ノードでのみ指定できます。いずれにしても、この問題は、作業中のコードを表示して問題が発生しない限り、このサイトの範囲外です。 – agentp
質問を更新し、対応するファイルを追加しました。また、座標はノードの位置です。 –
本当にどこに問題があるのかはっきりしていません。あなたはPythonでファイルを開く方法を知っていますか?あなたがabaqusを捨てて、Pythonのチュートリアルを読んで行くべきでない場合は、 – agentp