xc
TzSimple1Gen.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // This program derives from OpenSees <http://opensees.berkeley.edu>
8 // developed by the «Pacific earthquake engineering research center».
9 //
10 // Except for the restrictions that may arise from the copyright
11 // of the original program (see copyright_opensees.txt)
12 // XC is free software: you can redistribute it and/or modify
13 // it under the terms of the GNU General Public License as published by
14 // the Free Software Foundation, either version 3 of the License, or
15 // (at your option) any later version.
16 //
17 // This software is distributed in the hope that it will be useful, but
18 // WITHOUT ANY WARRANTY; without even the implied warranty of
19 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 // GNU General Public License for more details.
21 //
22 //
23 // You should have received a copy of the GNU General Public License
24 // along with this program.
25 // If not, see <http://www.gnu.org/licenses/>.
26 //----------------------------------------------------------------------------
27 //$Revision: 1.4 $
28 //$Date: 2004/06/30 00:27:40 $
29 //$Source: /usr/local/cvs/OpenSees/SRC/material/uniaxial/PY/generators/TzSimple1Gen.h,v $
30 
31 #ifndef TZSIMPLE1GEN_H
32 #define TZSIMPLE1GEN_H
33 
34 #include "Simple1GenBase.h"
35 
36 namespace XC {
38 //
42  {
43  // Variables used for reading input files:
44  int NumTzEle, NPile, NumMt, NumMtLoadSp;
45  double p, zground, TULT, Z50, ca, delta, Sa;
46  int *TzEleNum, *TzNode1, *TzNode2, *TzMat, *TzDir; // Arrays for Py Elements File
47  int *tzType;
48  double *p_t, *p_b, *ca_t, *ca_b, *delta_t, *delta_b,
49  *zMt_t, *zMt_b, *mt_val_t, *mt_val_b, tribcoord[2], *Sa_b, *Sa_t,
50  *tult_t, *tult_b, *z50_t, *z50_b;
51 
52  // Member functions for reading input files:
53  void GetTzElements(const std::string &file);
54  void GetSoilProperties(const std::string &file);
55  double GetTult(const std::string &type);
56  double GetZ50(const std::string &type);
57  double GetMt(double *vx, double *vy, double x, int length);
58  void GetTributaryCoordsTz(int nodenum1);
59  void GetTributaryCoordsPile(int nodenum1);
60 
61  void free_mem(void);
62  // Member functions for generating output:
63  void GetTzSimple1(const std::string &file1,const std::string &file2,const std::string &file3,const std::string &file4, const std::string &file5);
64  void GetPattern(const std::string &file6);
65 
66  // Member functions for calculating tult:
67  double GetVStress(double z);
68 
69  public:
70 
71  void WriteTzSimple1(const std::string &file1, const std::string &file2, const std::string &file3, const std::string &file4, const std::string &file5);
72  void WriteTzSimple1(const std::string &file1, const std::string &file2, const std::string &file3, const std::string &file4, const std::string &file5, const std::string &file6);
73 
74  TzSimple1Gen();
75  ~TzSimple1Gen();
76 };
77 } // end of XC namespace
78 
79 #endif
Constructs TzSimple1 materials (Boulanger, 2003) for pre-defined zeroLength elements.
Definition: TzSimple1Gen.h:41
Base class for objects that constructs PySimple1 materials (Boulanger, 2003) for pre-defined zeroLeng...
Definition: Simple1GenBase.h:42
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34