|
xc
|
performs a linear solution algorihm to solve the equations. More...
#include <Linear.h>
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 ConvergenceTest * | getConvergenceTestPtr (void) |
| Returns a pointer to the convergence test. | |
| virtual const ConvergenceTest * | getConvergenceTestPtr (void) const |
| Returns a pointer to the convergence test. | |
| IncrementalIntegrator * | getIncrementalIntegratorPtr (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 AnalysisModel * | getAnalysisModelPtr (void) |
| Return a pointer to the analysis model. | |
| virtual const AnalysisModel * | getAnalysisModelPtr (void) const |
| Return a const pointer to the analysis model. | |
| virtual Integrator * | getIntegratorPtr (void) |
| Return a pointer to the integrator. | |
| virtual const Integrator * | getIntegratorPtr (void) const |
| Return a const pointer to the integrator. | |
| virtual LinearSOE * | getLinearSOEPtr (void) |
| Return a pointer to the linear system of equations. | |
| virtual const LinearSOE * | getLinearSOEPtr (void) const |
| Return a const pointer to the linear system of equations. | |
| virtual EigenSOE * | getEigenSOEPtr (void) |
| Return a pointer to the eigen system of equations. | |
| virtual const EigenSOE * | getEigenSOEPtr (void) const |
| Return a const pointer to the eigen system of equations. | |
| virtual const DomainSolver * | getDomainSolverPtr (void) const |
| Return a const pointer to the DomainSolver. | |
| virtual DomainSolver * | getDomainSolverPtr (void) |
| Return a pointer to the DomainSolver. | |
| virtual const Subdomain * | getSubdomainPtr (void) const |
| Return a const pointer to the subdomain. | |
| virtual Subdomain * | getSubdomainPtr (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. | |
| MovableObject & | operator= (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 ¶m) |
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 DbTagData & | getDbTagData (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. | |
| Recorder * | newRecorder (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 SolutionAlgorithm * | getCopy (void) const |
Protected Member Functions inherited from XC::EquiSolnAlgo | |
| EquiSolnAlgo (AnalysisAggregation *, int clasTag) | |
| Constructor. More... | |
Protected Member Functions inherited from XC::SolutionAlgorithm | |
| AnalysisAggregation * | getAnalysisAggregation (void) |
| Return a pointer to the solution method which owns this object. | |
| const AnalysisAggregation * | getAnalysisAggregation (void) const |
| Return a pointer to the solution method which owns this object. | |
| virtual Domain * | get_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 |
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.
|
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.
1.8.12