53 #ifndef ConvergenceTest_h    54 #define ConvergenceTest_h    64 #include <utility/actor/actor/MovableObject.h>    65 #include "utility/kernel/CommandEntity.h"    66 #include "utility/matrix/Vector.h"    67 #include "solution/system_of_eqn/linearSOE/LinearSOE.h"    71 class SolutionStrategy;
   119     virtual std::string getStatusMsg(
const int &flag= 1) 
const= 0;
   120     virtual int start(
void);
   130     virtual int test(
void)= 0;
   132     int getMaxNumIter(
void) 
const;
   133     void setMaxNumIter(
const int &);
   136     int getPrintFlag(
void) 
const;
   137     void setPrintFlag(
const int &);
   138     int getNormType(
void) 
const;
   139     void setNormType(
const int &);
   141     virtual int getNumTests(
void) 
const;
   142     virtual int getMaxNumTests(
void) 
const;        
   143     virtual double getRatioNumToMax(
void) 
const;            
   144     virtual const Vector &getNorms(
void) 
const;
 double lastRatio
Last calculated ratio (if any). 
Definition: ConvergenceTest.h:93
std::string getDeltaXRMessage(void) const
Returns a string with the values of x and b vectors. 
Definition: ConvergenceTest.cpp:288
double calculatedNormB
Last calculated |b|. 
Definition: ConvergenceTest.h:95
Float vector abstraction. 
Definition: Vector.h:94
const Vector & getX(void) const
Returns the vector of unknowns. 
Definition: ConvergenceTest.cpp:189
bool hasLinearSOE(void) const
Returns true ifpuede acceder al system of equations. 
Definition: ConvergenceTest.cpp:169
Communication parameters between processes. 
Definition: Communicator.h:66
Linear system of equations. 
Definition: LinearSOE.h:92
Object that can move between processes. 
Definition: MovableObject.h:100
virtual int test(void)=0
Return a positive number if convergence is achieved. 
int nType
type of norm to use (1-norm, 2-norm, p-norm, max-norm) 
Definition: ConvergenceTest.h:89
double calculatedEnergyProduct
Last calculated |0.5*(x ^ b)|. 
Definition: ConvergenceTest.h:96
int recvSelf(const Communicator &)
Receive the object. 
Definition: ConvergenceTest.cpp:251
int recvData(const Communicator &)
Receives object members through the communicator argument. 
Definition: ConvergenceTest.cpp:228
const Vector & getB(void) const
Return the vector at the right hand side of the equation. 
Definition: ConvergenceTest.cpp:197
double getEnergyProduct(void) const
Returns the the energy increment, which is 0.5 times the absolute value of the product of the rhs and...
Definition: ConvergenceTest.cpp:208
double getNormX(void) const
Return the norma del vector of unknowns. 
Definition: ConvergenceTest.cpp:193
int sendData(Communicator &)
Send object members through the communicator argument. 
Definition: ConvergenceTest.cpp:219
ConvergenceTest(CommandEntity *owr, int classTag)
Default constructor. 
Definition: ConvergenceTest.cpp:72
void setCurrentIter(const int &)
Set the current iteration number. 
Definition: ConvergenceTest.cpp:125
double getNormB(void) const
Return the norm of the vector at the right hand side of the equation. 
Definition: ConvergenceTest.cpp:202
double calculatedNormX
Last calculated |x|. 
Definition: ConvergenceTest.h:94
Objet that can execute python scripts. 
Definition: CommandEntity.h:40
std::string getTestIterationMessage(void) const
Returns a string with the name of the class and the iteration number. 
Definition: ConvergenceTest.cpp:272
convergence test. 
Definition: ConvergenceTest.h:81
int getCurrentIter(void) const
Return the current iteration number. 
Definition: ConvergenceTest.cpp:122
Solution strategy for the finite element problem. 
Definition: SolutionStrategy.h:94
LinearSOE * getLinearSOEPtr(void)
Returns a pointer to the system of equations. 
Definition: ConvergenceTest.cpp:173
int currentIter
number of times test() has been invokes since last start() 
Definition: ConvergenceTest.h:86
Open source finite element program for structural analysis. 
Definition: ContinuaReprComponent.h:35
int printFlag
a flag indicating if to print on test 
Definition: ConvergenceTest.h:88
std::string getDeltaXRNormsMessage(void) const
Returns a string with the values of x and b vector norms. 
Definition: ConvergenceTest.cpp:296
Vector norms
vector to hold the norms 
Definition: ConvergenceTest.h:90
int maxNumIter
max number of iterations 
Definition: ConvergenceTest.h:87
std::string getFailedToConvergeMessage(void) const
Returns a string with the proper failed to converge message. 
Definition: ConvergenceTest.cpp:278
int sendSelf(Communicator &)
Send the object. 
Definition: ConvergenceTest.cpp:236
virtual int start(void)
This is invoked at the start of each iteration. 
Definition: ConvergenceTest.cpp:142