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

StaticIntegrator Class Reference

#include <StaticIntegrator.h>

Inheritance diagram for StaticIntegrator::

IncrementalIntegrator Integrator MovableObject ArcLength DisplacementControl LoadControl MinUnbalDispNorm List of all members.

Public Methods

 StaticIntegrator (int classTag)
virtual ~StaticIntegrator ()
virtual int formEleTangent (FE_Element *theEle)
 to the system of equation object. More...

virtual int formEleResidual (FE_Element *theEle)
virtual int formNodTangent (DOF_Group *theDof)
virtual int formNodUnbalance (DOF_Group *theDof)
virtual int newStep (void)=0

Detailed Description

StaticIntegrator is an abstract class. It is a subclass of IncrementalIntegrator provided to implement the common methods among integrator classes used in performing a static analysis on the FE\_Model. The StaticIntegrator class provides an implementation of the methods to form the FE\_Element and DOF\_Group contributions to the tangent and residual. A pure virtual method {newStep()} is also defined in the interface, this is the method first called at each iteration in a static analysis, see the StaticAnalysis class. \

In static nonlinear finite element problems we seek a solution ( , ) to the nonlinear vector function

\begin{equation} \R(U, \lambda) = \lambda \P - \F_R(U) = \zero \label{staticGenForm} \end{equation}

The most widely used technique for solving the non-linear finite element equation, equation~\ref{femGenForm}, is to use an incremental scheme. In the incremental formulation, a solution to the equation is sought at successive incremental steps.

\begin{equation} \R(U_{n}, \lambda_n) = \lambda_n \P - \F_R(U_{n}) \label{staticIncForm} \end{equation}

The solution of this equation is typically obtained using an iterative procedure, in which a sequence of approximations ( , ), is obtained which converges to the solution ( , . The most frequently used iterative schemes, such as Newton-Raphson, modified Newton, and quasi Newton schemes, are based on a Taylor expansion of equation~\ref{staticIncForm} about ( , ):

\begin{equation} \R(U_{n},\lambda_n) = \lambda_n^{(i)} \P

  • \f_{R}\left(U_{n}^{(i)} \right) - \left[ \begin{array}{cc} K_n^{(i)} & -\P \ \end{array} \right] \left\{ \begin{array}{c} U_{n} - U_{n}^{(i)} \ \lambda_n - \lambda_n^{(i)} \end{array} \right\} \label{staticFormTaylor} \end{equation}
which a system of of equations with ( ) unknowns. Two solve this, an additional equation is required, the constraint equation. The constraint equation used depends on the static integration scheme, of which there are a number, for example load control, arc length, and displacement control. \

Definition at line 109 of file StaticIntegrator.h.


Constructor & Destructor Documentation

StaticIntegrator::StaticIntegrator ( int classTag )
 

The integer {classTag} is passed to the IncrementalIntegrator classes constructor.

Definition at line 48 of file StaticIntegrator.cpp.

StaticIntegrator::~StaticIntegrator ( ) [virtual]
 

Does nothing. Provided so that the subclasses destructors will be called.

Definition at line 54 of file StaticIntegrator.cpp.


Member Function Documentation

int StaticIntegrator::formEleResidual ( FE_Element * theEle ) [virtual]
 

To form the residual vector of the FE\_Element, {theEle}, is instructed to zero the vector and then add it's vector to the residual, i.e. it performs the following: \begin{tabbing} while \= \+ while \= while \= \kill theEle- zeroResidual()

Reimplemented from IncrementalIntegrator.

Definition at line 78 of file StaticIntegrator.cpp.

int StaticIntegrator::formEleTangent ( FE_Element * theEle ) [virtual]
 

to the system of equation object.

Reimplemented from IncrementalIntegrator.

Definition at line 59 of file StaticIntegrator.cpp.

int StaticIntegrator::formNodTangent ( DOF_Group * theDof ) [virtual]
 

This should never be called in a static analysis. An error message is printed if it is. Returns -1.

Reimplemented from IncrementalIntegrator.

Definition at line 87 of file StaticIntegrator.cpp.

int StaticIntegrator::formNodUnbalance ( DOF_Group * theDof ) [virtual]
 

To form the unbalance vector of the DOF\_Group, {theDof}, is instructed to zero the vector and then add it's vector to the unbalance, i.e. it performs the following: \begin{tabbing} while \= \+ while \= while \= \kill theDof- zeroUnbalance()

Reimplemented from IncrementalIntegrator.

Definition at line 96 of file StaticIntegrator.cpp.

int StaticIntegrator::newStep ( void ) [pure virtual]
 

Reimplemented in ArcLength, DisplacementControl, LoadControl, and MinUnbalDispNorm.

Referenced by StaticAnalysis::analyze().


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