xc
Public Member Functions | Friends | List of all members
XC::LagrangeMFreedom_FE Class Reference

] at the locations corresponding to the constrained degree-of-freedoms specified by the MFreedom_Constraint, i.e. More...

#include <LagrangeMFreedom_FE.h>

Inheritance diagram for XC::LagrangeMFreedom_FE:
XC::MFreedom_FE XC::Lagrange_FE XC::MPBase_FE XC::MPSPBaseFE XC::FE_Element XC::TaggedObject

Public Member Functions

virtual int setID (void)
 method to set the corresponding index of the ID to value. More...
 
virtual const MatrixgetTangent (Integrator *theIntegrator)
 If the MFreedom_Constraint is time-varying, from the MFreedom_Constraint theMFreedom it obtains the current \(C_{cr}\) matrix; it then adds the contribution to the tangent matrix. More...
 
virtual const VectorgetResidual (Integrator *theIntegrator)
 Returns the residual vector.
 
virtual const VectorgetTangForce (const Vector &x, double fact=1.0)
 CURRENTLY just returns the \(0\) residual. More...
 
virtual const VectorgetK_Force (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)
 Returns the product of elements current mass matrix and a Vector whose values are obtained by taking the product of {fact} and those elements of the Vector accel associated with the FE_Elements equation numbers. More...
 
- Public Member Functions inherited from XC::FE_Element
virtual ~FE_Element (void)
 Destructor.
 
virtual const IDgetDOFtags (void) const
 Returns the tags of the associated DOF_Groups. More...
 
virtual const IDgetID (void) const
 Method to return the ID containing equation numbers. More...
 
void setAnalysisModel (AnalysisModel &theModel)
 Sets the link with the analysis model. More...
 
virtual void zeroTangent (void)
 Zeros the tangent matrix. More...
 
virtual void addKtToTang (double fact=1.0)
 Adds the product of fact times the element's tangent stiffness matrix to the tangent. More...
 
virtual void addKiToTang (double fact=1.0)
 Adds the product of fact times the element's initial stiffness matrix to the tangent. More...
 
virtual void addCtoTang (double fact=1.0)
 Adds the product of fact times the element's damping matrix to the tangent. More...
 
virtual void addMtoTang (double fact=1.0)
 Adds the product of fact times the element's mass matrix to the tangent. More...
 
virtual void zeroResidual (void)
 Zeros the residual vector. More...
 
virtual void addRtoResidual (double fact=1.0)
 Adds to the residual vector the product of the elements residual load vector and fact. More...
 
virtual void addRIncInertiaToResidual (double fact=1.0)
 Adds to the residual vector the product of the elements residual load vector with inertia forces included and fact. More...
 
virtual void addM_Force (const Vector &accel, double fact=1.0)
 Adds to the residual the product of elements current mass matrix and a Vector whose values are obtained by taking the product of {fact} and those elements of the Vector accel associated with the FE_Elements equation numbers. More...
 
virtual void addD_Force (const Vector &vel, double fact=1.0)
 Adds to the residual the product of elements current damping matrix and a Vector whose values are obtained by taking the product of {fact} and those elements of the Vector vel associated with the FE_Elements equation numbers. More...
 
virtual int updateElement (void)
 
virtual IntegratorgetLastIntegrator (void)
 Method which returns the last integrator supplied in a formTangent() or a formResidual() invocation. More...
 
virtual const VectorgetLastResponse (void)
 A method which invokes getLastResponse() on the Integrator object that was last passed as an argument to any of the routines. More...
 
ElementgetElement (void)
 Returns a pointer to the associated element.
 
virtual void Print (std::ostream &, int=0)
 Print stuff.
 
virtual void addResistingForceSensitivity (int gradNumber, double fact=1.0)
 
virtual void addM_ForceSensitivity (int gradNumber, const Vector &vect, double fact=1.0)
 
virtual void addD_ForceSensitivity (int gradNumber, const Vector &vect, double fact=1.0)
 
virtual int commitSensitivity (int gradNum, int numGrads)
 
- 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.
 
- Public Member Functions inherited from XC::Lagrange_FE
 Lagrange_FE (DOF_Group &)
 Constructor.
 
DOF_GroupgetLagrangeDOFGroup (void)
 
const DOF_GroupgetLagrangeDOFGroup (void) const
 
int getLagrangeDOFGroupTag (void) const
 

Friends

class AnalysisModel
 

Additional Inherited Members

- Protected Member Functions inherited from XC::MFreedom_FE
 MFreedom_FE (int tag, int numDOF_Group, int ndof, MFreedom_Constraint &theMFreedom, const double &alpha=1.0)
 Constructor.
 
