XC Open source finite element analysis program
PYBase.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 //PYBase.h
28 
29 #ifndef PYBASE_H
30 #define PYBASE_H
31 
32 #include <material/uniaxial/UniaxialMaterial.h>
33 #include <material/uniaxial/PY/InternalParamsIn.h>
34 #include <material/uniaxial/PY/InternalParamsLRIn.h>
35 
36 namespace XC {
38 //
40 class PYBase: public UniaxialMaterial
41  {
42  protected:
45  double TvRate; // Trial velocity
48 
49  // Material parameters
50  double initialTangent;
51  int soilType;
52  double matCapacity;
53  double v50;
54  double vRef;
55  double np;
56  double dashpot;
57 
58  void getFarField(const double &y);
59 
60  int sendData(CommParameters &);
61  int recvData(const CommParameters &);
62 
63 
64  public:
65  PYBase(int tag, int classtag, int soilType, double mCap, double v50, double dashpot);
66  PYBase(int tag, int classtag);
67  PYBase(void);
68 
69  double getTangent(void) const;
70  double getInitialTangent(void) const;
71  double getStrain(void) const;
72  double getStrainRate(void) const;
73 
74  int commitState(void);
75  int revertToLastCommit(void);
76 
77  void Print(std::ostream &s, int flag =0);
78 
79  };
80 } // end of XC namespace
81 
82 
83 #endif
int sendData(CommParameters &)
Send object members through the channel being passed as parameter.
Definition: PYBase.cc:82
InternalParamsA CFar
Committed internal parameters for the Far Field component.
Definition: PYBase.h:46
double getStrainRate(void) const
default operation for strain rate is zero
Definition: PYBase.cc:61
InternalParamsA TFar
Trial internal parameters for the Far Field component.
Definition: PYBase.h:47
int soilType
Soil type.
Definition: PYBase.h:51
InternalParamsA C
Committed history variables for entire Q-z material.
Definition: PYBase.h:43
Material que representa una curva p-y.
Definition: PYBase.h:40
int recvData(const CommParameters &)
Receives object members through the channel being passed as parameter.
Definition: PYBase.cc:97
double np
exponent for hardening shape of Near Field component
Definition: PYBase.h:55
PYBase(void)
Default constructor.
Definition: PYBase.cc:45
Internal parameters for a p-y material.
Definition: InternalParamsA.h:38
double matCapacity
Material capacity.
Definition: PYBase.h:52
double vRef
(y or z) reference point for Near Field component
Definition: PYBase.h:54
double v50
y (or z) at 50% of matCapacity.
Definition: PYBase.h:53
double dashpot
dashpot on the far-field (elastic) component
Definition: PYBase.h:56
Communication parameters between processes.
Definition: CommParameters.h:65
InternalParamsA T
Trial history variables for entire p-y material.
Definition: PYBase.h:44
================================================================================
Definition: ContinuaReprComponent.h:34
void Print(std::ostream &s, int flag=0)
Imprime el objeto.
Definition: PYBase.cc:113
Base class for uniaxial materials.
Definition: UniaxialMaterial.h:88