【问题标题】:Is there any possibility to add a source term to Ansys Mechanical?是否有可能向 Ansys Mechanical 添加源术语?
【发布时间】:2021-07-06 10:22:59
【问题描述】:

我正在尝试在 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 

【问题讨论】:

  • 我不确定我是否理解问题,但是您可以通过材料模型完成源代码吗?验证手册中类似于 VM104 的内容?或者您想影响基于温度的边界条件?类似于 PID 控制器?
  • 您好,我想计算化学反应的还原程度。这个程度取决于温度。通常这与能量方程 PDE 一起完成。在 Ansys fluent 中,可以添加用户定义的函数,但在我的情况下,我使用的是机械仿真模型,因为这样可以更轻松地进行温度建模。

标签: simulation user-defined-functions ansys


【解决方案1】:

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

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

【讨论】:

  • 您好(抱歉回复晚了)。如果不能用 Ansys 机械装置完成,我可能会尝试用 Ansys fluent 来完成,但热模拟本身在 Ansys 机械装置中完全可以正常工作 - 所以切换工具会有点烦人......但是:也许使用 Ansys用户可编程功能 (UDF) 是一种解决方案,但我认为这并不容易,我只剩下 2 个月了......
  • 您好!谢谢你的帮助。这是一个有趣的观点。但是我认为它与我的问题不太匹配。让我用不同的话来描述我的问题:我想知道两件事。 1)减少程度 - 例如每个时间步创建了多少。为此,我想使用基于 Arrhenius 方程的化学反应方程。 2)我想知道散热器,例如由于化学反应“损失”了多少能量。如果您的解决方案适合我的问题,但我不明白,我很抱歉!
  • 此外,MASS71 方法指出“该元件可用于瞬态热分析,以表示具有热容能力但内部热阻可忽略不计的物体,即体内没有明显的温度梯度。” - 在我的情况下,材料的导电性非常差,因此梯度很高......我不知道在这种情况下是否可以使用 MASS71 方法
  • 对不起,我不得不删除我之前的评论,因为我想出了一些东西。对于具有高温度梯度的元素不推荐使用 MASS71 方法这一事实,您有何看法?
  • 而且,如果我上面提到的帖子正确,可以用所谓的“热点质量”来实现这个 MASS71 方法。我在此设置中认识到的是,我无法将其拟合到所需的方程,而且我无法使用负幅度。
猜你喜欢
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多