DisplacementControl


# DisplacementControl

#include <analysis/integrator/DisplacementControl.h>

UNDER CONSTRUCTION.

class DisplacementControl: public StaticIntegrator

MovableObject
Integrator
IncrementalIntegrator
StaticIntegrator


DisplacementControl is a subclass of StaticIntegrator, it is used to when performing a static analysis on the FE_Model using the displacement control method. In the displacement control method the displacement at a specified degree-of-freedom Uc is specified for each iteration. The following constraint equation is added to equation [staticFormTaylor] of the StaticIntegrator class:

\[Uc_n^{(i)} - Uc_{n-1} = \delta Uc_n\]

where \(\delta Uc_n\) depends on \(\delta Uc_{n-1}\), the displacement increment at the previous time step, \(J_{n-1}\), the number of iterations required to achieve convergence in the previous load step, and \(Jd\), the desired number of iteraions. \(\delta Uc_n\) is bounded by \(\delta Uc_{min}\) and \(\delta Uc_{max}\). \[\delta Ucn = max \left( \delta Uc{min}, min \left( \frac{Jd}{J_{n-1}} \delta Uc{n-1}, \delta Uc{max} \right) \right)\]

SOME THEORY.

// Constructors


// Destructor


// Public Methods



// Public Methods for Output



The integer INTEGRATOR_TAGS_DisplacementControl (defined in \(<\)classTags.h\(>\)) is passed to the StaticIntegrator classes constructor. \(\delta Uc_1\) is the load factor used in the first step. The arguments \(Jd\), \(\delta Uc_{min}\), and \(\delta Uc_{max}\) are used in the determination of the increment in the load factor at each step.


Does nothing.

int newStep(void);

WHAT DO I DO?

int update(const Vector &$\Delta U$);

WHAT DO I DO?
int sendSelf(int commitTag, Channel &theChannel);
WHAT DO I DO?
int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker);
WHAT DO I DO?

int Print(OPS_Stream &s, int flag = 0);

WHAT DO I DO?

Back to top