xc
PySimple1Gen.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/PySimple1Gen.h,v $
30 
31 #ifndef PYSIMPLE1GEN_H
32 #define PYSIMPLE1GEN_H
33 
34 #include <string>
35 #include <vector>
36 
37 #include "Simple1GenBase.h"
38 
39 namespace XC {
41 //
45  {
46  std::vector<std::string> pTest;
47  // Variables used for reading input files:
48  int NumPyEle, NumMpLoadSp, NumMp;
49  double pult, y50, maxz, minz, cu, e50, phi, sr, PULT, Y50;
50  int *PyEleNum, *PyNode1, *PyNode2, *PyMat, *PyDir; // Arrays for Py Elements File
51  int *pyType, stype;
52  double *gamma_t, *b_t, *b_b, *Cd_t, *Cd_b, // Arrays for Soil Properties File
53  *cu_t, *cu_b, *e50_t, *e50_b, *phi_t, *phi_b, *Sr_t, *Sr_b, *pult_t, *pult_b,
54  *y50_t, *y50_b, tribcoord[2];
55  std::vector<std::string> MatType;
56  std::string PatternInfo;
57 
58  // Member functions for reading input files:
59  void GetPyElements(const std::string &file);
60  void GetSoilProperties(const std::string &file);
61 
62 
63  // Member functions for generating output:
64  void GetPySimple1(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  void free_mem(void);
68  // Member functions for calculating pult:
69  double GetPult(const std::string &type);
70  double GetY50(const std::string &type);
71  double GetVStress(double z);
72  double GetMp(double *vx, double *vy, double x, int length);
73  void GetTributaryCoordsPy(int nodenum1);
74  void GetTributaryCoordsPile(int nodenum1);
75 
76 public:
77  // Public member functions accessed from TclModelBuilder.cpp
78  void WritePySimple1(const std::string &file1, const std::string &file2, const std::string &file3, const std::string &file4, const std::string &file5);
79  void WritePySimple1(const std::string &file1, const std::string &file2, const std::string &file3, const std::string &file4, const std::string &file5, const std::string &file6);
80  PySimple1Gen(void);
81  ~PySimple1Gen(void);
82  };
83 } // end of XC namespace
84 
85 #endif
Base class for objects that constructs PySimple1 materials (Boulanger, 2003) for pre-defined zeroLeng...
Definition: Simple1GenBase.h:42
PySimple1Gen(void)
Constructor initializes global variables to zero.
Definition: PySimple1Gen.cpp:162
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Constructs PySimple1 materials (Boulanger, 2003) for pre-defined zeroLength elements.
Definition: PySimple1Gen.h:44