xc
URDDampingbeta.h
1 /* ****************************************************************** **
2 ** OpenSees - Open System for Earthquake Engineering Simulation **
3 ** Pacific Earthquake Engineering Research Center **
4 ** **
5 ** **
6 ** (C) Copyright 1999, The Regents of the University of California **
7 ** All Rights Reserved. **
8 ** **
9 ** Commercial use of this program without express permission of the **
10 ** University of California, Berkeley, is strictly prohibited. See **
11 ** file 'COPYRIGHT' in main directory for information on usage and **
12 ** redistribution, and for a DISCLAIMER OF ALL WARRANTIES. **
13 ** **
14 ** Developed by: **
15 ** Frank McKenna (fmckenna@ce.berkeley.edu) **
16 ** Gregory L. Fenves (fenves@ce.berkeley.edu) **
17 ** Filip C. Filippou (filippou@ce.berkeley.edu) **
18 ** **
19 ** ****************************************************************** */
20 
21 // $Revision: 1.0 $
22 // $Date: 2021-07-02 14:29:01 $
23 // $Source: /usr/local/cvs/OpenSees/SRC/damping/URDDampingbeta.h,v $
24 
25 // Revised by: Y Tian
26 // Created: 02/2020
27 // Revision: A
28 //
29 // Description: This file contains the definition for the URDDampingbeta class.
30 // URDDampingbeta provides the abstraction of an elemental damping imposition
31 // providing user-defined damping over a frequency range
32 //
33 // Reference:
34 //
35 
36 // What: "@(#) URDDampingbeta.h, revA"
37 
38 #ifndef URDDampingbeta_h
39 #define URDDampingbeta_h
40 
41 #include "UDampingBase.h"
42 
43 namespace XC {
44 
46  {
47  private:
48  Vector beta;
49  protected:
50  int sendData(Communicator &);
51  int recvData(const Communicator &);
52  public:
53  URDDampingbeta(int tag, int nFilter, const Vector &omegac, const Vector &beta, double ta, double td, TimeSeries *fac);
54 
56 
57  int Initialize(void);
58 
59  int update(const Vector &q);
60 
61  double getStiffnessMultiplier(void) const;
62 
63  Damping *getCopy(void) const;
64 
65  int sendSelf(Communicator &);
66  int recvSelf(const Communicator &);
67 
68  void Print(std::ostream &s, int flag = 0);
69  };
70 } // end of XC namespace
71 
72 #endif
Float vector abstraction.
Definition: Vector.h:94
Communication parameters between processes.
Definition: Communicator.h:66
Definition: URDDampingbeta.h:45
int recvSelf(const Communicator &)
Receives object through the communicator argument.
Definition: URDDampingbeta.cpp:178
Base class for user-defined and uniform damings.
Definition: UDampingBase.h:87
int recvData(const Communicator &)
Receives object members through the communicator argument.
Definition: URDDampingbeta.cpp:154
int sendData(Communicator &)
Send object members through the communicator argument.
Definition: URDDampingbeta.cpp:146
TimeSeries * fac
damping variation in time.
Definition: Damping.h:87
Definition: Damping.h:83
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
Time variation of loads.
Definition: TimeSeries.h:85
int sendSelf(Communicator &)
Sends object through the communicator argument.
Definition: URDDampingbeta.cpp:162
Damping * getCopy(void) const
Virtual constructor.
Definition: URDDampingbeta.cpp:142