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

Base class for the objects that performs the integration of physical properties over the domain to form the system stiffness matrix. More...

#include <Integrator.h>

Inheritance diagram for XC::Integrator:
XC::MovableObject XC::DistributedBase XC::EigenIntegrator XC::IncrementalIntegrator XC::KEigenIntegrator XC::LinearBucklingIntegrator XC::StaticIntegrator XC::BaseControl XC::LoadPath XC::ProtoArcLength XC::StaticSensitivityIntegrator XC::DispBase XC::LoadControl XC::ArcLengthBase XC::HSConstraint XC::DisplacementControl XC::MinUnbalDispNorm XC::DistributedDisplacementControl

Public Member Functions

virtual int domainChanged (void)
 Make required changes when a change in the domain occurs. More...
 
virtual int formEleTangent (FE_Element *theEle)=0
 Called upon to determine the FE_Element theEles matrix contribution to the SystemOfEqn object. More...
 
virtual int formNodTangent (DOF_Group *theDof)=0
 Called upon to determine the DOF_Group theDofs matrix contribution to the SystemOfEqn object. More...
 
virtual int formEleResidual (FE_Element *theEle)=0
 Called upon to determine the FE_Element theEles vector contribution to the SystemOfEqn object. More...
 
virtual int formNodUnbalance (DOF_Group *theDof)=0
 Called upon to determine the DOF_Group theDofs vector contribution to the SystemOfEqn object. More...
 
virtual int getLastResponse (Vector &result, const ID &id)=0
 Called upon to get the result quantities for the components specified in the ID id and to place them in the Vector result. More...
 
virtual void Print (std::ostream &s, int flag=0)
 The Integrator is to send information to the stream based on the integer flag. More...
 
- 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 sendSelf (CommParameters &cp)=0
 Send the object. More...
 
virtual int recvSelf (const CommParameters &cp)=0
 Receive the object. 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.
 

Protected Member Functions

AnalysisAggregationgetAnalysisAggregation (void)
 Returns a pointer to the solution method that owns this object.
 
const AnalysisAggregationgetAnalysisAggregation (void) const
 Returns a const pointer to the solution method that owns this object.
 
void applyLoadModel (double newTime)
 
int updateModel (void)
 
int updateModel (double newTime, double dT)
 
int commitModel (void)
 
double getCurrentModelTime (void)
 
void setCurrentModelTime (const double &t)
 
void setRayleighDampingFactors (const RayleighDampingFactors &rF)
 
int sendData (CommParameters &)
 Send object members through the channel being passed as parameter.
 
int recvData (const CommParameters &)
 Receives object members through the channel being passed as parameter.
 
virtual AnalysisModelgetAnalysisModelPtr (void)
 Returns a pointer to the analysis model. More...
 
virtual const AnalysisModelgetAnalysisModelPtr (void) const
 Returns a pointer to the analysis model. More...
 
 Integrator (AnalysisAggregation *, int classTag)
 Constructor. More...
 
virtual IntegratorgetCopy (void) const =0
 

Friends

class AnalysisAggregation
 

Detailed Description

Base class for the objects that performs the integration of physical properties over the domain to form the system stiffness matrix.

The Integrator class is an abstract base class. Its purpose is to define the interface common among all subclasses. An integrator method is responsible for defining how the system of equations are set up (this it does by specifying how the FE_Element and DOF_Group objects of the analysis model construct the vectors and matrices asked of them by the Analysis). It is also responsible for updating the response quantities at the DOFs with the appropriate values; the values are determined from the solution to the system of equations.

Constructor & Destructor Documentation

§ Integrator()

XC::Integrator::Integrator ( AnalysisAggregation owr,
int  clasTag 
)
protected

Constructor.

Parameters
owrset of objects used to perform the analysis.

Member Function Documentation

§ domainChanged()

int XC::Integrator::domainChanged ( void  )
virtual

Make required changes when a change in the domain occurs.

Is called by the Analysis object. Refer to the Analysis classes to see when it is invoked. To return \(0\) if successful, a negative number if not. This base class returns \(0\).

Reimplemented in XC::DisplacementControl, XC::MinUnbalDispNorm, XC::DistributedDisplacementControl, and XC::ProtoArcLength.

§ formEleResidual()

virtual int XC::Integrator::formEleResidual ( FE_Element theEle)
pure virtual

Called upon to determine the FE_Element theEles vector contribution to the SystemOfEqn object.

To return \(0\) if successful, a negative number otherwise.

Implemented in XC::StaticIntegrator, XC::IncrementalIntegrator, XC::EigenIntegrator, and XC::StaticSensitivityIntegrator.

§ formEleTangent()

virtual int XC::Integrator::formEleTangent ( FE_Element theEle)
pure virtual

Called upon to determine the FE_Element theEles matrix contribution to the SystemOfEqn object.

To return \(0\) if successful, a negative number otherwise.

Implemented in XC::StaticIntegrator, XC::IncrementalIntegrator, and XC::EigenIntegrator.

§ formNodTangent()

virtual int XC::Integrator::formNodTangent ( DOF_Group theDof)
pure virtual

Called upon to determine the DOF_Group theDofs matrix contribution to the SystemOfEqn object.

To return \(0\) if successful, a negative number otherwise.

Implemented in XC::StaticIntegrator, XC::IncrementalIntegrator, and XC::EigenIntegrator.

§ formNodUnbalance()

virtual int XC::Integrator::formNodUnbalance ( DOF_Group theDof)
pure virtual

Called upon to determine the DOF_Group theDofs vector contribution to the SystemOfEqn object.

To return \(0\) if successful, a negative number otherwise.

Implemented in XC::StaticIntegrator, XC::IncrementalIntegrator, and XC::EigenIntegrator.

§ getAnalysisModelPtr() [1/2]

XC::AnalysisModel * XC::Integrator::getAnalysisModelPtr ( void  )
protectedvirtual

Returns a pointer to the analysis model.

A member function which returns a pointer to the AnalysisModel associated with the Integrator object, i.e. theModel.

§ getAnalysisModelPtr() [2/2]

const XC::AnalysisModel * XC::Integrator::getAnalysisModelPtr ( void  ) const
protectedvirtual

Returns a pointer to the analysis model.

A const member function which returns a const pointer to the AnalysisModel associated with the Integrator object, i.e. theModel.

§ getLastResponse()

virtual int XC::Integrator::getLastResponse ( Vector result,
const ID id 
)
pure virtual

Called upon to get the result quantities for the components specified in the ID id and to place them in the Vector result.

This is provided for domain decomposition methods. To return \(0\) if successful, a negative number otherwise.

Implemented in XC::IncrementalIntegrator, and XC::EigenIntegrator.

§ Print()

void XC::Integrator::Print ( std::ostream &  os,
int  flag = 0 
)
virtual

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