xc
Public Member Functions | Protected Member Functions | Friends | List of all members

performs a linear solution algorihm to solve the equations. More...

#include <Linear.h>

Inheritance diagram for XC::Linear:
XC::EquiSolnAlgo XC::SolutionAlgorithm XC::MovableObject XC::ObjWithRecorders XC::DistributedBase

Public Member Functions

int solveCurrentStep (void)
 Performs the linear solution algorithm. More...
 
int setConvergenceTest (ConvergenceTest *theNewTest)
 Sets the convergence test to use in the analysis.
 
virtual int sendSelf (CommParameters &)
 Does nothing. Returns 0.
 
virtual int recvSelf (const CommParameters &)
 Does nothing. Returns 0.
 
void Print (std::ostream &s, int flag=0)
 Sends the class name to the stream.
 
- Public Member Functions inherited from XC::EquiSolnAlgo
virtual ConvergenceTestgetConvergenceTestPtr (void)
 Returns a pointer to the convergence test.
 
virtual const ConvergenceTestgetConvergenceTestPtr (void) const
 Returns a pointer to the convergence test.
 
IncrementalIntegratorgetIncrementalIntegratorPtr (void)
 Returns a pointer to the incremental integrator.
 
- Public Member Functions inherited from XC::SolutionAlgorithm
virtual int domainChanged (void)
 Perform the appropiate modifications as a result of a change in the domain. More...
 
virtual AnalysisModelgetAnalysisModelPtr (void)
 Return a pointer to the analysis model.
 
virtual const AnalysisModelgetAnalysisModelPtr (void) const
 Return a const pointer to the analysis model.
 
virtual IntegratorgetIntegratorPtr (void)
 Return a pointer to the integrator.
 
virtual const IntegratorgetIntegratorPtr (void) const
 Return a const pointer to the integrator.
 
virtual LinearSOEgetLinearSOEPtr (void)
 Return a pointer to the linear system of equations.
 
virtual const LinearSOEgetLinearSOEPtr (void) const
 Return a const pointer to the linear system of equations.
 
virtual EigenSOEgetEigenSOEPtr (void)
 Return a pointer to the eigen system of equations.
 
virtual const EigenSOEgetEigenSOEPtr (void) const
 Return a const pointer to the eigen system of equations.
 
virtual const DomainSolvergetDomainSolverPtr (void) const
 Return a const pointer to the DomainSolver.
 
virtual DomainSolvergetDomainSolverPtr (void)
 Return a pointer to the DomainSolver.
 
virtual const SubdomaingetSubdomainPtr (void) const
 Return a const pointer to the subdomain.
 
virtual SubdomaingetSubdomainPtr (void)
 Return a pointer to the subdomain.
 
- Public Member Functions inherited from XC::MovableObject
 MovableObject (int classTag, int dbTag)
 Constructor. More...
 
 MovableObject (int classTag)
 Constructor. More...
 
 MovableObject (const MovableObject &)
 Copy constructor. Doesn't copy the dbTag.
 
MovableObjectoperator= (const MovableObject &)
 Assignment operator. Doesn't copy the dbTag.
 
int getClassTag (void) const
 Return the class identifier.
 
int getDbTag (void) const
 Return the object identifier in the database.
 
int getDbTag (CommParameters &)
 Return the object identifier in the database.
 
void setDbTag (int dbTag)
 Sets the object identifier in the database.
 
void setDbTag (CommParameters &)
 Sets the object identifier in the database if not already set. More...
 
virtual int setParameter (const std::vector< std::string > &argv, Parameter &param)
 Sets the value param to the parameter argv.
 
virtual int updateParameter (int parameterID, Information &info)
 Updates the parameter identified by parameterID with info.
 
virtual int activateParameter (int parameterID)
 Activates the parameter identified by parameterID.
 
virtual int setVariable (const std::string &variable, Information &)
 Set the value of the variable idenfified by var.
 
virtual int getVariable (const std::string &variable, Information &)
 Return the value of the variable idenfified by var.
 
- Public Member Functions inherited from XC::DistributedBase
 DistributedBase (void)
 Constructor.
 
virtual DbTagDatagetDbTagData (void) const
 Returns a vector to store class dbTags.
 
const int & getDbTagDataPos (const int &i) const
 Returns the data at the i-th position.
 
void setDbTagDataPos (const int &i, const int &v)
 Sets the data at the i-th position.
 
void inicComm (const int &dataSize) const
 Initializes communication.
 
