xc
EQPath.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 // Written: M. Salehi opensees.net@gmail.com
22 // Created: 02/19
23 // Revision: A
24 
25 //refs
26 //Structural Engineeringand Mechanics Volume 48, Number 6, December25 2013, pages 849 - 878
27 //DOI: https://doi.org/10.12989/sem.2013.48.6.849
28 //
29 //Comprehensive evaluation of structural geometrical nonlinear solution techniques Part I : Formulation and characteristics of the methods
30 //M.Rezaiee - Pajand, M.Ghalishooyan and M.Salehi - Ahmadabad
31 //FULLTEXT : https://www.researchgate.net/publication/264146397_Comprehensive_evaluation_of_structural_geometrical_nonlinear_solution_techniques_Part_I_Formulation_and_characteristics_of_the_methods
32 
33 
34 //Structural Engineeringand Mechanics Volume 48, Number 6, December25 2013, pages 879 - 914
35 //DOI: https://doi.org/10.12989/sem.2013.48.6.879
36 //
37 //Comprehensive evaluation of structural geometrical nonlinear solution techniques Part II : Comparing efficiencies of the methods
38 //M.Rezaiee - Pajand, M.Ghalishooyan and M.Salehi - Ahmadabad
39 //FULLTEXT : https://www.researchgate.net/publication/263361974_Comprehensive_evaluation_of_structural_geometrical_nonlinear_solution_techniques_Part_II_Comparing_efficiencies_of_the_methods
40 
41 
42 #ifndef EQPath_h
43 #define EQPath_h
44 
45 #include "solution/analysis/integrator/StaticIntegrator.h"
46 
47 class LinearSOE;
48 class AnalysisModel;
49 class FE_Element;
50 class Vector;
51 
52 #define SIGN_LAST_STEP 1
53 #define CHANGE_DETERMINANT 2
54 
55 namespace XC {
56 
58 //
60 class EQPath: public StaticIntegrator
61  {
62 
63  private:
64  double arclen,dl,m;
65  double sign;
66  int type,changed,nitr;
67  Vector *du,*du0, *uq, *uq0, *uqn, *ur;
68  Vector *q;
69  protected:
70  int sendData(Communicator &);
71  int recvData(const Communicator &);
72  public:
73  EQPath(SolutionStrategy *owr,double arcLeng,int type);
74 
75  ~EQPath(void);
76 
77  int newStep(void);
78  int update(const Vector &deltaU);
79  int domainChanged(void);
80 
81 
82  int sendSelf(Communicator &);
83  int recvSelf(const Communicator &);
84 
85  void Print(std::ostream &s, int flag =0) const;
86  };
87 } // end of XC namespace
88 
89 #endif
{staticFormTaylor} {equation}
Definition: StaticIntegrator.h:138
void Print(std::ostream &s, int flag=0) const
The Integrator is to send information to the stream based on the integer flag.
Definition: EQPath.cpp:556
Equilibrium path following methods.
Definition: EQPath.h:60
Float vector abstraction.
Definition: Vector.h:94
Communication parameters between processes.
Definition: Communicator.h:66
int sendSelf(Communicator &)
Send the object.
Definition: EQPath.cpp:521
int recvSelf(const Communicator &)
Receive the object.
Definition: EQPath.cpp:536
int domainChanged(void)
Make required changes when a change in the domain occurs.
Definition: EQPath.cpp:406
Solution strategy for the finite element problem.
Definition: SolutionStrategy.h:94
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:35
int update(const Vector &deltaU)
When invoked causes the integrator object to update the DOF_Group responses with the appropriate valu...
Definition: EQPath.cpp:156