#include <stdio.h> #include <math.h>

#define NK 4

void Flange(FILE *LI, int LI, int IIII[][NK], double X0[], double Y0[], double Z0[], int L0, int NE, double CORNX, double CORNY, double ZNMIN) { int I, II; double XX0, YY0, ZZ0, XNI, YNI, ZNI, SINOX, COSOX, SINOY, COSOY; char ELEM3[7] = 'CTRIA3'; char ELEM4[7] = 'CQUAD4';

SINOY = -sin(-CORNY);
COSOY = cos(-CORNY);

SINOX = -sin(-CORNX);
COSOX = cos(-CORNX);

fprintf(LI, '$ToTheFuture/XForming\n');
MMTIME1(LI);
fprintf(LI, '$NUMBER OF NODES AND ELEMENTS\n');
fprintf(LI, ',      %d%10d\n', L0, NE);

for (II = 1; II <= NE; II++) {
    if (IIII[II][2] == IIII[II][3] || IIII[II][3] == 0) {
        fprintf(LI, "%s%10d%8d%8d%8d\n", ELEM3, II, 1, IIII[II][0], IIII[II][1], IIII[II][2]);
    } else {
        fprintf(LI, "%s%10d%8d%8d%8d%8d\n", ELEM4, II, 1, IIII[II][0], IIII[II][1], IIII[II][2], IIII[II][3]);
    }
}

for (I = 0; I < L0; I++) {
    XX0 = X0[I];
    YY0 = Y0[I];
    ZZ0 = Z0[I] + ZNMIN;

    XNI = COSOY * XX0 - SINOY * ZZ0;
    ZNI = SINOY * XX0 + COSOY * ZZ0;
    XX0 = XNI;
    ZZ0 = ZNI;

    YNI = COSOX * YY0 + SINOX * ZZ0;
    ZNI = -SINOX * YY0 + COSOX * ZZ0;
    YY0 = YNI;
    ZZ0 = ZNI;

    fprintf(LI, "GRID*   %16d%16d%16.9E%16.9E   N%6d\n", I + 1, 0, XX0, YY0, I + 1);
    fprintf(LI, "       N%6d%16.9E\n", I + 1, ZZ0);
}

fprintf(LI, "ENDDATA\n");

}

// Placeholder for MMTIME1 function void MMTIME1(FILE *LI) { // Implement your MMTIME1 logic here }

Fortran to C Code Conversion: Flange Function Implementation

原文地址: https://www.cveoy.top/t/topic/nZEf 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录