将下列Fortran代码转化成C代码 SUBROUTINE DSMATnewDSPDSANGLEEP0EEYMVVPREP00DKKDNN + ESSESN IMPLICIT REAL8A-HO-Z DIMENSION DS33PDS33 DIMENSION DLP33DLK33 EPA1=DNN
#include <math.h>
void DSMATnew(double DS[3][3], double PDS[3][3], double ANGLE, double EP0, double EEYM, double VVPR, double EP00, double DKK, double DNN, double ESS, double &ESN) { double EPA1 = DNN; ESN = pow(ESS / DKK, 1 / DNN); double EULY0, PC; if (EP0 <= ESN) { EULY0 = DKK * pow(ESN, DNN); PC = EULY0 / ESN; } if (EP0 > ESN && EP0 < EPA1) { EULY0 = DKK * pow(EP00 + EP0, DNN); PC = EULY0 / EP0; } if (EP0 >= EPA1) { double PP = 0.2 / (DNN + 1 - 0.3); double PCA = DKK * pow(EPA1, DNN) / EPA1; double PCN = DKK * pow(EP00 + EP0, DNN) / EP0; PC = (PCA + 2.5 * PCN) / (PP + 2.5); } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { DS[i][j] = PC * PDS[i][j]; } }
原文地址: https://www.cveoy.top/t/topic/fg3D 著作权归作者所有。请勿转载和采集!