CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > ANSYS > FLUENT

Hello, everyone. I'd like to ask a question about the parallelization of DEFINE_GRID_

Register Blogs Community New Posts Updated Threads Search

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   March 27, 2023, 22:39
Thumbs up Hello, everyone. I'd like to ask a question about the parallelization of DEFINE_GRID_
  #1
New Member
 
rabbit-sun
Join Date: Mar 2023
Posts: 1
Rep Power: 0
rabbit_1 is on a distinguished road
#include "udf.h"
#include <stdio.h>
#include "dynamesh_tools.h"
static int thread_I=13;
#define NUM_USED_UDM 7


DEFINE_GRID_MOTION(cshadow, domain, dt, time, dtime)
{

#if !RP_HOST
Thread *tf = DT_THREAD(dt);
Thread *tf_shadow = THREAD_SHADOW(tf);
Thread *t2,*t0;
Node *v;
face_t face,f,f_shadow;
cell_t c2,cell,c0;
real tui,tui1,tui2,e1,midu,p;
real ee,ee1;
real area,wall_shear_force;
real ct0,ct1,x,reliu,wendu;
real NV_VEC(V), NV_VEC(A);
int n,i=0,j=0;

SET_DEFORMING_THREAD_FLAG (THREAD_T0 (tf)); // set deforming flag on adjacent cell zone


begin_f_loop(f, tf)
{
if(PRINCIPAL_FACE_P(f,tf))
{
f_shadow=F_SHADOW(f,tf); /*get the corresponding face in the shadow thread */
ct0=C_T(F_C0(f,tf),THREAD_T0(tf));
p=C_P(F_C0(f,tf),THREAD_T0(tf));
ct1=C_T(F_C0(f_shadow,tf_shadow),THREAD_T0(tf_shad ow));//固体侧温度
F_AREA(A,f,tf);
reliu=-1.0*BOUNDARY_HEAT_FLUX(f,tf)/NV_MAG(A);

f_node_loop(f, tf, n)
{
v=F_NODE(f, tf, n);

if(NODE_POS_NEED_UPDATE(v))
{
NODE_POS_UPDATED(v);

//异相化学反应:r=(A*T的0次方*e幂(-E/RT)Pj的0.5次方)/midu,j是氧化物组分co2和h20
//tui=1500*pow(2.718,-290000/8.314/ct1)*pow(p*F_YI(f,tf,0)/18,0.5)/2000+28.3*pow(2.718,-280000/8.314/ct1)*pow(p*F_YI(f,tf,1)/44,0.5)/2000;温度指的是壁温
if(C_YI(F_C0(f,tf),THREAD_T0(tf),2)>0.0&&time<=4) //C_YI(c,t,i):species mass fraction宏,此处表示有co(i=2)生成时,开始计算壁面退移速率
{
tui1=0.75*pow(2.718,(-34880.92/ct1))*pow((p*C_YI(F_C0(f,tf),THREAD_T0(tf),0)/18.0),0.5)+0.01415*pow(2.718,(-33678.133/ct1))*pow((p*C_YI(F_C0(f,tf),THREAD_T0(tf),1)/44.0),0.5);
if(NODE_X(v)>0.124) //本案例对机械侵蚀发生区域进行限制(忽略收敛段的机械侵蚀,只考虑扩张段机械侵蚀)
{
ee=1.0*NODE_Y(v);
ee1=-1.0*pow(1.0*27.3399/23.7052,2)+1000000*ee*ee/pow(1.0*23.7052,2);//计算截面膨胀比与喷吼出口膨胀比之差
tui2=1.5*pow(ee1,0.49)*pow(2.718,-1.0*ee1)*0.001;//机械侵蚀计算公式
}
tui=tui1+tui2;
NODE_Y(v)=NODE_Y(v)+(tui1+tui2)*dtime;
}

else
{
tui=0.0;
NODE_Y(v)=NODE_Y(v)+tui*dtime;
}
}
}
C_UDMI(F_C0(f,tf),THREAD_T0(tf),2)=reliu;
C_UDMI(F_C0(f,tf),THREAD_T0(tf),3)=ct1; //存储固体侧温度
C_UDMI(F_C0(f,tf),THREAD_T0(tf),4)=ct0-ct1; //存储流体和固体侧温度差
C_UDMI(F_C0(f,tf),THREAD_T0(tf),5)=tui*1000.0;
}
}
end_f_loop(f, tf)
#endif
}

