Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

IncrementalIntegrator Class Reference

#include <IncrementalIntegrator.h>

Inheritance diagram for IncrementalIntegrator::

Integrator MovableObject StaticIntegrator TransientIntegrator ArcLength DisplacementControl LoadControl MinUnbalDispNorm HHT Newmark List of all members.

Public Methods

 IncrementalIntegrator (int classTag)
virtual ~IncrementalIntegrator ()
virtual void setLinks (AnalysisModel &theModel, LinearSOE &theSOE)
virtual int formTangent (int statusFlag=CURRENT_TANGENT)
 methods to set up the system of equations. More...

virtual int formUnbalance (void)
virtual int formEleTangent (FE_Element *theEle)=0
 pure virtual methods to define the FE_ELe and DOF_Group contributions. More...

virtual int formNodTangent (DOF_Group *theDof)=0
virtual int formEleResidual (FE_Element *theEle)=0
virtual int formNodUnbalance (DOF_Group *theDof)=0
virtual int update (const Vector &deltaU)=0
 methods to update the domain. More...

virtual int commit (void)
virtual int revertToLastStep (void)
virtual int initialize (void)
virtual int getLastResponse (Vector &result, const ID &id)
 method introduced for domain decomposition. More...


Protected Methods

LinearSOEgetLinearSOEPtr (void) const
AnalysisModelgetAnalysisModelPtr (void) const
virtual int formNodalUnbalance (void)
virtual int formElementResidual (void)

Protected Attributes

int statusFlag

Detailed Description

IncrementalIntegrator is an abstract class. A subclass of it is used when performing a static or transient analysis using an incremental displacement approach. Subclasses of IncrementalIntegrators provide methods informing the FE\_Element and DOF\_Group objects how to build the tangent and residual matrices and vectors. They also provide the method for updating the response quantities at the DOFs with appropriate values; these values being some function of the solution to the linear system of equations. \

}

Definition at line 72 of file IncrementalIntegrator.h.


Constructor & Destructor Documentation

IncrementalIntegrator::IncrementalIntegrator ( int classTag )
 

The integer {classTag} is passed to the Integrator classes constructor. Pointers to the AnalysisModel and LinearSOE are set to .

Definition at line 45 of file IncrementalIntegrator.cpp.

IncrementalIntegrator::~IncrementalIntegrator ( ) [virtual]
 

Does nothing.

Definition at line 53 of file IncrementalIntegrator.cpp.


Member Function Documentation

int IncrementalIntegrator::commit ( void ) [virtual]
 

Reimplemented in HHT.

Definition at line 161 of file IncrementalIntegrator.cpp.

Referenced by VariableTimeStepDirectIntegrationAnalysis::analyze(), StaticAnalysis::analyze(), DirectIntegrationAnalysis::analyze(), StaticAnalysis::initialize(), and DirectIntegrationAnalysis::initialize().

int IncrementalIntegrator::formEleResidual ( FE_Element * theEle ) [pure virtual]
 

Called upon to determine the FE\_Element {theEle}s vector contribution to the SystemOfEqn object. To return if successful, a negative number otherwise.

Reimplemented from Integrator.

Reimplemented in HHT, Newmark, StaticIntegrator, and TransientIntegrator.

int IncrementalIntegrator::formEleTangent ( FE_Element * theEle ) [pure virtual]
 

pure virtual methods to define the FE_ELe and DOF_Group contributions.

Reimplemented from Integrator.

Reimplemented in HHT, Newmark, and StaticIntegrator.

int IncrementalIntegrator::formElementResidual ( void ) [protected, virtual]
 

Definition at line 211 of file IncrementalIntegrator.cpp.

Referenced by formUnbalance().

int IncrementalIntegrator::formNodTangent ( DOF_Group * theDof ) [pure virtual]
 

To inform the DOF\_Group how to build its tangent matrix for addition to the system of equations. The subclasses must provide the implementation of this method. This is required in transient analysis as th Node objects have mass. THIS MAY CHANGE.

Reimplemented from Integrator.

Reimplemented in HHT, Newmark, and StaticIntegrator.

int IncrementalIntegrator::formNodUnbalance ( DOF_Group * theDof ) [pure virtual]
 

Called upon to determine the DOF\_Group {theDof}s vector contribution to the SystemOfEqn object. To return if successful, a negative number otherwise.

Reimplemented from Integrator.

Reimplemented in HHT, Newmark, StaticIntegrator, and TransientIntegrator.

int IncrementalIntegrator::formNodalUnbalance ( void ) [protected, virtual]
 

Definition at line 193 of file IncrementalIntegrator.cpp.

Referenced by formUnbalance().

int IncrementalIntegrator::formTangent ( int statFlag = CURRENT_TANGENT ) [virtual]
 

methods to set up the system of equations.

Reimplemented in TransientIntegrator.

Definition at line 67 of file IncrementalIntegrator.cpp.

