xc
Public Member Functions | Friends | List of all members

PenaltyMRMFreedom_FE is a subclass of FE_Element which handles MRMFreedom_Constraints using the penalty method. More...

#include <PenaltyMRMFreedom_FE.h>

Inheritance diagram for XC::PenaltyMRMFreedom_FE:
XC::MRMFreedom_FE XC::MPBase_FE XC::MPSPBaseFE XC::FE_Element XC::TaggedObject

Public Member Functions

virtual int setID (void)
 Method to set the correMPonding 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.
 

Friends

class AnalysisModel
 to hold the C matrix
 

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

PenaltyMRMFreedom_FE is a subclass of FE_Element which handles MRMFreedom_Constraints using the penalty method.

Member Function Documentation

§ getM_Force()

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