- Public Member Functions inherited from XC::ObjWithRecorders
 ObjWithRecorders (CommandEntity *owr, DataOutputHandler::map_output_handlers *oh=nullptr)
 
virtual ~ObjWithRecorders (void)
 Destructor.
 
RecordernewRecorder (const std::string &, DataOutputHandler *oh=nullptr)
 Read a Recorder object from file.
 
virtual int addRecorder (Recorder &theRecorder)
 Adds a recorder. More...
 
recorder_iterator recorder_begin (void)
 
const_recorder_iterator recorder_begin (void) const
 
recorder_iterator recorder_end (void)
 
const_recorder_iterator recorder_end (void) const
 
virtual int record (int track, double timeStamp=0.0)
 To invoke {record(cTag, timeStamp)} on any Recorder objects which have been added. More...
 
void restart (void)
 To invoke {restart()} on any Recorder objects which have been added. More...
 
virtual int removeRecorders (void)
 Remove the recorders.
 
void setLinks (Domain *dom)
 Asigna el domain a los recorders.
 
void SetOutputHandlers (DataOutputHandler::map_output_handlers *oh)
 Set the outputhandlers container.
 

Protected Member Functions

 Linear (AnalysisAggregation *)
 Constructor.
 
virtual SolutionAlgorithmgetCopy (void) const
 
- Protected Member Functions inherited from XC::EquiSolnAlgo
 EquiSolnAlgo (AnalysisAggregation *, int clasTag)
 Constructor. More...
 
- Protected Member Functions inherited from XC::SolutionAlgorithm
AnalysisAggregationgetAnalysisAggregation (void)
 Return a pointer to the solution method which owns this object.
 
const AnalysisAggregationgetAnalysisAggregation (void) const
 Return a pointer to the solution method which owns this object.
 
virtual Domainget_domain_ptr (void)
 Return a pointer to the domain.
 
int sendData (CommParameters &)
 Send object members through the channel passed as parameter.
 
int recvData (const CommParameters &)
 Receive object members through the channel passed as parameter.
 
 SolutionAlgorithm (AnalysisAggregation *, int classTag)
 Constructor.
 
- Protected Member Functions inherited from XC::ObjWithRecorders
int sendData (CommParameters &cp)
 
int recvData (const CommParameters &cp)
 
size_t getNumRecorders (void) const
 Returns the number of recorders already defined.
 

Friends

class AnalysisAggregation
 
class FEM_ObjectBroker
 

Additional Inherited Members

- Public Types inherited from XC::ObjWithRecorders
typedef std::list< Recorder * > lista_recorders
 
typedef lista_recorders::iterator recorder_iterator
 
typedef lista_recorders::const_iterator const_recorder_iterator
 

Detailed Description

performs a linear solution algorihm to solve the equations.

The Linear class is an algorithmic class which uses the linear solution algorithm to solve the equations. This is based on a Taylor expansion of the linear system \(R(U) = zero\) about an approximate solution \(U_{a}\). {equation} R(U) = R(U_{a}) + [ {{ R}{ U} }_{U_{a}}] ( U - U_{a} ) {equation} which can be expressed as: {equation} K_{a} U = R(U_{a}) {equation} which is solved for \(\Delta U\) to give the approximation \(U = U_{a} + \Delta U\). To start the iteration \(U_a = U_{trial}\), i.e. the current trial response quantities are chosen as approximate solution quantities.

Member Function Documentation

§ solveCurrentStep()

int XC::Linear::solveCurrentStep ( void  )
virtual

Performs the linear solution algorithm.

This method performs the linear solution algorithm: {tabbing} while \= + whilewhilewhilewhilewhilewhilewhilewhilewhile \= theIntegrator- \(>\)formTangent() + // form \(K_{a}\) - theIntegrator- \(>\)formUnbalance() // form \(R(U_{a})\) theSOE- \(>\)solveX() // solve for \(\Delta U\) theIntegrator- \(>\)update(theSOE- \(>\)getX()) // set \(U = U_{a} + \Delta U\) - {tabbing} The method returns a 0 if successful, otherwise warning message is printed and a negative number is returned; a \(-1\) if error during {formTangent()}, a \(-2\) if error during formUnbalance(), a \(-3\) if error during solve(), a \(-4\) if error during {update()}. If an error occurs in any of the above operations the method stops at that routine, none of the subsequent operations are invoked. A \(-5\) is returned if any one of the links has not been setup.

Implements XC::EquiSolnAlgo.


The documentation for this class was generated from the following files: