簡體   English   中英

如何使用 ABAQUS python 腳本(不消耗許可證)提取特定節點/節點集上所有步驟的載荷和位移數據?

[英]How to extract load and displacement data for all steps on a particular node/node set using ABAQUS python scripting (without consuming licence)?

在 ABAQUS 中,我想使用python 腳本。

我已經通過使用帶有會話對象的腳本(從 ABAQUS CAE 會話期間生成的 .rpy 文件生成)來做到這一點。 我用來執行的命令是'ABAQUS CAE NOGUI=SCRIPT.py'。 它在使用 ABAQUS CAE 時消耗許可證。

我的條件是,我想為節點集“N100”上的所有步驟提取“現場輸出”結果(負載 ['RF'] 和位移 ['U']),而無需使用許可證 即通過使用“odbAccess”庫。

我在 ABAQUS 文檔( http://dsk.ippt.pan.pl/docs/abaqus/v6.13/books/cmd/default.htm?startat=pt05ch09s05.html )中找到了一些相關的描述。 但是,我無法找到適合我需要的解決方案。ABAQUS 文檔中給出的腳本僅在最后一步提取載荷位移結果,對於 ODB 文件中的所有節點也是如此。 我想提取所有步驟時間(不僅僅是最后一個)特定節點/節點集的結果。 (lastFrame = odb.steps['Step-1'].frames[-1])

ABAQUS 文檔中給出的腳本無需使用任何許可證即可工作。

任何人都可以指導我嗎?

以下為所有模擬幀提取所有節點的“RF”和“U”。

    part_instance = odb.rootAssembly.instances['PART-1-1']
    for key in keys:
    step = odb.steps[key]
    frameRepository = step.frames
    if len(frameRepository):
        for frame in frameRepository:
            print 'Id = %d, Time = %f\n'%(frame.frameId,frame.frameValue)
            fo = frame.fieldOutputs
            f1 = fo['U']
            f2 = fo['RF2']

現在你只需要為你感興趣的特定節點過濾 f1 和 f2 變量。一個簡單的打印語句來理解 f1 和 f2 的結構真的可以幫助你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM