xc
|
Linear solution algorithm. 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 (Communicator &) |
Does nothing. Returns 0. | |
virtual int | recvSelf (const Communicator &) |
Does nothing. Returns 0. | |
void | Print (std::ostream &s, int flag=0) const |
Sends the class name to the stream. | |
![]() | |
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. | |
![]() | |
virtual int | domainChanged (void) |
Perform the appropriate 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. | |
![]() | |
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 (Communicator &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (Communicator &) |
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 . | |
![]() | |
DistributedBase (void) | |
Constructor. | |
virtual | ~DistributedBase (void) |
Destructor. | |
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. | |
![]() | |
ObjWithRecorders (CommandEntity *owr, DataOutputHandler::map_output_handlers *oh=nullptr) | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
![]() | |
CommandEntity (CommandEntity *owr=nullptr) | |
Default constructor. | |
CommandEntity * | Owner (void) |
Return a pointer to the object owner. | |
const CommandEntity * | Owner (void) const |
Return un puntero al objeto propietario de ESTE. | |
const StandardOutputWrapper & | getStandardOutputWrapper (void) const |
Return the regular output stream wrapper. | |
StandardOutputWrapper & | getStandardOutputWrapper (void) |
Return the regular output stream wrapper. | |
const std::string & | getLogFileName (void) const |
Returns log file name. | |
void | setLogFileName (const std::string &) |
Sets log file name. | |
const std::string & | getErrFileName (void) const |
Returns err file name. | |
void | setErrFileName (const std::string &) |
Sets error file name. | |
const std::string & | getOutputFileName (void) const |
Returns regular output file name. | |
void | setOutputFileName (const std::string &) |
Sets regular output file name. | |
boost::python::object | evalPy (boost::python::object dict, const std::string &) |
Return the Python object that results from evaluating the argument. | |
boost::python::object | execPy (boost::python::object dict, const std::string &) |
Return the Python objects that results from executing the code in the string argument. | |
boost::python::object | execFilePy (boost::python::object dict, const std::string &) |
Return the Python object that results from executing the code in the file. | |
![]() | |
EntityWithProperties (EntityWithProperties *owr=nullptr) | |
Default constructor. | |
void | clearPyProps (void) |
Clear python properties map. | |
bool | hasPyProp (const std::string &) |
Returns true if property exists. | |
boost::python::object | getPyProp (const std::string &str) |
Return the Python object with the name being passed as parameter. | |
void | setPyProp (std::string str, boost::python::object val) |
Sets/appends a value tho the Python object's dictionary. | |
void | copyPropsFrom (const EntityWithProperties &) |
Copy the properties from the argument. | |
boost::python::list | getPropNames (void) const |
Return the names of the object properties weightings. | |
const PythonDict & | getPropertiesDict (void) const |
Return a std::map container with the properties of the object. | |
![]() | |
EntityWithOwner (EntityWithOwner *owr=nullptr) | |
Default constructor. | |
EntityWithOwner (const EntityWithOwner &) | |
Copy constructor. | |
EntityWithOwner & | operator= (const EntityWithOwner &) |
Assignment operator. | |
virtual bool | operator== (const EntityWithOwner &) const |
Comparison operator. | |
virtual | ~EntityWithOwner (void) |
Virtual destructor. | |
virtual std::string | getClassName (void) const |
Returns demangled class name. | |
void | set_owner (EntityWithOwner *owr) |
Assigns the owner of the object. | |
EntityWithOwner * | Owner (void) |
const EntityWithOwner * | Owner (void) const |
![]() | |
RecorderContainer (DataOutputHandler::map_output_handlers *oh=nullptr) | |
virtual | ~RecorderContainer (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. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary with the object members values. | |
void | setPyDict (const boost::python::dict &) |
Set the values of the object members from a Python dictionary. | |
Protected Member Functions | |
Linear (SolutionStrategy *) | |
Constructor. | |
virtual SolutionAlgorithm * | getCopy (void) const |
![]() | |
EquiSolnAlgo (SolutionStrategy *, int classTag) | |
Constructor. More... | |
![]() | |
SolutionStrategy * | getSolutionStrategy (void) |
Return a pointer to the solution method which owns this object. | |
const SolutionStrategy * | getSolutionStrategy (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 (Communicator &) |
Send object members through the communicator argument. | |
int | recvData (const Communicator &) |
Receive object members through the communicator argument. | |
SolutionAlgorithm (SolutionStrategy *, int classTag) | |
Constructor. | |
![]() | |
template<class T > | |
void | string_to (T &, const std::string &) const |
![]() | |
bool | isEqual (const EntityWithProperties &) const |
Return true if both objects are equal. | |
![]() | |
virtual bool | isEqual (const EntityWithOwner &) const |
Return true if both objects are equal. | |
![]() | |
int | sendData (Communicator &comm) |
int | recvData (const Communicator &comm) |
size_t | getNumRecorders (void) const |
Returns the number of recorders already defined. | |
Friends | |
class | SolutionStrategy |
class | FEM_ObjectBroker |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, boost::python::object > | PythonDict |
![]() | |
typedef std::list< Recorder * > | recorders_list |
typedef recorders_list::iterator | recorder_iterator |
typedef recorders_list::const_iterator | const_recorder_iterator |
![]() | |
static void | resetStandardOutput (void) |
Reset the standard output streams to its defaults buffers. | |
![]() | |
static int | getVerbosityLevel (void) |
Get the value of the verbosity level. | |
static void | setVerbosityLevel (const int &) |
Set the value of the verbosity level. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
Linear solution algorithm.
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.