XC Open source finite element analysis program
LinearBucklingIntegrator.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 //LinearBucklingIntegrator.h
28 // Description: This file contains the class definition of LinearBucklingIntegrator.
29 // LinearBucklingIntegrator is an algorithmic class for setting up the finite element
30 // equations for a eigen problem analysis.
31 //
32 // This class is inheritanted from the base class of Integrator which was
33 // created by fmk (Frank).
34 
35 
36 #ifndef LinearBucklingIntegrator_h
37 #define LinearBucklingIntegrator_h
38 
39 #include <solution/analysis/integrator/EigenIntegrator.h>
40 
41 namespace XC {
42 
44 //
48  {
49  protected:
50 
51  friend class SoluMethod;
53  Integrator *getCopy(void) const;
54  public:
55 
56  // methods to form the K(t) and K(t+Dt) matrices.
57  virtual int formKt(void);
58  virtual int formKtplusDt(void);
59  void Print(std::ostream &,int);
60  };
61 inline Integrator *LinearBucklingIntegrator::getCopy(void) const
62  { return new LinearBucklingIntegrator(*this); }
63 } // end of XC namespace
64 
65 #endif
66 
67 
68 
69 
virtual int formKt(void)
Assemblies previous step stiffness matrix and stores it in the SOE M matrix.
Definition: LinearBucklingIntegrator.cc:47
Solution procedure for the finite element problem. The solution procedure is definde by specifiying: ...
Definition: SoluMethod.h:76
LinearBucklingIntegrator(SoluMethod *)
Constructor.
Definition: LinearBucklingIntegrator.cc:37
Base class for eigenproblem integrators.
Definition: EigenIntegrator.h:85
LinearBucklingIntegrator is an algorithmic class for setting up the finite element equations for a li...
Definition: LinearBucklingIntegrator.h:47
virtual int formKtplusDt(void)
Assemblies stiffness matrix for the step following formKt() and stores it in the SOE A matrix...
Definition: LinearBucklingIntegrator.cc:42
================================================================================
Definition: ContinuaReprComponent.h:34
Base class for the object that performs the integration of physical properties over the domain to for...
Definition: Integrator.h:91