52 #ifndef ConvergenceTest_h 53 #define ConvergenceTest_h 63 #include <utility/actor/actor/MovableObject.h> 64 #include "xc_utils/src/kernel/EntityWithOwner.h" 65 #include "utility/matrix/Vector.h" 66 #include "solution/system_of_eqn/linearSOE/LinearSOE.h" 70 class AnalysisAggregation;
112 ConvergenceTest(CommandEntity *owr,
int clasTag,
int maxIter,
int prtFlg,
int normType,
int sz_norms= 1);
118 virtual std::string getStatusMsg(
const int &flag= 1)
const= 0;
119 virtual int start(
void);
129 virtual int test(
void)= 0;
131 int getMaxNumIter(
void)
const;
132 void setMaxNumIter(
const int &);
135 int getPrintFlag(
void)
const;
136 void setPrintFlag(
const int &);
137 int getNormType(
void)
const;
138 void setNormType(
const int &);
140 virtual int getNumTests(
void)
const;
141 virtual int getMaxNumTests(
void)
const;
142 virtual double getRatioNumToMax(
void)
const;
143 virtual const Vector &getNorms(
void)
const;
double lastRatio
Last calculated ratio (if any).
Definition: ConvergenceTest.h:92
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:94
int recvSelf(const CommParameters &)
Receive the object.
Definition: ConvergenceTest.cpp:251
Float vector abstraction.
Definition: Vector.h:93
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
Solution procedure for the finite element problem.
Definition: AnalysisAggregation.h:89
Linear system of equations.
Definition: LinearSOE.h:91
Object that can move between processes.
Definition: MovableObject.h:99
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:88
double calculatedEnergyProduct
Last calculated |0.5*(x ^ b)|.
Definition: ConvergenceTest.h:95
int recvData(const CommParameters &)
Receives object members through the channel being passed as parameter.
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(CommParameters &)
Send object members through the channel being passed as parameter.
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:93
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:80
int getCurrentIter(void) const
Return the current iteration number.
Definition: ConvergenceTest.cpp:122
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:85
Open source finite element program for structural analysis.
Definition: ContinuaReprComponent.h:34
int printFlag
a flag indicating if to print on test
Definition: ConvergenceTest.h:87
std::string getDeltaXRNormsMessage(void) const
Returns a string with the values of x and b vector norms.
Definition: ConvergenceTest.cpp:296
Communication parameters between processes.
Definition: CommParameters.h:65
Vector norms
vector to hold the norms
Definition: ConvergenceTest.h:89
int maxNumIter
max number of iterations
Definition: ConvergenceTest.h:86
std::string getFailedToConvergeMessage(void) const
Returns a string with the proper failed to converge message.
Definition: ConvergenceTest.cpp:278
int sendSelf(CommParameters &)
Send the object.
Definition: ConvergenceTest.cpp:236
virtual int start(void)
This is invoked at the start of each iteration.
Definition: ConvergenceTest.cpp:142