XC Open source finite element analysis program
ConvergenceTestTol.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 //ConvergenceTestTol.h
28 
29 #ifndef ConvergenceTestTol_h
30 #define ConvergenceTestTol_h
31 
32 #include <solution/analysis/convergenceTest/ConvergenceTest.h>
33 
34 namespace XC {
35 
39 //
41 //
44  {
45  protected:
46  double tol;
47 
48  int sendData(CommParameters &);
49  int recvData(const CommParameters &);
50  public:
51  // constructors
52  ConvergenceTestTol(EntCmd *owr,int classTag);
53  ConvergenceTestTol(EntCmd *owr,int classTag,double tol, int maxNumIter, int printFlag, int normType,int sz_norms= 1);
54 
55  void setTolerance(double newTol);
56  double getTolerance(void) const;
57  int sendSelf(CommParameters &);
58  int recvSelf(const CommParameters &);
59 
60  std::string getRatioMessage(const std::string &) const;
61  std::string getDispIncrMessage(void) const;
62  std::string getUnbalanceMessage(void) const;
63  std::string getEnergyProductMessage(void) const;
64  };
65 } // end of XC namespace
66 
67 #endif
std::string getEnergyProductMessage(void) const
Display current energy product and tolerance.
Definition: ConvergenceTestTol.cc:128
Convergence test with tolerance threshold.
Definition: ConvergenceTestTol.h:43
int maxNumIter
max number of iterations
Definition: ConvergenceTest.h:81
convergence test.
Definition: ConvergenceTest.h:75
std::string getRatioMessage(const std::string &) const
Display current ratio and tolerance.
Definition: ConvergenceTestTol.cc:98
ConvergenceTestTol(EntCmd *owr, int classTag)
Constructor.
Definition: ConvergenceTestTol.cc:34
int printFlag
a flag indicating if to print on test
Definition: ConvergenceTest.h:82
std::string getDispIncrMessage(void) const
Display current displacement increment and tolerance.
Definition: ConvergenceTestTol.cc:108
Communication parameters between processes.
Definition: CommParameters.h:65
================================================================================
Definition: ContinuaReprComponent.h:34
std::string getUnbalanceMessage(void) const
Display current unbalance and tolerance.
Definition: ConvergenceTestTol.cc:118
int sendData(CommParameters &)
Send object members through the channel being passed as parameter.
Definition: ConvergenceTestTol.cc:50
int recvData(const CommParameters &)
Receives object members through the channel being passed as parameter.
Definition: ConvergenceTestTol.cc:58
double tol
the tol on the energy used to test for convergence
Definition: ConvergenceTestTol.h:46