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