FluentUDF第八章在FLUENT中激活你的UDFWord文件下载.docx
《FluentUDF第八章在FLUENT中激活你的UDFWord文件下载.docx》由会员分享,可在线阅读,更多相关《FluentUDF第八章在FLUENT中激活你的UDFWord文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
8.1.2求解初始化
一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了求解初
始化UDF,这一UDF在FLUENT中将成为可见的和可选择的。
User-DefinedFunctionHooks面板的InitializationFunction下拉菜单(图8.1.1)
中选择它。
求解初始化UDF使用DEFINE_INIT宏定义。
细节见4.2.2节。
8.1.3
用命令执行UDF
一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了你的UDF,
你可以在ExecuteUDFOnDemand面板中选择它(图8.1.2),以在某个特定的
时间执行这个UDF,而不是让FLUENT在整个计算中执行它。
点击Execute按纽让FLUENT立即执行它。
以命令执行的UDF用DEFINE_ON_COMMAND宏定义,更多细节见4.2.3节
8.1.4
从case和data文件中读出及写入
一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了一个将
定制片段从case和data文件中读出或写入的UDF,这一UDF在FLUENT中将
成为可见的和可选择的。
你将需要在User-DefinedFunctionHooks面板(图8.1.1)
读Case函数在你将一个case文件读入FLUENT时调用。
它将指定从case
文件读出的定制片段。
写Case函数在你从FLUENT写入一个case文件时调用。
它将指定写入case
文件的定制片段。
读Data函数在你将一个data文件读入FLUENT时调用。
它将指定从data
写Data函数在你从FLUENT写入一个data文件时调用。
它将指定写入data
上述4个函数用DEFINE_RW_FUCTION宏定义,见4.2.4节。
8.1.5
用户定义内存
你可以使用你的UDF将计算出的值存入内存,以便你以后能重新得到它,
要么通过一个UDF或是在FLUENT中用于后处理。
为了能访问这些内存,你需
要指定在用户定义内存(User-DefinedMemory)面板中指定用户定义内存单元
数量(NumberofUser_DefinedMemoryLocations)(图8.1.3)。
宏C_UDMI或F_UDMI可以分别用于在你的UDF中访问一个单元或面中的
用户定义内存位置。
细节见5.2.4,5.3.2,6.7节。
已经存储在用户定义内存中的场值将在你下次写入一个时存入data文件。
这
些场同样也出现在FLUENT后处理面板中下拉列表的UserDefinedMemory…
中。
它们将被命名为udm-0,udm-1等,基于内存位置索引。
内存位置的整个数
量限制在500。
8.2
本节包括激活使用4.3节中宏的UDF的方法。
8.2.1
边界条件
一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了求解边
界条件UDF,这一UDF随之在FLUENT中将成为可见的和可选择的,你可以在
适当的边界条件面板中选择它。
例如,你的UDF定义了一个速度入口边界条件,
然后你将在VeloctiyInlet面板里适当的下拉列表中选择你的UDF名字(在你的
C函数中已经定义,如inlet_x_velocity)。
如果你使用你的UDF指定一个单元区域中的一个固定值,你将需要打开
FixedValues选项,并在Fluid或Solid面板的适当下拉列表中选择你的UDF的
名字。
边界条件UDF用DEFINE_PROFILE宏定义。
细节见4.3.5节。
8.2.2
热流量
界条件UDF,这一UDF随之在FLUENT中将成为可见的和可选择的,你将需
要在User-DefinedFunctionHooks面板的WallHeatFluxFunction下拉列表(图
8.1.1)中选择它。
热流量UDF用DEFINE_HEAT_FLUX宏定义。
细节见4.3.3节。
8.2.3Nox产生速率
一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了Nox产
生速率UDF,这一UDF随之在FLUENT中将成为可见的和可选择的,你将需
要在NOxModel面板中User_DefinedFunctions下的NOxRate下拉列表中选择
它,如下所示(图8.2.2)。
Nox产生速率UDF用DEFINE_NOX_RATE宏定义。
细节见4.3.4节。
8.2.4
材料属性
一旦你已经使用7.2节和7.3节中概括的方法之一编译(并连接)了属性定
义UDF,这一UDF随之在FLUENT中将成为可见的和可选择的,你将首先在
Materials面板中适当属性的下拉列表中选择user-defined(图8.2.3)。
然后你需要在User-DefinedFunctions面板中选择希望的UDF(如
cell_viscosity)(图8.2.4)。
!
如果你计划使用一个UDF来定义密度,注意当密度变化增大时,求解收
敛性将变得很差,指定一个可压缩定律(密度为压力的函数)或者多相行为(在
空间变化的密度)可能会导致发散。
建议你将UDF用于密度时限制在只有轻微
密度变化的弱可压缩流动。
材料属性UDF用DEFINE_PROPERTY宏定义。
细节见4.3.6节。
对于用户
定义标量或物质质量扩散率的UDF用DEFINE_DIFFUSIVITY宏定义。
细节见
4.3.2节。
8.2.5
预混燃烧源项
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的预混燃
烧源项UDF,它将随之在FLUENT中是可见的和可选择的。
User-DefinedFunctionHooks面板中的TurbulentPremixedSourceFunction下
拉列表中选择它。
(图8.2.5)
湍流预混速度和源项UDF用DEFINE_TURB_PREMIX_SOURCE宏定义。
更多细节见4.3.10。
8.2.6
反应速率
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的反应速
率UDF,它将随之在FLUENT中是可见的和可选择的。
你将需要在User-Defined
FunctionHooks面板中选择它。
(图8.1.1)
你可以在VolumeReactionRateFunction或SurfaceReactionRateFunction
下拉列表中选择适当的UDF。
表面和容积反应速率UDF用DEFINE_SR_RATE和DEFINE_VR_RATE宏
定义。
更多细节见4.3.9节和4.3.14节。
8.2.7
源项
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的源项UDF,
它将随之在FLUENT中是可见的和可选择的。
你将需要在Fluid或Solid面板中打开SourceTerms选项,并在适当的下拉
列表里选择你的UDF的名字(如cell_x_source)。
(图8.2.6)
对于源项的UDF用DEFINE_SOURCE宏定义。
更多细节见4.3.8节。
8.2.8
时间步进
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的用户时
间步进UDF,它将随之在FLUENT中是可见的和可选择的。
你将首先需要在
Iterate面板中选择时间步进方法TimeSteppingMethod为Adaptive(图8.2.7)。
接着,在AdaptiveTimeStepping下的User_DefinedTimeStep下拉列表中
选择你的UDF的名字(如mydeltat)。
DEFINE_DELTAAT宏用于在时间依赖计算中自定义时间步长。
细节见4.3.1
节。
8.2.9
湍流粘性
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的湍流粘
性UDF用于Spalart-Allmaras、k-e、k-w或LES湍流模型,它将随之在FLUENT
中是可见的和可选择的。
你将需要在ViscousModel面板中User-Defined
Functions下的TurbulanceViscosity下拉列表中激活它(图8.2.8)。
对于湍流粘度的UDF用DEFINE_TURBULENT_VISCOSITY宏定义。
更
多细节见4.3.11节。
8.2.10
用户定义标量的通量
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的UDS通
量UDF,它将随之在FLUENT中是可见的和可选择的。
Scalars面板中激活它(图8.2.9)。
首先在User-DefinedScalars面板中指定Numberofuser-DefinedScales,并
且在FluxFunctions下拉列表中选择适当的UDF。
用户定义标量通量UDF用DEFINE_UDS_FLUX宏定义。
更多细节见4.3.12
8.2.11
用户定义非稳态标量项
一旦你采用7.2节和7.3节中概括的方法之一编译(并连接)了你的非稳态
UDS项UDF,它将随之在FLUENT中是可见的和可选择的。
User-DefinedScalars面板中激活它(图8.2.9)。
首先指定Numberofuser-DefinedScales,然后在UnsteadyFunction下拉列
表中选择适当的UDF。
注意只有已经在Slover面板中指定了非稳态计算后,这
一列表才会出现。
用户定义标量非稳态项UDF用DEFINE_UDS_UNSTEATY宏定义。
更多细
节见4.3.12节。
8.3激活多相UDF
本节包括激活使用4.4节中宏的UDF的方法。
8.3.1气化速率
一旦你已经运用7.2节和7.3节中概括的方法之一编译(并连接)了你的气
化速率UDF,它将随之在FLUENT中成为可见的和可选择的。
你将首先需要通
过在MultiphaseModel面板中选择Cavitation来使能相间质量输运。
然后,在
User-DefinedFunctionHooks面板中的CavitationMassRateFunction下拉列表
中选择UDF的名字(图8.1.1)。
气化速率UDF以DEFINE_CAVITATION宏定义。
更多细节见4.4.1节。
8.3.2
混合物模型的滑移速度
一旦你已经运用7.2节和7.3节中概括的方法之一编译(并连接)了你的自
定义滑移速度UDF,用于多相混合物模型,它将随之在FLUENT中成为可见的
和可选择的。
你将首先需要通过在PhaseInteraction面板中SlipVelocity下的下
拉列表里选择user-defined(图8.3.1)。
然后,在User-DefinedFunctions面板中选择希望的UDF(如slip_velocity)
(图8.3.2)。
多
相
混
合
物
模
型
的
滑
移
速
度
UDF
使
用
DEFINE_VECTOR_EXCHANGE_PROPERTY宏。
更多细节见4.4.3节。
8.3.3
混合物模型的微粒直径
一旦你已经运用7.2节和7.3节中概括的方法之一编译(并连接)了你的微
粒或液滴直径UDF,用于多相混合物模型,它将随之在FLUENT中成为可见的
你将首先需要通过在SecondaryPhase面板中Diameter下拉列表
里选择user-defined(图8.3.3)。
然后,在User-DefinedFunctionHooks面板中的
CavitationMassRateFunction下拉列表中选择UDF的名字(图8.1.1)。
然后,在User-DefinedFunctions面板中选择希望的UDF(如diameter)(图
8.3.4)。
DEFINE_PROPERTY宏用于对微粒或液滴直径提供一种新定义。
更多细节
见4.3.6节。
8.3.4
欧拉模型的拖拉和提升系数
一旦你已经运用7.2节和7.3节中概括的方法之一编译(并连接)了你的拖
拉和提升系数UDF,用于欧拉多相模型,它将随之在FLUENT中成为可见的和
可选择的。
你将首先需要通过在PhaseInteraction面板中DragorLift区域里的
DragCoefficient或LiftCoefficient下拉列表中选择user-defined(图8.3.5)。
然后,在User-DefinedFunctions面板中选择希望的UDF(图8.3.4)。
用于多相欧拉模型的拖拉和提升系数
DEFINE_EXCHANGE_PROPERTY宏定义。
更多细节见4.4.2节。
8.4
本节包括激活中使用4.5节中宏的UDF的方法。
8.4.1DPM体积力
一旦你已经运用7.2节和7.3节中概括的方法之一编译(并连接)了你的离
散相体积力UDF,它将随之在FLUENT中成为可见的和可选择的。
DiscretePhaseModel面板中User-DefinedFunction下的BodyForce下拉列表中
选择UDF的名字(图8.4.1)。
用于DPM的体积力UDF以DEFINE_DPM_BODY_FORCE宏定义。
更多
细节见4.5.1节。
8.4.2DPM的拖拉系数
散相拖拉系数UDF,它将随之在FLUENT中成为可见的和可选择的。
你将需要
在DiscretePhaseModel面板中DragParameters下的DragLaw下拉列表中选
择UDF的名字(图8.4.1)。
DPM的拖拉系数UDF以DEFINE_DPM_BODY_DRAG宏定义。
见4.5.2节。
8.4.3DPM的腐蚀和增长速率
散相DPM的腐蚀和增长速率UDF,它将随之在FLUENT中成为可见的和可选
择的。
你将需要在DiscretePhaseModel面板中User-DefinedFunction下的
Erosion/Accretion下拉列表中选择UDF的名字(图8.4.1)。
DPM的腐蚀和增长速率UDF以DEFINE_DPM_EROSION宏定义。
节见4.5.3节。
8.4.3DPM初始化
散相初始化UDF,它将随之在FLUENT中成为可见的和可选择的。
SetInjectionProperties面板中的UDF区域内,User-DefinedFunctions下的
Initialization下拉列表中选择UDF的名字(图8.4.2)
DPM的初始化UDF以DEFINE_DPM_INJECTION_INIT宏定义。
节见4.5.4节。
8.4.5
用户DPM定律
散相用户定律或转换UDF,它将随之在FLUENT中成为可见的和可选择的。
你
将需要在CustomLaws面板中的适当下拉列表里选择UDF的名字(图8.4.3)。
为打开CustomLaws面板,需要使能SetInjectionProperties面板中Laws下的
Custom选项。
在六种微粒定律左边的下拉列表里,你都可以针对用户定律选择适当的微粒
定律UDF。
第7个下拉列表标记为Switching,能用于改变使用的用户定律。
可以通过在这一下拉列表中选择一个UDF来定制FLUENT在定律之间转换的方
式。
DPM的用户定律UDF用DEFINE_DPM_LAW宏定义。
你可以使用
DEFINE_DPM_SWITCH宏来修改定律之间转换的标准。
更多细节见4.5.5节和
4.5.10节。
8.4.5DPM输出
散相输出UDF,它将随之在FLUENT中成为可见的和可选择的。
SampleTrajectories面板中User-DefinedFunctions下的Output下拉列表中选择
这一UDF的名字(图8.4.4)。
DPM的输出UDF用DEFINE_DPM_OUTPUT宏定义。
更多细节见4.5.6节。
8.4.5DPM材料属性
散相属性UDF,它将随之在FLUENT中成为可见的和可选择的。
Materials面板中适当的属性的下拉列表中选择这一UDF的名字(图8.2.3)。
然后,在User-DefinedFunctions面板中选择希望的UDF。
DPM的属性UDF用DEFINE_DPM_PROPERTY宏定义。
更多细节见4.5.7
8.4.8DPM标量更新
散相标量更新UDF,它将随之在FLUENT中成为可见的和可选择的。
在DiscretePhaseModel面板中User-DefinedFunctions下的ScalarUpdate下拉
列表中选择这一UDF的名字(图8.4.1)你还需要指定