DEFINE_GRID_MOTION(c, domain, dt, time, dtime) //加载在画网格时建立的wall上 固体
{

#if !RP_HOST
Thread *tf=Lookup_Thread(domain, thread_I); //thread_I获取流体侧线指针
Thread *tf_shadow = THREAD_SHADOW(tf); //然后把指针传给固体,控制固体侧节点移动
Thread *t2,*t0;
Node *v;
Node *v_shadow;
face_t face,f,f_shadow;
cell_t c2,cell,c0;
real A[ND_ND];
real tui,tui1,tui2,ct1,ct0,p,ee,ee1;
int n,i=0;

SET_DEFORMING_THREAD_FLAG (THREAD_T0 (tf_shadow));

begin_f_loop(f, tf)
{
if(PRINCIPAL_FACE_P(f,tf))
{
p=C_P(F_C0(f,tf),THREAD_T0(tf));
f_shadow=F_SHADOW(f,tf);
ct0=C_T(F_C0(f,tf),THREAD_T0(tf));
ct1=C_T(F_C0(f_shadow,tf_shadow),THREAD_T0(tf_shad ow));

f_node_loop(f_shadow, tf_shadow, n)
{
v_shadow = F_NODE (f_shadow,tf_shadow, n);

if(NODE_POS_NEED_UPDATE(v_shadow))
{
NODE_POS_UPDATED(v_shadow);

if(C_YI(F_C0(f,tf),THREAD_T0(tf),2)>0.0&&time<=4)
{

tui1=0.75*pow(2.718,(-34880.92/ct1))*sqrt(p*C_YI(F_C0(f,tf),THREAD_T0(tf),0)/18.0)+0.01415*pow(2.718,(-33678.133/ct1))*sqrt(p*C_YI(F_C0(f,tf),THREAD_T0(tf),1)/44.0);
if(NODE_X(v_shadow)>0.124) //本案例对机械侵蚀发生区域进行限制(忽略收敛段的机械侵蚀,只考虑扩张段机械侵蚀)
{
ee=1.0*NODE_Y(v_shadow);
ee1=-1.0*pow(27.3399/23.7052,2)+1000000*ee*ee/pow(23.7052,2);//计算截面膨胀比与喷吼出口膨胀比之差
tui2=1.5*pow(ee1,0.49)*pow(2.718,-1.0*ee1)*0.001;//机械侵蚀计算公式
}

NODE_Y(v_shadow)=NODE_Y(v_shadow)+(tui1+tui2)*dtim e;
}

else
{
tui=0.0;
NODE_Y(v_shadow)=NODE_Y(v_shadow)+tui*dtime;
}
}
}
}
}
end_f_loop(f, tf)
#endif
}

Can you help me see what's wrong with this udf parallelization? Thank you very much!
rabbit_1 is offline   Reply With Quote

 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Question about symmetry in Autodesk Cfd 2016 ecto Autodesk Simulation CFD 0 October 20, 2015 04:16
small question about the functionalities of topological changes in OpenFoam ngj OpenFOAM Running, Solving & CFD 2 February 28, 2013 10:02
Question Re Engineering Data Source imnull ANSYS 0 March 5, 2012 13:51
internal field question - PitzDaily Case atareen64 OpenFOAM Running, Solving & CFD 2 January 26, 2011 15:26
Poisson Solver question Suresh Main CFD Forum 3 August 12, 2005 04:37


All times are GMT -4. The time now is 09:36.