xc
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 "InternalParamsIn.h"
34 #include "InternalParamsLRIn.h"
35 
36 namespace XC {
38 //
41 //
45 class PYBase: public UniaxialMaterial
46  {
47  protected:
50  double TvRate;
53 
54  // Material parameters
55  double initialTangent;
56  int soilType;
57  double matCapacity;
58  double v50;
59  double vRef;
60  double np;
61  double dashpot;
62 
63  void getFarField(const double &y);
64 
65  int sendData(CommParameters &);
66  int recvData(const CommParameters &);
67 
68 
69  public:
70  PYBase(int tag, int classtag, int soilType, double mCap, double v50, double dashpot);
71  PYBase(int tag, int classtag);
72  PYBase(void);
73 
74  double getTangent(void) const;
75  double getInitialTangent(void) const;
76  void setInitialTangent(const double &);
77  double getStrain(void) const;
78  double getStrainRate(void) const;
79 
80  void setSoilType(const int &);
81  int getSoilType(void) const;
82  void setUltimateCapacity(const double &);
83  double getUltimateCapacity(void) const;
84  void setY50(const double &);
85  double getY50(void) const;
86  void setDashPot(const double &);
87  double getDashPot(void) const;
88 
89  int commitState(void);
90  int revertToLastCommit(void);
91 
92  void Print(std::ostream &s, int flag =0);
93 
94  };
95 } // end of XC namespace
96 
97 
98 #endif
double getStrainRate(void) const
default operation for strain rate is zero
Definition: PYBase.cc:111
InternalParamsA CFar
Committed internal parameters for the Far Field component.
Definition: PYBase.h:51
void Print(std::ostream &s, int flag=0)
Print stuff.
Definition: PYBase.cc:163
int sendData(CommParameters &)
Send object members through the channel being passed as parameter.
Definition: PYBase.cc:132
Base class for uniaxial materials.
Definition: UniaxialMaterial.h:92
double matCapacity
Material capacity.
Definition: PYBase.h:57
int getSoilType(void) const
Gets the soil type to represent: soilType= 1 Backbone of p-y curve approximates Matlock (1970) soft c...
Definition: PYBase.cc:60
void setSoilType(const int &)
Sets the soil type to represent: soilType= 1 Backbone of p-y curve approximates Matlock (1970) soft c...
Definition: PYBase.cc:54
double getTangent(void) const
Return the current value of the tangent for the trial strain.
Definition: PYBase.cc:97
void setY50(const double &)
Set the displacement at which 50% of pult is mobilized in monotonic loading.
Definition: PYBase.cc:77
PYMat
Definition: PYBase.h:45
double getDashPot(void) const
Get the viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate ...
Definition: PYBase.cc:91
double vRef
(y or z) reference point for Near Field component
Definition: PYBase.h:59
InternalParamsA T
Trial history variables for entire p-y material.
Definition: PYBase.h:49
double getInitialTangent(void) const
Get initial stiffness.
Definition: PYBase.cc:101
double getUltimateCapacity(void) const
Get the ultimate capacity of the p-y material.
Definition: PYBase.cc:73
void setInitialTangent(const double &)
Set initial stiffness.
Definition: PYBase.cc:105
double dashpot
dashpot on the far-field (elastic) component
Definition: PYBase.h:61
double np
exponent for hardening shape of Near Field component
Definition: PYBase.h:60
void setUltimateCapacity(const double &)
Set the ultimate capacity of the p-y material.
Definition: PYBase.cc:67
PYBase(void)
Default constructor.
Definition: PYBase.cc:47
double v50
y (or z) at 50% of matCapacity.
Definition: PYBase.h:58
InternalParamsA C
Committed history variables for entire Q-z material.
Definition: PYBase.h:48
int recvData(const CommParameters &)
Receives object members through the channel being passed as parameter.
Definition: PYBase.cc:147
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
Communication parameters between processes.
Definition: CommParameters.h:65
InternalParamsA TFar
Trial internal parameters for the Far Field component.
Definition: PYBase.h:52
double TvRate
Trial velocity.
Definition: PYBase.h:50
Internal parameters for the Gap (Drag + Closure).
Definition: InternalParamsA.h:38
double getY50(void) const
Get the displacement at which 50% of pult is mobilized in monotonic loading.
Definition: PYBase.cc:81
int soilType
Soil type.
Definition: PYBase.h:56
void setDashPot(const double &)
Set the viscous damping term (dashpot) on the far-field (elastic) component of the displacement rate ...
Definition: PYBase.cc:86