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