//U2のとき
for(L=-A;L<=A;L++)
{
for(M=-B;M<=B;M++)
{
for(N=-C;N<=C;N++)
{
x=(2*L+1)*a*cos(Beta)/2; y=M*b+b/2; z=N*c-((2*L+1)*a*sin(Beta))/2;
X=x-Px2; Y=y-Py2; Z=z-Pz2;

r=sqrt((X*X)+(Y*Y)+(Z*Z));

if(r<R){
if(L==0&&M==0&&N==0){
Hdx15=((-ux2/pow(r,3))+3*X*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdy15=((-uy2/pow(r,3))+3*Y*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdz15=((-uz2/pow(r,3))+3*Z*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
}
else if(L==-1&&M==0&&N==0){
Hdx16=((-ux2/pow(r,3))+3*X*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdy16=((-uy2/pow(r,3))+3*Y*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdz16=((-uz2/pow(r,3))+3*Z*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
}
else if(L==0&&M==0&&N==1){
Hdx17=((-ux2/pow(r,3))+3*X*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdy17=((-uy2/pow(r,3))+3*Y*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdz17=((-uz2/pow(r,3))+3*Z*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
}
else if(L==-1&&M==0&&N==1){
Hdx18=((-ux2/pow(r,3))+3*X*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdy18=((-uy2/pow(r,3))+3*Y*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdz18=((-uz2/pow(r,3))+3*Z*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
}
else if(L=-1&&M==0&&N==-1){
Hdx19=((-ux2/pow(r,3))+3*X*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdy19=((-uy2/pow(r,3))+3*Y*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdz19=((-uz2/pow(r,3))+3*Z*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
}
else{

Hdx=((-ux2/pow(r,3))+3*X*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdy=((-uy2/pow(r,3))+3*Y*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));
Hdz=((-uz2/pow(r,3))+3*Z*(ux2*X+uy2*Y+uz2*Z)/pow(r,5));

THDX22=THDX22+Hdx;
THDY22=THDY22+Hdy;
THDZ22=THDZ22+Hdz;

printf("L=%d M=%d N=%d R=%lf\n",L,M,N,r);
}
}
}
}
}

Hdx20=Hdx15+Hdx16+Hdx17+Hdx18+Hdx19;
Hdy20=Hdy15+Hdy16+Hdy17+Hdy18+Hdy19;
Hdz20=Hdz15+Hdz16+Hdz17+Hdz18+Hdz19;

printf("ここまでがlowerのU2の時のL,M,N、それぞれの値\n");

printf("THDX11は%eです。\n",THDX11);
printf("THDY11は%eです。\n",THDY11);
printf("THDZ11は%eです。\n",THDZ11);
printf("THDX12は%eです。\n",THDX12);
printf("THDY12は%eです。\n",THDY12);
printf("THDZ12は%eです。\n",THDZ12);
printf("THDX21は%eです。\n",THDX21);
printf("THDY21は%eです。\n",THDY21);
printf("THDZ21は%eです。\n",THDZ21);
printf("THDX22は%eです。\n",THDX22);
printf("THDY22は%eです。\n",THDY22);
printf("THDZ22は%eです。\n",THDZ22);
printf("\n");

Hdx21=THDX11+THDX12;
Hdy21=THDY11+THDY12;
Hdz21=THDZ11+THDZ12;
Hdx22=THDX21+THDX22;
Hdy22=THDY21+THDY22;
Hdz22=THDZ21+THDZ22;

printf("Hdx21は%eです。\n",Hdx21);
printf("Hdy21は%eです。\n",Hdy21);
printf("Hdz21は%eです。\n",Hdz21);

printf("Hdx22は%eです。\n",Hdx22);
printf("Hdy22は%eです。\n",Hdy22);
printf("Hdz22は%eです。\n",Hdz22);

Hdip1=sqrt((Hdx21*Hdx21)+(Hdy21*Hdy21)+(Hdz21*Hdz21));
Hdip2=sqrt((Hdx22*Hdx22)+(Hdy22*Hdy22)+(Hdz22*Hdz22));

printf("Hdip1は%eです。\n",Hdip1);
printf("Hdip2は%eです。\n",Hdip2);

upper=Hdip1*gamma;
lower=Hdip2*gamma;

printf("upperは%eです。\n",upper);
printf("lowerは%eです。\n",lower);

upper=0; lower=0;
Hdip3=sqrt((Hdx4*Hdx4)+(Hdy4*Hdy4)+(Hdz4*Hdz4)+(Hdx10*Hdx10)+(Hdy10*Hdy10)+(Hdz10*Hdz10));
Hdip4=sqrt((Hdx14*Hdx14)+(Hdy14*Hdy14)+(Hdz14*Hdz14)+(Hdx20*Hdx20)+(Hdy20*Hdy20)+(Hdz20*Hdz20));

printf("抜き出した8個の原子の総合の磁場は、upperの方のHdip3は、%lf、\nlowerの方のHdip4は%lfです。\n",Hdip3,Hdip4);
printf("これらを、また元の結晶に戻した時、\n");

upper=0;lower=0;
Hdip5=sqrt((Hdx21*Hdx21)+(Hdy21*Hdy21)+(Hdz21*Hdz21)+(Hdx4*Hdx4)+(Hdy4*Hdy4)+(Hdz4*Hdz4)+(Hdx10*Hdx10)+(Hdy10*Hdy10)+(Hdz10*Hdz10));
Hdip6=sqrt((Hdx22*Hdx22)+(Hdy22*Hdy22)+(Hdz22*Hdz22)+(Hdx14*Hdx14)+(Hdy14*Hdy14)+(Hdz14*Hdz14)+(Hdx20*Hdx20)+(Hdy20*Hdy20)+(Hdz20*Hdz20));

upper=Hdip5*gamma;
lower=Hdip6*gamma;

printf("upperは%eです。\n",upper);
printf("lowerは%eです。\n",lower);

以上です・・・。

A 回答 (1件)

面倒くさいから見てないけど



× else if(L=-1&&M==0&&N==-1){
○ else if(L== -1&&M==0&&N==-1){

じゃないの?
    • good
    • 0
この回答へのお礼

回答有難うございます!そこも間違っていたかと思ってとりあえず直してみました。
すると解決しました。・・・?理解不足だったのかも知れませんけど関係はあらずはずです。
しかし・・・直りました。有難うございました。

お礼日時:2014/11/10 09:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