0

我正在尝试在 Ansys Mechanical 中进行瞬态热仿真。为了获得更合适的模拟,我想“添加”一个源术语。特别是我想在我的方程中添加一个减少程度,这取决于温度。

我尝试使用 APDL 命令来执行此操作,但我对这种编程语言和 Ansys 中的例程都不是很熟悉。

这是到目前为止我想到的“伪代码”:

! ############################################
! Getting values and material data
! ############################################

*GET, NumberOfMeshElements, VOLU, 0, COUNT, , Body 1, ! Number of Elements in Body 1
*GET, TimeStepSize, ACTIVE, 0, SOLU, DTIME

*SET, CeriaAmount, 1000 ! in mol 
*SET, ReductionEnthalpy, 500 ! in kJ/mol O (

*SET, OxygenPartialPressure, 100 ! Setting oxygen partial pressure
*SET, Temperature, TEMP ! Setting Temperature as a variable

*SET, ReductionExtent, 0 ! previous reduction extent 

! ############################################
! Calculation of Source Term
! ############################################

! Begin of Loop for each time step

*DO, t, 0, 10, TimeStepSize ! solve together with transient thermal analysis (convection, radiation, conduction) 

ReductionExtent = 0.35 * EXP(Temperature) ! goal: storing of previous (t-1) value for later calculation of Rate of Change

! Begin of Loop for each element

*DO, i, 1, NumberOfMeshElements, 1 ! needed for each mesh element because each mesh element has a different temperature

*GET, MeshElementVolume, VOLU, i, VOLU, , Body 1,
ReductionExtentRateOfChange = ReductionExtent(t-1)- ReductionExtent(i) / TimeStepSize

S_reaction = - CeriaAmount / MeshElementVolume * ReductionEnthalpy * ReductionExtentRateOfChange ! usally a source term 
4

1 回答 1

0

显然有一种方法可以根据节点温度产生热量:

https://forum.ansys.com/discussion/1695/heat-generation

如果您需要此方法作为 APDL,您可以在工作台中为您的解决方案制作原型,然后在生成的 ds.dat 中查找 APDL 命令。

用于内部发热的 APDL

您可以将 Arrehnius 方程拟合到多项式 Property = C0 + C1(T) + C2(T)^2 + C3(T)^3 + C4(T)^4 并将其作为材料模型使用 MP, QRATE, MATNUMBER, C0, C1, C2, C3, C4 或参考由创建的表名 (C0 = %QRATETABLE%)

*DIM,QRATETABLE,TABLE,5,,,TEMP                     !  Define QRATE with TEMP 
                                                   !              primary variable
QRATETABLE(1,0)=0.,50.,100.,150.,200.              ! Assign temperature values
QRATETABLE(1,1)=1,2,3,4,5                  ! Assign heat generation values !!! I am using dummy values !!!!

MP,QRATE, MATNUMBER,%QRATETABLE%                   ! Input QRATE on the MP command
于 2021-07-08T05:11:08.067 回答