xc
Simple1GenBase.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 //Simple1GenBase.h
29 
30 #ifndef SIMPLE1GENBASE_H
31 #define SIMPLE1GENBASE_H
32 
33 #include <string>
34 #include <vector>
35 
36 #include "utility/kernel/CommandEntity.h"
37 
38 namespace XC {
40 //
44  {
45  protected:
46  // Variables used for reading input files:
47  int NumNodes, NumPileEle, NumLayer, NumLoad, NumSp, NumMat;
48  double b, depth, stress, ru;
49  int *NodeNum; // Arrays for Nodes File
50  double *Nodey, *Nodex;
51  int *PileEleNum, *PileNode1, *PileNode2; // Arrays for Pile Elements File
52  double *gamma_t, *gamma_b, *z_t, *z_b, *c_t, *c_b, // Arrays for Soil Properties File
53  *zLoad_t, *zLoad_b, *load_val_t, *load_val_b, *zSp_t, *zSp_b, *sp_val_t,
54  *sp_val_b, *zMp_t, *zMp_b, *mp_val_t, *mp_val_b, *ru_t, *ru_b;
55  std::vector<std::string> MatType;
56  std::string PatternInfo;
57 
58  void free_mem(void);
59  // Member functions for reading input files:
60  void GetNodes(const std::string &file);
61  void GetPileElements(const std::string &file);
62  int NumRows(const std::string &file, const std::string &begin);
63  double linterp(double x1, double x2, double y1, double y2, double x3);
64 
65 
66  // Member functions for generating output:
67 
68  public:
69  // Public member functions accessed from TclModelBuilder.cpp
70  Simple1GenBase(void);
71  ~Simple1GenBase(void);
72  };
73 } // end of XC namespace
74 
75 #endif
~Simple1GenBase(void)
Destructor deletes dynamically allocated arrays.
Definition: Simple1GenBase.cc:187
Base class for objects that constructs PySimple1 materials (Boulanger, 2003) for pre-defined zeroLeng...
Definition: Simple1GenBase.h:43
void free_mem(void)
Free allocated memory.
Definition: Simple1GenBase.cc:36
Objet that can execute python scripts.
Definition: CommandEntity.h:40
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Simple1GenBase(void)
Constructor initializes global variables to zero.
Definition: Simple1GenBase.cc:171