CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   FLUENT (https://www.cfd-online.com/Forums/fluent/)
-   -   for help about gradient of UDM (https://www.cfd-online.com/Forums/fluent/40770-help-about-gradient-udm.html)

Hanxsi April 28, 2006 01:42

for help about gradient of UDM
 
my programe as folows, it can be compiled but can not work.it is the message form the FLUENT the Error: FLUENT received fatal signal (ACCESS_VIOLATION) 1. Note exact events leading to error. 2. Save case/data under new name. 3. Exit program and restart to continue. 4. Report error to your distributor. Error Object: ()

any suggestions and advisor is appreciated. please help me,thanks a lot!

#include "udf.h" #define ANM 8

void calgra(int indx,cell_t c,Thread *thread) {

Thread *tf,*t1;

face_t f;

cell_t c1;

real x[ND_ND],detx,dety;

real dxdx,dydy,dxdy,dvardx,dvardy;

real varx,vary,undervar;

real adjac[ANM][2],adjvar[ANM];

int i,j,k,m;

int n;

for(i=0;i<ANM;i++)

for(j=0;j<2;j++){

adjac[i][j]=0.;adjvar[i]=0.;

}

C_CENTROID(x,c,thread);

adjac[0][0]=x[0];

adjac[0][1]=x[1];

adjvar[0]=C_UDMI(c,thread,indx);

k=1;

c_face_loop(c,thread,n)

{

f=C_FACE(c,thread,n);

tf=C_FACE_THREAD(c,thread,n);

if(NULL!=F_C1_THREAD(f,tf))

{

t1=F_C1_THREAD(f,tf);

c1=F_C1(f,tf);

C_CENTROID(x,c1,t1);

adjac[k][0]=x[0];

adjac[k][1]=x[1];

adjvar[k]=C_UDMI(c1,t1,indx);

k++;

}

}

dxdx=0.;dydy=0.;dxdy=0.;

dvardx=0.;dvardy=0.;

for(m=1;m<k;m++)

{

dxdx+=(adjac[m][0]-adjac[0][0])*(adjac[m][0]-adjac[0][0]);

dydy+=(adjac[m][1]-adjac[0][1])*(adjac[m][1]-adjac[0][1]);

dxdy+=(adjac[m][0]-adjac[0][0])*(adjac[m][1]-adjac[0][1]);

dvardx+=(adjac[m][0]-adjac[0][0])*(adjvar[m]-adjvar[0]);

dvardy+=(adjac[m][1]-adjac[0][1])*(adjvar[m]-adjvar[0]);

}

undervar=dxdx*dydy-dxdy*dxdy;

varx=dvardx*dydy-dvardy*dxdy;

vary=dvardy*dxdx-dvardx*dxdy;

C_UDMI(c,thread,1)=varx/undervar;

C_UDMI(c,thread,2)=vary/undervar; }


All times are GMT -4. The time now is 05:20.