00001
00002
00003
00004
00005 #include <iostream>
00006 #include <fstream>
00007 #include <cmath>
00008 #include <ID.h>
00009
00010 class TzSimple1Gen
00011 {
00012
00013
00014 int NumNodes, NumTzEle, NumPileEle, NPile, NumLayer, NumMtLoadSp, NumLoad, NumSp, NumMt, NumMat;
00015 double p, zground, TULT, Z50, ru, ca, depth, stress, delta, b, Sa;
00016 int *NodeNum;
00017 double *Nodey, *Nodex;
00018 int *TzEleNum, *TzNode1, *TzNode2, *TzMat, *TzDir;
00019 int *PileEleNum, *PileNode1, *PileNode2;
00020 int *tzType;
00021 double *gamma_t, *gamma_b, *z_t, *z_b, *p_t, *p_b, *c_t, *c_b, *ca_t, *ca_b, *delta_t, *delta_b,
00022 *zLoad_t, *zLoad_b, *load_val_t, *load_val_b, *zSp_t, *zSp_b, *sp_val_t,
00023 *sp_val_b, *zMt_t, *zMt_b, *mt_val_t, *mt_val_b, tribcoord[2], *Sa_b, *Sa_t, *ru_t, *ru_b,
00024 *tult_t, *tult_b, *z50_t, *z50_b;
00025 char **MatType, *PatternInfo;
00026
00027
00028
00029 void GetNodes(const char *file);
00030 void GetTzElements(const char *file);
00031 void GetPileElements(const char *file);
00032 void GetSoilProperties(const char *file);
00033 double GetTult(const char *type);
00034 double GetZ50(const char *type);
00035 double GetMt(double *vx, double *vy, double x, int length);
00036 void GetTributaryCoordsTz(int nodenum1);
00037 void GetTributaryCoordsPile(int nodenum1);
00038 int NumRows(const char *file, const char *begin);
00039
00040
00041 void GetTzSimple1(const char *file1, const char *file2, const char *file3, const char *file4, const char *file5);
00042 void GetPattern(const char *file6);
00043
00044
00045 double GetVStress(double z);
00046 double linterp(double x1, double x2, double y1, double y2, double x3);
00047
00048 public:
00049
00050 void WriteTzSimple1(const char *file1, const char *file2, const char *file3, const char *file4, const char *file5);
00051 void WriteTzSimple1(const char *file1, const char *file2, const char *file3, const char *file4, const char *file5, const char *file6);
00052
00053 TzSimple1Gen();
00054 ~TzSimple1Gen();
00055 };