xc
Public Member Functions | Friends | List of all members

PenaltySFreedom_FE is a subclass of SFreedom_FE which handles SFreedom_Constraints using the penalty method. More...

#include <PenaltySFreedom_FE.h>

Inheritance diagram for XC::PenaltySFreedom_FE:
Inheritance graph
[legend]
Collaboration diagram for XC::PenaltySFreedom_FE:
Collaboration graph
[legend]

Public Member Functions

virtual int setID (void)
 Method to set the corresponding index of the ID. More...
 
virtual const MatrixgetTangent (Integrator *theIntegrator)
 Returns the tangent Matrix created in the constructor.
 
virtual const VectorgetResidual (Integrator *theIntegrator)
 Sets the FE_Elements contribution to the residual to be \(\alpha * (U_s - U_t)\), where \(U_s\) is the specified value of the constraint and \(U_t\) the current trial displacement at the node corresponding to constrained degree-of-freedom. More...
 
virtual const VectorgetTangForce (const Vector &x, double fact=1.0)
 Sets the FE_Elements contribution to the residual to be \(\alpha * (U\_s - disp\_t)\), where \(U\_s\) is the specified value of the constraint and \(disp\_t\) the value in disp corresponding to constrained degree-of-freedom. 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.
 
std::string getElementClassName (void) const
 Returns the name of the associated element (if any).
 
virtual void Print (std::ostream &, int=0)
 
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.
 
virtual void Print (std::ostream &, int flag=0) const
 Print stuff.
 
boost::python::dict getPyDict (void) const
 Return a Python dictionary with the object members values.
 
void setPyDict (const boost::python::dict &)
 Set the values of the object members from a Python dictionary.
 
- Public Member Functions inherited from CommandEntity
 CommandEntity (CommandEntity *owr=nullptr)
 Default constructor.
 
CommandEntityOwner (void)
 Return a pointer to the object owner.
 
const CommandEntityOwner (void) const
 Return un puntero al objeto propietario de ESTE.
 
const StandardOutputWrappergetStandardOutputWrapper (void) const
 Return the regular output stream wrapper.
 
StandardOutputWrappergetStandardOutputWrapper (void)
 Return the regular output stream wrapper.
 
const std::string & getLogFileName (void) const
 Returns log file name.
 
void setLogFileName (const std::string &)
 Sets log file name.
 
const std::string & getErrFileName (void) const
 Returns err file name.
 
void setErrFileName (const std::string &)
 Sets error file name.
 
const std::string & getOutputFileName (void) const
 Returns regular output file name.
 
void setOutputFileName (const std::string &)
 Sets regular output file name.
 
boost::python::object evalPy (boost::python::object dict, const std::string &)
 Return the Python object that results from evaluating the argument.
 
boost::python::object execPy (boost::python::object dict, const std::string &)
 Return the Python objects that results from executing the code in the string argument.
 
boost::python::object execFilePy (boost::python::object dict, const std::string &)
 Return the Python object that results from executing the code in the file.
 
- Public Member Functions inherited from EntityWithProperties
 EntityWithProperties (EntityWithProperties *owr=nullptr)
 Default constructor.
 
virtual bool operator== (const EntityWithProperties &) const
 Comparison operator.
 
void clearPyProps (void)
 Clear python properties map.
 
bool hasPyProp (const std::string &)
 Returns true if property exists.
 
boost::python::object getPyProp (const std::string &str)
 Return the Python object with the name being passed as parameter.
 
void setPyProp (std::string str, boost::python::object val)
 Sets/appends a value tho the Python object's dictionary.
 
void copyPropsFrom (const EntityWithProperties &)
 Copy the properties from the argument.
 
boost::python::list getPropNames (void) const
 Return the names of the object properties weightings.
 
const PythonDict & getPropertiesDict (void) const
 Return a std::map container with the properties of the object.
 
- Public Member Functions inherited from EntityWithOwner
 EntityWithOwner (EntityWithOwner *owr=nullptr)
 Default constructor.
 
 EntityWithOwner (const EntityWithOwner &)
 Copy constructor.
 
