转换成C代码 NN4=0 DO KLL=1KK-1 NN4=NN4+LDBKLL ENDDO IFIKEQ1 THEN AL=DSQRTALX1-BBXALX1-BBX+ALY1-BBYALY1-BBY XL=DBX2KK-DBX1KK YL=DBY2KK-DBY1KK
int NN4 = 0; for(int KLL = 0; KLL < KK-1; KLL++){ NN4 += LDB[KLL]; } if(IK == 1){ double AL = sqrt(pow((ALX1-BBX),2) + pow((ALY1-BBY),2)); double XL = DBX2[KK] - DBX1[KK]; double YL = DBY2[KK] - DBY1[KK]; double ZL = DBZ2[KK] - DBZ1[KK]; double XYL = sqrt(pow(XL,2) + pow(YL,2)) + 1.0e-50; double TAN = sqrt(1.0 + pow(ZL,2)/pow(XYL,2)); AL = TAN * AL; double FORCE1; if(NTT3 != NTT4) FORCE1 = AL * DBF[KK] / 4.0; if(NTT3 == NTT4) FORCE1 = AL * DBF[KK] / 3.0; FIDB[NN4+1] += FORCE1; FIDB[NN4+2] += FORCE1; FIDB[NN4+3] += FORCE1; if(NTT3 != NTT4) FIDB[NN4+4] += FORCE1; LIDB[NN4+1] = IIDBX1[KK][0]; LIDB[NN4+2] = IIDBX1[KK][1]; LIDB[NN4+3] = IIDBX1[KK][2]; if(NTT3 != NTT4) LIDB[NN4+4] = IIDBX1[KK][3]; int II1 = IIDBX1[KK][0]; int II2 = IIDBX1[KK][1]; int II3 = IIDBX1[KK][2]; int II4 = IIDBX1[KK][3]; if(IXXX[II1] == 1 || IXXX[II1] == 2) IXXX[II1] = 5; if(IXXX[II1] == 3) IXXX[II1] = 4; if(IXXX[II2] == 1 || IXXX[II2] == 2) IXXX[II2] = 5; if(IXXX[II2] == 3) IXXX[II2] = 4; if(IXXX[II3] == 1 || IXXX[II3] == 2) IXXX[II3] = 5; if(IXXX[II3] == 3) IXXX[II3] = 4; if(IXXX[II4] == 1 || IXXX[II4] == 2) IXXX[II4] = 5; if(IXXX[II4] == 3) IXXX[II4] = 4; } if(IK == 2){ double AL = sqrt(pow((ALX2-BBX),2) + pow((ALY2-BBY),2)); double XL = DBX2[KK] - DBX1[KK]; double YL = DBY2[KK] - DBY1[KK]; double ZL = DBZ2[KK] - DBZ1[KK]; double XYL = sqrt(pow(XL,2) + pow(YL,2)) + 1.0e-50; double TAN = sqrt(1.0 + pow(ZL,2)/pow(XYL,2)); AL = TAN * AL; double FORCE2; if(NTT3 != NTT4) FORCE2 = AL * DBF[KK] / 4.0; if(NTT3 == NTT4) FORCE2 = AL * DBF[KK] / 3.0; } goto 106
原文地址: https://www.cveoy.top/t/topic/hrM9 著作权归作者所有。请勿转载和采集!