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

A LagrangeDOF_Group object is instantiated by a LagrangeConstraintHandler for every constrained node in the domain. More...

#include <LagrangeDOF_Group.h>

Inheritance diagram for XC::LagrangeDOF_Group:
XC::DOF_Group XC::TaggedObject

Public Member Functions

virtual const MatrixgetTangent (Integrator *theIntegrator)
 Does nothing; the Lagrange FE_Elements provide coeffs to tangent.
 
virtual const VectorgetUnbalance (Integrator *theIntegrator)
 Does nothing; the Lagrange FE_Elements provide residual.
 
virtual const VectorgetCommittedDisp (void)
 To return the committed displacement at the associated node. More...
 
virtual const VectorgetCommittedVel (void)
 Return the committed velocity at the associated node. More...
 
virtual const VectorgetCommittedAccel (void)
 Return the committed acceleration at the associated node. More...
 
virtual void setNodeDisp (const Vector &u)
 Does nothing. More...
 
virtual void setNodeVel (const Vector &udot)
 Does nothing. More...
 
virtual void setNodeAccel (const Vector &udotdot)
 Does nothing. More...
 
virtual void incrNodeDisp (const Vector &u)
 Does nothing. More...
 
virtual void incrNodeVel (const Vector &udot)
 Does nothing. More...
 
virtual void incrNodeAccel (const Vector &udotdot)
 Does nothing. More...
 
virtual void zeroTangent (void)
 To zero the tangent matrix. More...
 
virtual void addMtoTang (double fact=1.0)
 To add fact times the nodal mass matrix to the tangent matrix. More...
 
virtual void zeroUnbalance (void)
 To zero the unbalance vector. More...
 
virtual void addPtoUnbalance (double fact=1.0)
 Adds the product of the unbalanced load at the node and fact to the unbalance vector. More...
 
virtual void addPIncInertiaToUnbalance (double fact=1.0)
 
virtual void addM_Force (const Vector &Udotdot, double fact=1.0)
 
virtual const VectorgetTangForce (const Vector &x, double fact=1.0)
 
virtual const VectorgetC_Force (const Vector &x, double fact=1.0)
 
virtual const VectorgetM_Force (const Vector &x, double fact=1.0)
 
- Public Member Functions inherited from XC::DOF_Group
virtual ~DOF_Group ()
 Destructor.
 
virtual void setID (int dof, int value)
 to set the corresponding index of the ID to value. More...
 
virtual void setID (const ID &values)
 Method to set the ID to be same as that given. More...
 
virtual const IDgetID (void) const
 Method to return the current ID. More...
 
int inicID (const int &value)
 
virtual int getNodeTag (void) const
 Returns the tag of the associated node (-1 if there is no associated node). More...
 
virtual int getNumDOF (void) const
 Returns the total number of DOFs in the DOF_Group.
 
virtual int getNumFreeDOF (void) const
 Returns the total number of free DOFs. More...
 
virtual int getNumConstrainedDOF (void) const
 Returns the total number of constrained DOFs. More...
 
virtual void addCtoTang (double fact=1.0)
 
virtual void setEigenvector (int mode, const Vector &eigenvalue)
 
virtual MatrixgetT (void)
 
virtual void addM_ForceSensitivity (const Vector &Udotdot, double fact=1.0)
 
virtual void addD_ForceSensitivity (const Vector &vel, double fact=1.0)
 
virtual void addD_Force (const Vector &vel, double fact=1.0)
 
virtual const VectorgetDispSensitivity (int gradNumber)
 
virtual const VectorgetVelSensitivity (int gradNumber)
 
virtual const VectorgetAccSensitivity (int gradNumber)
 
virtual int saveSensitivity (Vector *v, Vector *vdot, Vector *vdotdot, int gradNum, int numGrads)
 
virtual void Print (std::ostream &, int=0)
 Print stuff.
 
virtual void resetNodePtr (void)
 
- Public Member Functions inherited from XC::TaggedObject
 TaggedObject (int tag, CommandEntity *owr=nullptr)
 Constructor. More...
 
virtual TaggedObjectgetCopy (void) const
 Virtual constructor.
 
void assignTag (int newTag)
 Set tag (to be called from Python interface).
 
int getTag (void) const
 Returns the tag associated with the object.
 

Protected Member Functions

 LagrangeDOF_Group (int tag, SFreedom_Constraint &)
 Constructor. More...
 
 LagrangeDOF_Group (int tag, MFreedom_Constraint &)
 Constructor. More...
 
 LagrangeDOF_Group (int tag, MRMFreedom_Constraint &)
 Constructor. More...
 
- Protected Member Functions inherited from XC::DOF_Group
void addLocalM_Force (const Vector &Udotdot, double fact=1.0)
 
 DOF_Group (int tag, Node *myNode)
 Constructor that take the corresponding model node. More...
 
 DOF_Group (int tag, int ndof)
 Constructor. More...
 
- Protected Member Functions inherited from XC::TaggedObject
void setTag (int newTag)
 Set tag. More...
 

Friends

class AnalysisModel
 

Additional Inherited Members

- Protected Attributes inherited from XC::DOF_Group
UnbalAndTangent unbalAndTangent
 
NodemyNode
 

Detailed Description

A LagrangeDOF_Group object is instantiated by a LagrangeConstraintHandler for every constrained node in the domain.