EntityWithOwneroperator= (const EntityWithOwner &)
 Assignment operator.
 
virtual bool operator== (const EntityWithOwner &) const
 Comparison operator.
 
virtual ~EntityWithOwner (void)
 Virtual destructor.
 
virtual std::string getClassName (void) const
 Returns demangled class name.
 
void set_owner (EntityWithOwner *owr)
 Assigns the owner of the object.
 
EntityWithOwnerOwner (void)
 
const EntityWithOwnerOwner (void) const
 

Friends

class AnalysisModel
 

Additional Inherited Members

- Public Types inherited from EntityWithProperties
typedef std::map< std::string, boost::python::object > PythonDict
 
- Static Public Member Functions inherited from CommandEntity
static void resetStandardOutput (void)
 Reset the standard output streams to its defaults buffers.
 
- Static Public Member Functions inherited from EntityWithOwner
static int getVerbosityLevel (void)
 Get the value of the verbosity level.
 
static void setVerbosityLevel (const int &)
 Set the value of the verbosity level.
 
- Protected Member Functions inherited from XC::SFreedom_FE
 SFreedom_FE (int tag, int sz, SFreedom_Constraint &theSP, const double &alpha=1.0)
 
- 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 Member Functions inherited from CommandEntity
template<class T >
void string_to (T &, const std::string &) const
 
- Static Protected Member Functions inherited from CommandEntity
static CommandEntityentcmd_cast (boost::any &data)
 
- Protected Attributes inherited from XC::SFreedom_FE
SFreedom_ConstrainttheSP
 
NodetheNode
 
- Protected Attributes inherited from XC::MPSPBaseFE
double alpha
 
Matrix tang
 
Vector resid
 
- Protected Attributes inherited from XC::FE_Element
ID myDOF_Groups
 
ID myID
 
- Static Protected Attributes inherited from EntityWithOwner
static int verbosity = 1
 Object that owns THIS ONE. More...
 

Detailed Description

PenaltySFreedom_FE is a subclass of SFreedom_FE which handles SFreedom_Constraints using the penalty method.

PenaltySFreedom_FE is a subclass of FE_Element used to enforce a single point constraint. It does this by adding \(\alpha\) to the tangent and \(\alpha * (U\_s - U\_t)\) to the residual at the locations corresponding to the constrained degree-of-freedom specified by the SFreedom_Constraint, where \(U_s\) is the specified value of the constraint and \(U_t\) the current trial displacement at the node corresponding to the constraint.

Member Function Documentation

◆ getM_Force()

const XC::Vector & XC::PenaltySFreedom_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::PenaltySFreedom_FE::getResidual ( Integrator theNewIntegrator)
virtual

Sets the FE_Elements contribution to the residual to be \(\alpha * (U_s - U_t)\), where \(U_s\) is the specified value of the constraint and \(U_t\) the current trial displacement at the node corresponding to constrained degree-of-freedom.

Prints a warning message and sets this contribution to \(0\) if the specified constrained degree-of-freedom is invalid. Returns this residual Vector set.

Reimplemented from XC::FE_Element.

◆ getTangForce()

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

Sets the FE_Elements contribution to the residual to be \(\alpha * (U\_s - disp\_t)\), where \(U\_s\) is the specified value of the constraint and \(disp\_t\) the value in disp corresponding to constrained degree-of-freedom.

Prints a warning message and sets this contribution to \(0\) if the mapping, determined in setID(), for the the specified constrained degree-of-freedom lies outside disp.

Reimplemented from XC::FE_Element.

◆ setID()

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

Method to set the corresponding index of the ID.

Causes the PenaltySFreedom_FE to determine the mapping between it's equation numbers and the degrees-of-freedom. From the Node object link, created! in the constructor, the DOF_group corresponding to the Node associated with the constraint is determined. From this {DOF_Group} object the mapping for the constrained degree of freedom is determined and the ID in the base class is set. 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 and \(-4\) if the ID in the DOF_Group is too small for the Node.

Reimplemented from XC::FE_Element.


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