int determineConstrainedDOFsIDs (const int &)
 determine the IDs in myID for those DOFs marked as constrained DOFs, this is obtained from the DOF_Group associated with the constrained node. More...
 
int determineRetainedDOFsIDs (const int &)
 determine determine the IDs for the retained dof's
 
DOF_GroupdetermineRetainedNodeDofGrpPtr (void)
 get the DOF_Group attached to the retained node.
 
- Protected Member Functions inherited from XC::MPBase_FE
 MPBase_FE (int tag, int numDOF_Group, int ndof, const double &alpha=1.0)
 Constructor.
 
int determineConstrainedDOFsIDs (const MFreedom_ConstraintBase &, const int &)
 determine the IDs in myID for those DOFs marked as constrained DOFs, this is obtained from the DOF_Group associated with the constrained node. More...
 
DOF_GroupdetermineConstrainedNodeDofGrpPtr (void)
 get the DOF_Group attached to the constrained node.
 
- Protected Member Functions inherited from XC::MPSPBaseFE
 MPSPBaseFE (int tag, int numDOF_Group, int ndof, const double &alpha=1.0)
 
- Protected Member Functions inherited from XC::FE_Element
void addLocalM_Force (const Vector &accel, double fact=1.0)
 
void addLocalD_Force (const Vector &vel, double fact=1.0)
 
void addLocalM_ForceSensitivity (int gradNumber, const Vector &accel, double fact=1.0)
 
void addLocalD_ForceSensitivity (int gradNumber, const Vector &vel, double fact=1.0)
 
 FE_Element (int tag, Element *theElement)
 Construictor that take the corresponding model element. More...
 
 FE_Element (int tag, int numDOF_Group, int ndof)
 Constructor. More...
 
- Protected Member Functions inherited from XC::TaggedObject
void setTag (int newTag)
 Set tag. More...
 
- Protected Attributes inherited from XC::MFreedom_FE
MFreedom_ConstrainttheMFreedom
 
NodetheRetainedNode
 
- Protected Attributes inherited from XC::MPBase_FE
NodetheConstrainedNode
 
- Protected Attributes inherited from XC::MPSPBaseFE
double alpha
 
Matrix tang
 
Vector resid
 
- Protected Attributes inherited from XC::FE_Element
ID myDOF_Groups
 
ID myID
 

Detailed Description

] at the locations corresponding to the constrained degree-of-freedoms specified by the MFreedom_Constraint, i.e.

\([U_c\) \(U_r]\), and the lagrange multiplier degrees-of-freedom introduced by the LagrangeConstraintHandler for this constraint, \(C = [-I\) \(C_{cr}]\). Nothing is added to the residual.

Member Function Documentation

§ getM_Force()

const XC::Vector & XC::LagrangeMFreedom_FE::getM_Force ( const Vector disp,
double  fact = 1.0 
)
virtual

Returns the product of elements current mass matrix and a Vector whose values are obtained by taking the product of {fact} and those elements of the Vector accel associated with the FE_Elements equation numbers.

If no element is associated with the FE_Element or the associated element is a Subdomain a warning message is printed and an error Vector is returned.

Reimplemented from XC::FE_Element.

§ getTangent()

const XC::Matrix & XC::LagrangeMFreedom_FE::getTangent ( Integrator theNewIntegrator)
virtual

If the MFreedom_Constraint is time-varying, from the MFreedom_Constraint theMFreedom it obtains the current \(C_{cr}\) matrix; it then adds the contribution to the tangent matrix.

Returns this tangent Matrix.

Reimplemented from XC::FE_Element.

§ getTangForce()

const XC::Vector & XC::LagrangeMFreedom_FE::getTangForce ( const Vector disp,
double  fact = 1.0 
)
virtual

CURRENTLY just returns the \(0\) residual.

THIS WILL NEED TO CHANGE FOR ELE-BY-ELE SOLVERS.

Reimplemented from XC::FE_Element.

§ setID()

int XC::LagrangeMFreedom_FE::setID ( void  )
virtual

method to set the corresponding index of the ID to value.

Causes the LagrangeMFreedom_FE to determine the mapping between it's equation numbers and the degrees-of-freedom. This information is obtained by using the mapping information at the DOF_Group objects associated with the constrained and retained nodes and the LagrangeDOF_Group, {theGroup}. Returns \(0\) if successful. Prints a warning message and returns a negative number if an error occurs: \(-2\) if the Node has no associated DOF_Group, \(-3\) if the constrained DOF specified is invalid for this Node (sets corresponding ID component to \(-1\) so nothing is added to the tangent) and \(-4\) if the ID in the DOF_Group is too small for the Node (again setting corresponding ID component to \(-1\)).

Reimplemented from XC::FE_Element.


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