It is used to introduce the lagrange multipliers associated with single and multi-point constraints into the system of equation.

Constructor & Destructor Documentation

§ LagrangeDOF_Group() [1/3]

XC::LagrangeDOF_Group::LagrangeDOF_Group ( int  tag,
SFreedom_Constraint spPtr 
)
protected

Constructor.

Parameters
tagobject identifier.
spPtrpointer to a single DOF constraint.

§ LagrangeDOF_Group() [2/3]

XC::LagrangeDOF_Group::LagrangeDOF_Group ( int  tag,
MFreedom_Constraint mpPtr 
)
protected

Constructor.

Parameters
tagobject identifier.
spPtrpointer to a multiple DOF constraint.

§ LagrangeDOF_Group() [3/3]

XC::LagrangeDOF_Group::LagrangeDOF_Group ( int  tag,
MRMFreedom_Constraint mrmpPtr 
)
protected

Constructor.

Parameters
tagobject identifier.
spPtrpointer to a multiple row multiple DOF constraint.

Member Function Documentation

§ addMtoTang()

void XC::LagrangeDOF_Group::addMtoTang ( double  fact = 1.0)
virtual

To add fact times the nodal mass matrix to the tangent matrix.

To add fact times the nodal mass matrix to the tangent matrix. In this base class, if a Matrix to store the tangent has not yet been created, one of size (numDOF,numDOF) is now created; if construction of this matrix fails an error is printed and an error Matrix is returned. Invokes {addMatrix(theNode- \(>\)getMass,fact)} on the Matrix, printing a warining message if this method returns a \(negative\) value. If no Node is associated with the DOF_Group an error message is printed and nothing is done.

Reimplemented from XC::DOF_Group.

§ addPtoUnbalance()

void XC::LagrangeDOF_Group::addPtoUnbalance ( double  fact = 1.0)
virtual

Adds the product of the unbalanced load at the node and fact to the unbalance vector.

Adds the product of the unbalanced load at the node and fact to the unbalance vector. A warning message is printed and nothing is done if no node is associated with the DOF_Group, otherwise {addVector(theNode- \(>\)getUnbalancedLoad(),fact)} is invoked on the unbalance vector and a warning message is printed if this method returns a negative value.

Reimplemented from XC::DOF_Group.

§ getCommittedAccel()

const XC::Vector & XC::LagrangeDOF_Group::getCommittedAccel ( void  )
virtual

Return the committed acceleration at the associated node.

Return the committed acceleration at the associated node. Returns result of invoking getAccel() on the Node. If there is no associated node object, an error message is printed and an error Vector is returned.

Reimplemented from XC::DOF_Group.

§ getCommittedDisp()

const XC::Vector & XC::LagrangeDOF_Group::getCommittedDisp ( void  )
virtual

To return the committed displacement at the associated node.

To return the committed displacement at the associated node. Returns the result of invoking getDisp() on the node. If there is no associated node object, an error message is printed and an error Vector is returned.

Reimplemented from XC::DOF_Group.

§ getCommittedVel()

const XC::Vector & XC::LagrangeDOF_Group::getCommittedVel ( void  )
virtual

Return the committed velocity at the associated node.

To return the committed velocity at the associated node. Returns the result of invoking getVel() on the node. If there is no associated node object, an error message is printed and an error Vector is returned.

Reimplemented from XC::DOF_Group.

§ incrNodeAccel()

void XC::LagrangeDOF_Group::incrNodeAccel ( const Vector udotdot)
virtual

Does nothing.

The lagrange multipliers are associated with no Nodes in the Domain.

Reimplemented from XC::DOF_Group.

§ incrNodeDisp()

void XC::LagrangeDOF_Group::incrNodeDisp ( const Vector u)
virtual

Does nothing.

The lagrange multipliers are associated with no Nodes in the Domain.

Reimplemented from XC::DOF_Group.

§ incrNodeVel()

void XC::LagrangeDOF_Group::incrNodeVel ( const Vector udot)
virtual

Does nothing.

The lagrange multipliers are associated with no Nodes in the Domain.

Reimplemented from XC::DOF_Group.

§ setNodeAccel()

void XC::LagrangeDOF_Group::setNodeAccel ( const Vector udotdot)
virtual

Does nothing.

The lagrange multipliers are associated with no Nodes in the Domain.

Reimplemented from XC::DOF_Group.

§ setNodeDisp()

void XC::LagrangeDOF_Group::setNodeDisp ( const Vector u)
virtual

Does nothing.

The lagrange multipliers are associated with no Nodes in the Domain.

Reimplemented from XC::DOF_Group.

§ setNodeVel()

void XC::LagrangeDOF_Group::setNodeVel ( const Vector udot)
virtual

Does nothing.

The lagrange multipliers are associated with no Nodes in the Domain.

Reimplemented from XC::DOF_Group.

§ zeroTangent()

void XC::LagrangeDOF_Group::zeroTangent ( void  )
virtual

To zero the tangent matrix.

To zero the tangent. If a tangent matrix has been allocated, will invoke Zero() on the tangent matrix.

Reimplemented from XC::DOF_Group.

§ zeroUnbalance()

void XC::LagrangeDOF_Group::zeroUnbalance ( void  )
virtual

To zero the unbalance vector.

To zero the unbalance vector. Invokes Zero() on the vector object used to store the unbalance information.

Reimplemented from XC::DOF_Group.


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