📄 nf.cpp
字号:
Jmyf[loop1][loop2].zhengfu=0; Jmyf[loop1][loop2].xiangwei=0;
Jmyb[loop1][loop2].zhengfu=0; Jmyb[loop1][loop2].xiangwei=0;
}
for(loop1=0;loop1<Ny-2*NNN-2*DDD+1;loop1++)
for(loop2=0;loop2<Nz-2*NNN-2*DDD;loop2++)
{
Jzf[loop1][loop2].zhengfu=0; Jzf[loop1][loop2].xiangwei=0;
Jzb[loop1][loop2].zhengfu=0; Jzb[loop1][loop2].xiangwei=0;
Jmzf[loop1][loop2].zhengfu=0; Jmzf[loop1][loop2].xiangwei=0;
Jmzb[loop1][loop2].zhengfu=0; Jmzb[loop1][loop2].xiangwei=0;
}
}
void waitui(int M)
{
int i,j,k,loop1,loop2;
float tt1,tt2,Esita,Efai,cansh1,cansh2,cansh3;
struct ff
{float shi;float xu;};
struct ff fx,fy,fz,fmx,fmy,fmz;
fx.shi=0;fx.xu=0;
fy.shi=0;fy.xu=0;
fz.shi=0;fz.xu=0;
fmx.shi=0;fmx.xu=0;
fmy.shi=0;fmy.xu=0;
fmz.shi=0;fmz.xu=0;
cansh1=2*pi*f/c*dx;cansh2=2*pi*f/c*dy;cansh3=2*pi*f/c*dz;
loop1=90;loop2=M;
for(loop1=0;loop1<180;loop1++)
{
for(i=NNN+DDD;i<Nx-NNN-DDD;i++) //上面y向电磁场
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++)
{
fx.shi-=Jxu[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jxu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fx.xu-=Jxu[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jxu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmx.shi+=Jmxu[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jmxu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmx.xu+=Jmxu[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jmxu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
}
for(i=NNN+DDD;i<Nx-NNN-DDD;i++) //下面y向电磁场
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++)
{
fx.shi+=Jxd[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jxd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fx.xu+=Jxd[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jxd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmx.shi-=Jmxd[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jmxd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmx.xu-=Jmxd[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jmxd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
}
for(i=NNN+DDD;i<Nx-NNN-DDD;i++) //右面z向电磁场
for(k=NNN+DDD;k<=Nz-NNN-DDD;k++)
{
fx.shi+=Jxr[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jxr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fx.xu+=Jxr[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jxr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmx.shi-=Jmxr[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmxr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmx.xu-=Jmxr[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmxr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
}
for(i=NNN+DDD;i<Nx-NNN-DDD;i++) //左面y向电磁场
for(k=NNN+DDD;k<=Nz-NNN-DDD;k++)
{
fx.shi-=Jxl[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jxl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fx.xu-=Jxl[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jxl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmx.shi+=Jmxl[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmxl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmx.xu+=Jmxl[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmxl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
}
for(i=NNN+DDD;i<=Nx-NNN-DDD;i++) //上面x向电磁场
for(j=NNN+DDD;j<Ny-NNN-DDD;j++)
{
fy.shi+=Jyu[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jyu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fy.xu+=Jyu[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jyu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmy.shi-=Jmyu[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jmyu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmy.xu-=Jmyu[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jmyu[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(Nz/2-NNN-DDD)*co[loop1]);
}
for(i=NNN+DDD;i<=Nx-NNN-DDD;i++) //下面x向电磁场
for(j=NNN+DDD;j<Ny-NNN-DDD;j++)
{
fy.shi-=Jyd[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jyd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fy.xu-=Jyd[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jyd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmy.shi+=Jmyd[i-NNN-DDD][j-NNN-DDD].zhengfu*cos(-Jmyd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
fmy.xu+=Jmyd[i-NNN-DDD][j-NNN-DDD].zhengfu*sin(-Jmyd[i-NNN-DDD][j-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]-cansh3*(Nz/2-NNN-DDD)*co[loop1]);
}
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++) //后面z向电磁场
for(k=NNN+DDD;k<Nz-NNN-DDD;k++)
{
fy.shi-=Jyf[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jyb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fy.xu-=Jyf[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jyb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmy.shi+=Jmyf[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmyb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmy.xu+=Jmyf[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmyb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
}
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++) //前面z向电磁场
for(k=NNN+DDD;k<Nz-NNN-DDD;k++)
{
fy.shi+=Jyb[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jyf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fy.xu+=Jyb[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jyf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmy.shi-=Jmyb[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmyf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmy.xu-=Jmyb[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmyf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
}
for(i=NNN+DDD;i<Nx-NNN-DDD;i++) //右面x向电磁场
for(k=NNN+DDD;k<=Nz-NNN-DDD;k++)
{
fz.shi-=Jzr[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jzr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fz.xu-=Jzr[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jzr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmz.shi+=Jmzr[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmzr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmz.xu+=Jmzr[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmzr[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]+cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
}
for(i=NNN+DDD;i<Nx-NNN-DDD;i++) //左面x向电磁场
for(k=NNN+DDD;k<=Nz-NNN-DDD;k++)
{
fz.shi+=Jzl[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jzl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fz.xu+=Jzl[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jzl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmz.shi-=Jmzl[i-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmzl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmz.xu-=Jmzl[i-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmzl[i-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(i+0.5-Nx/2.0)*si[loop1]*co[loop2]-cansh2*(Ny/2-NNN-DDD)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
}
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++) //后面z向电磁场
for(k=NNN+DDD;k<Nz-NNN-DDD;k++)
{
fz.shi+=Jzf[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jzb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fz.xu+=Jzf[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jzb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmz.shi-=Jmzf[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmzb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmz.xu-=Jmzf[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmzb[j-NNN-DDD][k-NNN-DDD].xiangwei+cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
}
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++) //前面z向电磁场
for(k=NNN+DDD;k<Nz-NNN-DDD;k++)
{
fz.shi-=Jzb[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jzf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fz.xu-=Jzb[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jzf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k+0.5-Nz/2.0)*co[loop1]);
fmz.shi+=Jmzb[j-NNN-DDD][k-NNN-DDD].zhengfu*cos(-Jmzf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
fmz.xu+=Jmzb[j-NNN-DDD][k-NNN-DDD].zhengfu*sin(-Jmzf[j-NNN-DDD][k-NNN-DDD].xiangwei-cansh1*(Nx/2-NNN-DDD)*si[loop1]*co[loop2]+cansh2*(j+0.5-Ny/2.0)*si[loop1]*si[loop2]+cansh3*(k-Nz/2.0)*co[loop1]);
}
tt1=120*pi*(fx.shi*co[loop1]*co[loop2]+fy.shi*co[loop1]*si[loop2]-fz.shi*si[loop1])+(-fmx.shi*si[loop2]+fmy.shi*co[loop2]);
tt2=120*pi*(fx.xu*co[loop1]*co[loop2]+fy.xu*co[loop1]*si[loop2]-fz.xu*si[loop1])+(-fmx.xu*si[loop2]+fmy.xu*co[loop2]);
Esita=sqrt(tt1*tt1+tt2*tt2);
if(loop1==0)
{fxhs1.sita.shi=tt1;fxhs1.sita.xu=tt2;}
tt1=120*pi*(fx.shi*si[loop2]-fy.shi*co[loop2])+(fmx.shi*co[loop1]*co[loop2]+fmy.shi*co[loop1]*si[loop2]-fmz.shi*si[loop1]);
tt2=120*pi*(fx.xu*si[loop2]-fy.xu*co[loop2])+(fmx.xu*co[loop1]*co[loop2]+fmy.xu*co[loop1]*si[loop2]-fmz.xu*si[loop1]);
Efai=sqrt(tt1*tt1+tt2*tt2);
if(loop1==0)
{fxhs1.fai.shi=tt1;fxhs1.fai.xu=tt2;}
if(fxhs[loop1].shi<sqrt(Esita*Esita+Efai*Efai))
fxhs[loop1].shi=sqrt(Esita*Esita+Efai*Efai);
fx.shi=0;fx.xu=0;
fy.shi=0;fy.xu=0;
fmx.shi=0;fmx.xu=0;
fmy.shi=0;fmy.xu=0;
fz.shi=0;fz.xu=0;
fmz.shi=0;fmz.xu=0;
}
printf("%d\n",loop1);
}
void cal_J(int M)
{ FILE *out;
int i,j,k,loop1=0,loop2=0;
for(i=NNN+DDD;i<Nx-NNN-DDD;i++)
{
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++)
{
if((Hyz[i][j][Nz-NNN-DDD-1]+Hyz[i][j][Nz-NNN-DDD])/2.0>Jxu[loop1][loop2].zhengfu)
{Jxu[loop1][loop2].zhengfu=(Hyz[i][j][Nz-NNN-DDD-1]+Hyz[i][j][Nz-NNN-DDD])/2.0;Jxu[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if((Hyz[i][j][NNN+DDD-1]+Hyz[i][j][NNN+DDD])/2.0>Jxd[loop1][loop2].zhengfu)
{Jxd[loop1][loop2].zhengfu=(Hyz[i][j][NNN+DDD-1]+Hyz[i][j][NNN+DDD])/2.0;Jxd[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Eyz[i][j][Nz-NNN-DDD]>Jmxu[loop1][loop2].zhengfu)
{Jmxu[loop1][loop2].zhengfu=Eyz[i][j][Nz-NNN-DDD];Jmxu[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Eyz[i][j][NNN+DDD]>Jmxd[loop1][loop2].zhengfu)
{Jmxd[loop1][loop2].zhengfu=Eyz[i][j][NNN+DDD];Jmxd[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
loop2++;
}
loop1++;loop2=0;
}
loop1=0;loop2=0;
/******************************************************************/
for(i=NNN+DDD;i<Nx-NNN-DDD;i++)
{
for(k=NNN+DDD;k<=Nz-NNN-DDD;k++)
{
if((Hzx[i][Ny-NNN-DDD-1][k]+Hzx[i][Ny-NNN-DDD][k])/2.0>Jxr[loop1][loop2].zhengfu)
{Jxr[loop1][loop2].zhengfu=(Hzx[i][Ny-NNN-DDD-1][k]+Hzx[i][Ny-NNN-DDD][k])/2.0;Jxr[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Ezx[i][Ny-NNN-DDD][k]>Jmxr[loop1][loop2].zhengfu)
{Jmxr[loop1][loop2].zhengfu=Ezx[i][Ny-NNN-DDD][k];Jmxr[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if((Hzx[i][NNN+DDD-1][k]+Hzx[i][NNN+DDD][k])/2.0>Jxl[loop1][loop2].zhengfu)
{Jxl[loop1][loop2].zhengfu=(Hzx[i][NNN+DDD-1][k]+Hzx[i][NNN+DDD][k])/2.0;Jxl[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Ezx[i][NNN+DDD][k]>Jmxl[loop1][loop2].zhengfu)
{Jmxl[loop1][loop2].zhengfu=Ezx[i][NNN+DDD][k];Jmxl[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
loop2++;
}
loop1++;loop2=0;
}
loop1=0;loop2=0;
/******************************************************************/
for(i=NNN+DDD;i<Nx-NNN-DDD;i++)
{
for(k=NNN+DDD;k<=Nz-NNN-DDD;k++)
{
if((Hxy[i][Ny-NNN-DDD-1][k]+Hxy[i][Ny-NNN-DDD][k])/2.0>Jzr[loop1][loop2].zhengfu)
{Jzr[loop1][loop2].zhengfu=(Hxy[i][Ny-NNN-DDD-1][k]+Hxy[i][Ny-NNN-DDD][k])/2.0;Jzr[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Exy[i][Ny-NNN-DDD][j]>Jmzr[loop1][loop2].zhengfu)
{Jmzr[loop1][loop2].zhengfu=Exy[i][Ny-NNN-DDD][k];Jmzr[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if((Hxy[i][NNN+DDD-1][k]+Hxy[i][NNN+DDD][k])/2.0>Jzl[loop1][loop2].zhengfu)
{Jzl[loop1][loop2].zhengfu=(Hxy[i][NNN+DDD-1][k]+Hxy[i][NNN+DDD][k])/2.0;Jzl[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Exy[i][NNN+DDD][k]>Jmzl[loop1][loop2].zhengfu)
{Jmzl[loop1][loop2].zhengfu=Exy[i][NNN+DDD][k];Jmzl[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
loop2++;
}
loop1++;loop2=0;
}
loop1=0;loop2=0;
/******************************************************************/
for(i=NNN+DDD;i<=Nx-NNN-DDD;i++)
{
for(j=NNN+DDD;j<Ny-NNN-DDD;j++)
{
if((Hxy[i][j][Nz-NNN-DDD-1]+Hxy[i][j][Nz-NNN-DDD])/2.0>Jyu[loop1][loop2].zhengfu)
{Jyu[loop1][loop2].zhengfu=(Hxy[i][j][Nz-NNN-DDD-1]+Hxy[i][j][Nz-NNN-DDD])/2.0;Jyu[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Exy[i][j][Nz-NNN-DDD]>Jmyu[loop1][loop2].zhengfu)
{Jmyu[loop1][loop2].zhengfu=Exy[i][j][Nz-NNN-DDD];Jmyu[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if((Hxy[i][j][NNN+DDD-1]+Hxy[i][j][NNN+DDD])/2.0>Jyd[loop1][loop2].zhengfu)
{Jyd[loop1][loop2].zhengfu=(Hxy[i][j][NNN+DDD-1]+Hxy[i][j][NNN+DDD])/2.0;Jyd[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Exy[i][j][NNN+DDD]>Jmyd[loop1][loop2].zhengfu)
{Jmyd[loop1][loop2].zhengfu=Exy[i][j][NNN+DDD];Jmyd[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
loop2++;
}
loop1++;loop2=0;
}
loop1=0;loop2=0;
/******************************************************************/
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++)
{
for(k=NNN+DDD;k<Nz-NNN-DDD;k++)
{
if((Hzx[Nx-NNN-DDD-1][j][k]+Hzx[Nx-NNN-DDD][j][k])/2.0>Jyf[loop1][loop2].zhengfu)
{Jyf[loop1][loop2].zhengfu=(Hzx[Nx-NNN-DDD-1][j][k]+Hzx[Nx-NNN-DDD][j][k])/2.0;Jyf[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Ezx[Nx-NNN-DDD][j][k]>Jmyf[loop1][loop2].zhengfu)
{Jmyf[loop1][loop2].zhengfu=Ezx[Nx-NNN-DDD][j][k];Jmyf[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if((Hzx[NNN+DDD-1][j][k]+Hzx[NNN+DDD][j][k])/2.0>Jyb[loop1][loop2].zhengfu)
{Jyb[loop1][loop2].zhengfu=(Hzx[NNN+DDD-1][j][k]+Hzx[NNN+DDD][j][k])/2.0;Jyb[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Ezx[NNN+DDD][j][k]>Jmyb[loop1][loop2].zhengfu)
{Jmyb[loop1][loop2].zhengfu=Ezx[NNN+DDD][j][k];Jmyb[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
loop2++;
}
loop1++;loop2=0;
}
loop1=0;loop2=0;
/******************************************************************/
for(j=NNN+DDD;j<=Ny-NNN-DDD;j++)
{
for(k=NNN+DDD;k<Nz-NNN-DDD;k++)
{
if((Hyz[Nx-NNN-DDD-1][j][k]+Hyz[Nx-NNN-DDD][j][k])/2.0>Jzf[loop1][loop2].zhengfu)
{Jzf[loop1][loop2].zhengfu=(Hyz[Nx-NNN-DDD-1][j][k]+Hyz[Nx-NNN-DDD][j][k])/2.0;Jzf[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Eyz[Nx-NNN-DDD][j][k]>Jmzf[loop1][loop2].zhengfu)
{Jmzf[loop1][loop2].zhengfu=Eyz[Nx-NNN-DDD][j][k];Jmzf[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if((Hyz[NNN+DDD-1][j][k]+Hyz[NNN+DDD][j][k])/2.0>Jzb[loop1][loop2].zhengfu)
{Jzb[loop1][loop2].zhengfu=(Hyz[NNN+DDD-1][j][k]+Hyz[NNN+DDD][j][k])/2.0;Jzb[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
if(Eyz[NNN+DDD][j][k]>Jmzb[loop1][loop2].zhengfu)
{Jmzb[loop1][loop2].zhengfu=Eyz[NNN+DDD][j][k];Jmzb[loop1][loop2].xiangwei=(M-NN+60)/60.0*2.0*pi;}
loop2++;
}
loop1++;loop2=0;
}
loop1=0;loop2=0;
}
void fangxiangtu()
{
int i,j,k;
FILE *fp;
waitui(0);
{
if ((fp=fopen("fai0","w"))==NULL)
{printf("cannot open outfile\n");
goto end;
}
else
{ for(j=0;j<=180;j++)
fprintf(fp,"%f\n",sqrt(fxhs[j].shi*fxhs[j].shi+fxhs[j].xu*fxhs[j].xu));
fprintf(fp,"\n\n\n\n");
}
}
fclose(fp);
waitui(90);
{
if ((fp=fopen("fai90","w"))==NULL)
{printf("cannot open outfile\n");
goto end;
}
else
{ for(j=0;j<=180;j++)
fprintf(fp,"%f\n",sqrt(fxhs[j].shi*fxhs[j].shi+fxhs[j].xu*fxhs[j].xu));
fprintf(fp,"\n\n\n\n");
}
}
fclose(fp);
end:;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -