xc
Public Member Functions | Friends | List of all members

LagrangeMRMFreedom_FE is a subclass of FE_Element which handles MRMFreedom_Constraints using the Lagrange method. More...

#include <LagrangeMRMFreedom_FE.h>

Inheritance diagram for XC::LagrangeMRMFreedom_FE:
XC::MRMFreedom_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.
 
virtual const MatrixgetTangent (Integrator *theIntegrator)
 Computes and returns the tangent stiffness matrix. More...
 
virtual const VectorgetResidual (Integrator *theIntegrator)
 Computes and returns the residual vector. More...
 
virtual const VectorgetTangForce (const Vector &x, double fact=1.0)
 Returns the product of FE_Elements current tangent matrix and a Vector whose values are obtained by taking the product of {fact} and those elements of the Vector disp associated with the FE_Elements equation numbers. 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::MRMFreedom_FE
 MRMFreedom_FE (int tag, int numDOF_Group, int ndof, MRMFreedom_Constraint &, 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
 
int determineRetainedNodesDofGrpPtr (Domain &, const int &)
 get the DOF_Group attached to the retained nodes.
 
- 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::MRMFreedom_FE
MRMFreedom_ConstrainttheMRMP
 
std::vector< Node * > theRetainedNodes
 
- 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

LagrangeMRMFreedom_FE is a subclass of FE_Element which handles MRMFreedom_Constraints using the Lagrange method.

Member Function Documentation

§ getM_Force()

const XC::Vector & XC::LagrangeMRMFreedom_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.

§ getResidual()

const XC::Vector & XC::LagrangeMRMFreedom_FE::getResidual ( Integrator theNewIntegrator)
virtual

Computes and returns the residual vector.

Causes the FE_Element to determine it's contribution to the residual vector and to return this vector. If the Element is a Subdomain it invokes computeResidual()} and {getResistingForce() on the Subdomain. Otherwise {formEleResidual(this)} is invoked on theIntegrator and the resuting residual vector is returned. Subclasses must provide their own implementation. If no Element is passed in the constructor, a warning message and an error vector is returned.

Reimplemented from XC::FE_Element.

§ getTangent()

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

Computes and returns the tangent stiffness matrix.

Causes the FE_Element to determine it's contribution to the tangent matrix and to return this matrix. If the Element is a Subdomain it invokes computeTangent()} and {getTang() on the Subdomain. Otherwise {formEleTangent(this)} is invoked on {theIntegrator} and the new tangent matrix is returned. Subclasses must provide their own implementation. If no Element is passed in the constructor, a warning message is printed and an error Matrix of size 1X1 is returned.

Reimplemented from XC::FE_Element.

§ getTangForce()

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

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

If the element associated with the FE_Element is a subdomain, the tangent is obtained by invoking {getTang()} on the subdomain, otherwise the tangent is formed by invoking {formEleTang(this)} on the integrator object last used in a getTangent()} or {getResidual(). If no element is associated with the FE_Element a zero vector is returned and an error message is printed. An error message is also printed if invoking addMatrixVector() on the force vector returns \(< 0\).

Reimplemented from XC::FE_Element.


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