class WilsonTheta : public TransientIntegrator


Inheritance:


Public Methods

WilsonTheta()
WilsonTheta(double theta)
WilsonTheta(double theta, double alphaM, double betaK)
~WilsonTheta()
virtual int formEleResidual(FE_Element *theEle)
virtual int formNodUnbalance(DOF_Group *theDof)
int formEleTangent(FE_Element *theEle)
int formNodTangent(DOF_Group *theDof)
int domainChanged(void)
int newStep(double deltaT)
int update(const Vector &deltaU)
int commit(void)
virtual int sendSelf(int commitTag, Channel &theChannel)
virtual int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)
void Print(ostream &s, int flag =0)

Inherited from TransientIntegrator:

Public Methods

virtual int formTangent(void)

Inherited from IncrementalIntegrator:

Public Methods

virtual void setLinks(AnalysisModel &theModel, LinearSOE &theSOE)
virtual int formUnbalance(void)
virtual int getLastResponse(Vector &result, const ID &id)

Protected Methods

LinearSOE* getLinearSOEPtr(void) const
AnalysisModel* getAnalysisModelPtr(void) const
virtual int formNodalUnbalance(void)
virtual int formElementResidual(void)

Documentation

WilsonTheta is a subclass of TransientIntegrator which implements the Wilson\Theta method. In the Wilson\Theta method, to determine the velocities, accelerations and displacements at time t + \theta \Delta t, \theta \ge 1.37, for \U_{t+ \theta \Delta t}



where we use following functions to relate \Ud_{t + \theta \Delta t} and \Udd_{t + \theta \Delta t} to \U_{t + \theta \Delta t} and the response quantities at time t:





which results in the following for determining the responses at t + \theta \Delta t



The response quantities at time t + \Delta t are then determined using the following







WilsonTheta()

The integer INTEGRATOR_TAGS_WilsonTheta is passed to the TransientIntegrator constructor. \Theta is set to 0.0. This constructor should only be invoked by an FEM_ObjectBroker.

WilsonTheta(double theta)

Sets \Theta to theta, \gamma to (1.5 - \alpha) and \beta to 0.25*\alpha^2. addition, a flag is set indicating that Rayleigh damping will not be used.

WilsonTheta(double theta, double alphaM, double betaK)

Sets \Theta to theta, \gamma to (1.5 - \alpha) and \beta to 0.25*\alpha^2. In addition, a flag is set indicating that Rayleigh damping will not be used.

~WilsonTheta()

This constructor is invoked if Rayleigh damping is to be used, i.e. \D = \alpha_M M + \beta_K K. Sets \Theta to theta, \gamma to (1.5 - \alpha), \beta to 0.25*\alpha^2, \alpha_M to alphaM and \beta_K to betaK. Sets a flag indicating whether the incremental solution is done in terms of displacement or acceleration to dispFlag and a flag indicating that Rayleigh damping will be used.

virtual int formEleResidual(FE_Element *theEle)

virtual int formNodUnbalance(DOF_Group *theDof)

int formEleTangent(FE_Element *theEle)

int formNodTangent(DOF_Group *theDof)

int domainChanged(void)

int newStep(double deltaT)

int update(const Vector &deltaU)

int commit(void)

virtual int sendSelf(int commitTag, Channel &theChannel)

virtual int recvSelf(int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

void Print(ostream &s, int flag =0)


This class has no child classes.

alphabetic index Contents

this page has been generated automatically by a slightly modified version of doc++ for OpenSees

Copyright Contact Us