Referenced by DomainDecompositionAnalysis::formTangent(), MinUnbalDispNorm::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), NewtonRaphson::solveCurrentStep(), NewtonLineSearch::solveCurrentStep(), ModifiedNewton::solveCurrentStep(), Linear::solveCurrentStep(), KrylovNewton::solveCurrentStep(), Broyden::solveCurrentStep(), and BFGS::solveCurrentStep().

int IncrementalIntegrator::formUnbalance ( void ) [virtual]
 

Invoked to form the unbalance. The method fist zeros out the vector of the LinearSOE object and then invokes formElementResidual() and formNodalUnbalance() on itself.

Definition at line 99 of file IncrementalIntegrator.cpp.

Referenced by MinUnbalDispNorm::domainChanged(), DisplacementControl::domainChanged(), ArcLength::domainChanged(), DomainDecompositionAnalysis::formResidual(), NewtonRaphson::solveCurrentStep(), NewtonLineSearch::solveCurrentStep(), ModifiedNewton::solveCurrentStep(), Linear::solveCurrentStep(), KrylovNewton::solveCurrentStep(), Broyden::solveCurrentStep(), and BFGS::solveCurrentStep().

AnalysisModel * IncrementalIntegrator::getAnalysisModelPtr ( void ) const [protected]
 

Definition at line 187 of file IncrementalIntegrator.cpp.

Referenced by Newmark::Print(), MinUnbalDispNorm::Print(), LoadControl::Print(), HHT::Print(), ArcLength::Print(), HHT::commit(), Newmark::domainChanged(), MinUnbalDispNorm::domainChanged(), HHT::domainChanged(), DisplacementControl::domainChanged(), ArcLength::domainChanged(), TransientIntegrator::formTangent(), Newmark::newStep(), MinUnbalDispNorm::newStep(), LoadControl::newStep(), HHT::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), Newmark::update(), MinUnbalDispNorm::update(), LoadControl::update(), HHT::update(), DisplacementControl::update(), and ArcLength::update().

int IncrementalIntegrator::getLastResponse ( Vector & result,
const ID & id ) [virtual]
 

method introduced for domain decomposition.

Reimplemented from Integrator.

Definition at line 125 of file IncrementalIntegrator.cpp.

LinearSOE * IncrementalIntegrator::getLinearSOEPtr ( void ) const [protected]
 

Definition at line 181 of file IncrementalIntegrator.cpp.

Referenced by Newmark::domainChanged(), MinUnbalDispNorm::domainChanged(), HHT::domainChanged(), DisplacementControl::domainChanged(), ArcLength::domainChanged(), TransientIntegrator::formTangent(), MinUnbalDispNorm::newStep(), DisplacementControl::newStep(), ArcLength::newStep(), MinUnbalDispNorm::update(), DisplacementControl::update(), and ArcLength::update().

int IncrementalIntegrator::initialize ( void ) [virtual]
 

Reimplemented in HHT, Newmark, and TransientIntegrator.

Definition at line 155 of file IncrementalIntegrator.cpp.

Referenced by StaticAnalysis::initialize().

int IncrementalIntegrator::revertToLastStep ( void ) [virtual]
 

Reimplemented in HHT, and Newmark.

Definition at line 174 of file IncrementalIntegrator.cpp.

Referenced by VariableTimeStepDirectIntegrationAnalysis::analyze(), StaticAnalysis::analyze(), and DirectIntegrationAnalysis::analyze().

void IncrementalIntegrator::setLinks ( AnalysisModel & theModel,
LinearSOE & theSOE ) [virtual]
 

Invoked by the Analysis object to set up the links the IncrementalIntegrator objects needs to perform its operations. Sets the pointers to the AnalysisModel and LinearSOE objects to point to {theAnalaysisModel} and {theSOE}.

Definition at line 59 of file IncrementalIntegrator.cpp.

Referenced by DirectIntegrationAnalysis::DirectIntegrationAnalysis(), DomainDecompositionAnalysis::DomainDecompositionAnalysis(), StaticAnalysis::StaticAnalysis(), DomainDecompositionAnalysis::recvSelf(), StaticAnalysis::setIntegrator(), DirectIntegrationAnalysis::setIntegrator(), StaticAnalysis::setLinearSOE(), and DirectIntegrationAnalysis::setLinearSOE().

int IncrementalIntegrator::update ( const Vector & deltaU ) [pure virtual]
 

methods to update the domain.

Reimplemented in ArcLength, DisplacementControl, HHT, LoadControl, MinUnbalDispNorm, and Newmark.

Referenced by NewtonRaphson::solveCurrentStep(), NewtonLineSearch::solveCurrentStep(), ModifiedNewton::solveCurrentStep(), Linear::solveCurrentStep(), KrylovNewton::solveCurrentStep(), DomainDecompAlgo::solveCurrentStep(), Broyden::solveCurrentStep(), and BFGS::solveCurrentStep().


Member Data Documentation

int IncrementalIntegrator::statusFlag [protected]
 

Definition at line 147 of file IncrementalIntegrator.h.


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