fluent UDF Manual里面DEFINE_PROPERTY 的 Example 4 - Density Function for Compressible Liquids,定义可压缩液体的密度,请问这个UDF里面的密度和声速公式源自哪里?UDF程序里面的声速公式好像和前面提到的 声速=(压力对密度偏导数的开方)不太一样,为什么?另外,使用这个udf时 初始化选择区域就会提示错误,但是如果按面板里面的值进行初始化,也能计算的,不清楚原因。
附 Example 4 - Density Function for Compressible Liquids的原文如下:
Liquid density is not a constant but is instead a function of the pressure field. In order to stabilize the pressure solution for compressible flows in FLUENT, an extra term related to the speed of sound is needed in the pressure correction equation. Consequently, when you want to define a custom density function for a compressible flow, your model must also include a speed of sound function. Although you can direct FLUENT to calculate a speed of sound function by choosing one of the available methods (e.g., piecewise-linear, polynomial) in the Materials panel, as a general guideline you should define a speed of sound function along with your density UDF using the formulation:
(压力对密度偏导数的开方)(不能输入公式,只好文字表达)
For simplicity, it is recommended that you concatenate the density and speed of sound functions into a single UDF source file.
The following UDF source code example contains two concatenated functions: a density function named superfluid_density that is defined in terms of pressure and a custom speed of sound function named sound_speed .
/********************************************************************
Density and speed of sound UDFs for compressible liquid flows.
For use with pressure-based solver, for single phase, multiphase mixture
or cavitation models only.
Note that for density function, dp is the difference between a cell
absolute pressure and reference pressure.
*********************************************************************/
#include "udf.h"
#define BMODULUS 2.2e9
#define rho_ref 1000.0
#define p_ref 101325
DEFINE_PROPERTY(superfluid_density, c, t)
{
real rho;
real p, dp;
real p_operating;
p_operating = RP_Get_Real ("operating-pressure" ;
p = C_P(c,t) + p_operating;
dp = p-p_ref;
rho = rho_ref/(1.0-dp/BMODULUS);
return rho;
}
DEFINE_PROPERTY(sound_speed, c,t)
{
real a;
real p, dp,p_operating;
p_operating = RP_Get_Real ("operating-pressure" ;
p = C_P(c,t) + p_operating;
dp = p-p_ref;
a = (1.-dp/BMODULUS)*sqrt(BMODULUS/rho_ref);
return a;
}
![fluent udf帮助文件里面可压缩液体的计算公式源自哪里?]()
![fluent udf帮助文件里面可压缩液体的计算公式源自哪里?-1]()
udf manual里面的声速公式.gif |