UDF中某截面压力梯度的面积分

该博客讨论如何在UDF中计算某截面1/ρ*dp/dx的压力梯度的面加权平均值,涉及包括密度、压力梯度和坐标相关的计算。
摘要由CSDN通过智能技术生成

UDF中某截面压力梯度的面积分

求解1/ρ*dp/dx的面加权平均值。

#include “udf.h” //包含常用的数据类型以及常用的函数
#include “mem.h” //包含压力、温度、密度等变量的梯度函数
#include “metric.h” //包含与一些坐标相关的函数

DEFINE_ON_DEMAND(on_demand_cal) //on_demand_cal为函数名,用户可自定义
{

real x[ND_ND]; //ND_ND在三维坐标系下求解时为3,二维坐标系求解时为2
real A[ND_ND]; //存储面积向量
Thread *t;

real dp_dx; //压力梯度dp/dx
Domain *d;
real sum_A=0.0,sum_dpx=0.0; //存储截面面积以及dp/dx的面积分
real den,area;//单元密度和面积
real avg=0.0;//存储结果
face_t f;
cell_t c0,c1;//存储与f相邻的两个单元
Thread *tc0=NULL,*tc1=NULL;//存储与f相邻的两个单元线指针
d=Get_Domain(1);//单相流均为1
t=Lookup_Thread(d,11);//获取截面(11为fluent中待处理截面的ID号)所在的线指针
begin_f_loop(f,t)//循环面
{
	tc0=Lookup_Thread(d,8);//一个截面往往连接两个区域(cell zone),但本案例中取的是边界截面,因此只有一个区域(fluent中的cell_zone ID为8)相连
	//tc1=Lookup_Thread(d,8);//若不是边界截面,此时应该填写与之相连的另一个cell_zone 的ID
	c0=F_C0(f,t);//获取当前f的相邻单元
	//c1=F_C1(f,t); //
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值