XC Open source finite element analysis program
ResponseId.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 //ResponseId.h
28 //Stiffness material contribution response identifiers.
29 
30 #ifndef ResponseId_h
31 #define ResponseId_h
32 
33 #include "utility/matrix/ID.h"
34 
35 namespace XC {
36  class Channel;
37  class FEM_ObjectBroker;
38 
39 
40 const int SECTION_RESPONSE_MZ= 1; // Curvature about the section z-axis
41 const int SECTION_RESPONSE_P= 2; // Axial strain
42 const int SECTION_RESPONSE_VY= 3;
43 const int SECTION_RESPONSE_MY= 4; // Curvature about the section y-axis
44 const int SECTION_RESPONSE_VZ= 5;
45 const int SECTION_RESPONSE_T= 6; // Torsion.
46 
47 
48 const int MEMBRANE_RESPONSE_n1= 11; // Axil por unidad de longitud, paralelo al eje 1
49 const int MEMBRANE_RESPONSE_n2= 12; // Axil por unidad de longitud, paralelo al eje 2
50 const int MEMBRANE_RESPONSE_n12= 13; // Esfuerzo rasante por unidad de longitud.
51 const int PLATE_RESPONSE_m1= 14; // Momento por unidad de longitud, paralelo al eje 1.
52 const int PLATE_RESPONSE_m2= 15; // Momento por unidad de longitud, paralelo al eje 2.
53 const int PLATE_RESPONSE_m12= 16; // Esfuerzo torsor por unidad de longitud.
54 const int PLATE_RESPONSE_q13= 17; // Cortante por unidad de longitud, perpendicular al eje 1 y paralelo al eje 3.
55 const int PLATE_RESPONSE_q23= 18; // Cortante por unidad de longitud, perpendicular al eje 2 y paralelo al eje 3.
56 
58 //
60 class ResponseId: public ID
61  {
62  public:
63  ResponseId(int sz);
64  ResponseId(const std::deque<std::string> &indices);
65  ResponseId(const std::vector<std::string> &indices);
66  //ResponseId(int *, int size, bool cleanIt = false);
67  explicit ResponseId(const ID &);
68  bool hasResponse(const int &ri) const;
69  static int StringToRespId(const std::string &str);
70  static std::string RespIdToString(const int &ri);
71  std::string getString(void) const;
72  };
73 
74 class RespPMz: public ResponseId
75  {
76  public:
77  RespPMz(void);
78  };
79 
80 class RespPMzV: public ResponseId
81  {
82  public:
83  RespPMzV(void);
84  };
85 
86 class RespVyP: public ResponseId
87  {
88  public:
89  RespVyP(void);
90  };
91 
92 class RespPMzMy: public ResponseId
93  {
94  public:
95  RespPMzMy(void);
96  };
97 
98 class RespPMzMyT: public ResponseId
99  {
100  public:
101  RespPMzMyT(void);
102  };
103 
105  {
106  public:
107  RespPMzVyMyVzT(void);
108  };
109 
111  {
112  public:
114  };
115 
116 class RespPVyMz: public ResponseId
117  {
118  public:
119  RespPVyMz(void);
120  };
121 
123  {
124  public:
125  RespMembraneMaterial(void);
126  };
127 
129  {
130  public:
131  RespPlateMaterial(void);
132  };
133 
135  {
136  public:
137  RespShellMaterial(void);
138  };
139 
140 const RespPMz RespElasticSection2d;
141 const RespPMzV RespElasticShSection2d;
142 const RespVyP RespBidirectional;
143 const RespPMzMy RespFiberSection3d;
144 const RespPMzMyT RespElasticSection3d;
145 const RespPMzVyMyVzT RespElasticShSection3d;
146 const RespFiberSectionShear3d RespFiberSectionSh3d;
147 const RespPVyMz RespIsolator2spring;
148 const RespMembraneMaterial RespMembraneMat;
149 const RespPlateMaterial RespPlateMat;
150 const RespShellMaterial RespShellMat;
151 
152 } // end of XC namespace
153 
154 #endif
Definition: ResponseId.h:110
Definition: ResponseId.h:92
Definition: ResponseId.h:80
Definition: ResponseId.h:134
Definition: ResponseId.h:74
Definition: ResponseId.h:98
Stiffness material contribution response identifiers.
Definition: ResponseId.h:60
Definition: ID.h:77
Definition: ResponseId.h:116
Definition: ResponseId.h:122
Definition: ResponseId.h:128
================================================================================
Definition: ContinuaReprComponent.h:34
Definition: ResponseId.h:86
Definition: ResponseId.h:104