Abaqus子程序系列:UMDFLUX(定義多個非均勻分布熱源)

子程序UMDFLUX

·        可用于描述是位置、時間、溫度等函數的多個移動或靜止熱通量;

·        可以使用和更新單元解相關的變量;

·        每個單元可以調用一次,來描述單元內容開始點和結束點之間的移動熱源;

·        施加熱通量為點移動熱源,單位是能量單位(JT-1);

·        在用戶子程序外,不需要體積積分;

 

1.      與子程序DFLUX的區別

子程序DFLUX

·        可以用來在熱傳導或質量擴散分析中,定義一個非均勻分布的熱通量,可以是位置,時間,溫度,單元號,積分點號等的函數;

·        對于分析中定義了基于單元或基于表面(僅僅熱傳導)的非均勻分布熱通量,每個熱通量積分點調用;

·        忽略任何可能出現的與非均勻分布通量定義相關的幅值參考;

·        將節點作為一階傳熱單元、一階溫度-位移耦合單元、一階熱-電-結構耦合單元和質量擴散單元的通量積分點。

SUBROUTINE DFLUX(FLUX,SOL,KSTEP,KINC,TIME,NOEL,NPT,COORDS,JLTYP,TEMP,PRESS,SNAME)

C

      INCLUDE 'ABA_PARAM.INC'

C

      DIMENSION FLUX(2), TIME(2), COORDS(3)

      CHARACTER*80 SNAME

      user coding to define FLUX(1) and FLUX(2)

      RETURN

      END

2.      子程序接口

subroutine umdflux(

     *     jFlags, amplitude, noel, nElemNodes, iElemNodes,

     *     mcrd, coordNodes, uNodes, kstep, kinc, time, dt, jlTyp,

     *     temp, npredef, predef, nsvars, svars, sol, dsol,

     *     nIntp, volElm, volInt,

     *     nHeatEvents, flux, dfluxdT, csiStart, csiEnd)

C

      include 'aba_param.inc'

C

      dimension jFlags(2), iElemNodes(nElemNodes),

     *     coordNodes(mcrd,nElemNodes), uNodes(mcrd,nElemNodes),

     *     volInt(nIntp), time(2), dt(2),

     *     temp(2,nElemNodes), predef(2,npredef,nElemNodes),

     *     svars(nsvars,2), sol(nElemNodes), dsol(nElemNodes),

     *     flux(nHeatEvents), dfluxdT(nHeatEvents),

     *     csiStart(3,nHeatEvents), csiEnd(3,nHeatEvents)

 

      user coding to define nHeatEvents, flux, dfluxdT, csiStart, csiEnd,

      and possibly update dt, svars

 

      return

      end

 

3.      必須定義的變量

nHeatEvents

該單元中移動或靜止熱事件(熱通量)的總數。

flux(nHeatEvents)

流進單元里的熱通量的大小(單位JT-1)。

dfluxdT(nHeatEvents)

參考于溫度,通量的改變率。

csiStart(3,nHeatEvents)

移動通量起始點的等參坐標。

csiEnd(3,nHeatEvents)

移動通量終點的等參坐標。如果通量是靜止的,端點的坐標與起始點的坐標相同。(csiStart=csiEnd)

 

4.      可以被更新的變量

dt(2)

新的建議時間增量(可修改);為了使用分析時間增量,請保持其不變。

svars(nsvars,1)

一個數組,用于在增量結束時定義與單元解相關的變量的新值。除非它們被其他用戶子程序更新(在這種情況下,更新的值將被傳遞進來),否則它們將作為增量的開始部分的值傳遞進來。數組的大小是nsvars。

 

5.      作為傳遞信息的變量

jFlags

一個數組,其中包含定義當前解過程和分析類型的標志。

jFlags(1):定義過程類型。

jFlags(2)=0:小位移分析。

jFlags(2)=1:大位移分析(在分析步中包含非線性幾何的影響)。

Amplitude

為通量參考的幅值曲線的當前值(如果沒有振幅參考,設置為統一)。*DFLUX中定義的幅值曲線。

Noel

用戶分派的單元數量

nElemNodes

單元節點的數量

iElemNodes(nElemNodes)

包含用戶分配的單元節點編號的數組

Mcrd

任意節點所需坐標的用戶定義最大數目與用戶單元的最大活動自由度值之間的最大值,該值小于或等于3。例如,如果指定坐標的最大數目為1,用戶單元的活動自由度為2、3和6,那么mcrd將為3。如果指定坐標的最大數目為2,用戶單元的活動自由度為11和12,那么mcrd將為2。

coordNodes(mcrd,nElemNodes)

包含單元節點坐標的數組。

uNodes(mcrd,nElemNodes)

包含單元節點位移的數組。在純傳熱分析中,位移被設為坐標。

Kstep

現在的分析步號

Kinc

現在的增量步號

Time(1)

分析步時間此刻的值

Time(2)

總時間此刻的值

Dt(1)

時間增量步

jlTyp

標識被UMDFLUX調用的移動通量類型;只有集中的熱通量類型被支持(jLTyp=1)

temp(2,nElemNodes)

一個數組,包含單元節點上預定義的溫度值對。一對中的第一個值temp(1,nElemNodes)對應于增量結束時的值;第二個值temp(2,nElemNodes)對應于溫度的增量。

Npredef

場變量的數量。

predef(2,npredef,nElemNodes)

在單元節點上包含預定義場變量值對的數組。一對中的第一個值predef(1,npredef,nElemNodes)對應于增量末尾的值;第二個值predef(2,npredef,nElemNodes)對應于場變量的增量。

Nsvars

單元解相關變量的數量。

svars(nsvars,2)

在增量開始處包含與單元解相關變量的值的數組。

sol(nElemNodes)

增量開始時的一組解變量(傳熱分析中的溫度)。

dsol(nElemNodes)

解變量(傳熱分析中的溫度)增量的估計值數組。這些值總是被設置為零。

nIntp

對于這個單元類型,積分點的總數。

volElm

單元的總體積。

volInt(nIntp)

積分點體積。

 

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

3