xc
|
PenaltyMFreedom_FE is a subclass of FE_Element which handles MFreedom_Constraints using the penalty method. More...
#include <PenaltyMFreedom_FE.h>
Public Member Functions | |
virtual int | setID (void) |
Method to set the correMPonding index of the ID to value. More... | |
virtual const Matrix & | getTangent (Integrator *theIntegrator) |
If the MP_Constraint is time-varying, from the MP_Constraint theMFreedom it obtains the current \(C_{cr}\) matrix; it then forms the \(C\) matrix and finally it sets the tangent matrix to be \(\alpha //! C^TC\). More... | |
virtual const Vector & | getResidual (Integrator *theIntegrator) |
Returns the residual, a \(0\) Vector. | |
virtual const Vector & | getTangForce (const Vector &x, double fact=1.0) |
CURRENTLY just returns the \(0\) residual. More... | |
virtual const Vector & | getK_Force (const Vector &x, double fact=1.0) |
virtual const Vector & | getC_Force (const Vector &x, double fact=1.0) |
virtual const Vector & | getM_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 ID & | getDOFtags (void) const |
Returns the tags of the associated DOF_Groups. More... | |
virtual const ID & | getID (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 Integrator * | getLastIntegrator (void) |
Method which returns the last integrator supplied in a formTangent() or a formResidual() invocation. More... | |
virtual const Vector & | getLastResponse (void) |
A method which invokes getLastResponse() on the Integrator object that was last passed as an argument to any of the routines. More... | |
Element * | getElement (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 TaggedObject * | getCopy (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. | |
CommandEntity * | Owner (void) |
Return a pointer to the object owner. | |
const CommandEntity * | Owner (void) const |
Return un puntero al objeto propietario de ESTE. | |
const StandardOutputWrapper & | getStandardOutputWrapper (void) const |
Return the regular output stream wrapper. | |
StandardOutputWrapper & | getStandardOutputWrapper (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. | |
EntityWithOwner & | operator= (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. | |
EntityWithOwner * | Owner (void) |
const EntityWithOwner * | Owner (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::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_Group * | determineRetainedNodeDofGrpPtr (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_Group * | determineConstrainedNodeDofGrpPtr (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 Member Functions inherited from CommandEntity | |
template<class T > | |
void | string_to (T &, const std::string &) const |
Static Protected Member Functions inherited from CommandEntity | |
static CommandEntity * | entcmd_cast (boost::any &data) |
Protected Attributes inherited from XC::MFreedom_FE | |
MFreedom_Constraint * | theMFreedom |
Node * | theRetainedNode |
Protected Attributes inherited from XC::MPBase_FE | |
Node * | theConstrainedNode |
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... | |
PenaltyMFreedom_FE is a subclass of FE_Element which handles MFreedom_Constraints using the penalty method.
PenaltyMP_FE is a subclass of FE_Element used to enforce a multi point constraint, of the form \(U_c = C_{cr} U_r\), where \(U_c\) are the constrained degrees-of-freedom at the constrained node, \(U_r\) are the retained degrees-of-freedom at the retained node and \(C_{cr}\) a matrix defining the relationship between these degrees-of-freedom.
To enforce the constraint a matrix \(\alpha C^T C\) is added to the tangent for the degrees-of-freedom \([U_c\) \(U_r]\), where \(C = [-I\) \(C_{cr}]\). Nothing is added to the residual.
|
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.
|
virtual |
If the MP_Constraint is time-varying, from the MP_Constraint theMFreedom
it obtains the current \(C_{cr}\) matrix; it then forms the \(C\) matrix and finally it sets the tangent matrix to be \(\alpha //! C^TC\).
Returns the tangent matrix.
Reimplemented from XC::FE_Element.
|
virtual |
CURRENTLY just returns the \(0\) residual.
THIS WILL NEED TO CHANGE FOR ELE-BY-ELE SOLVERS.
Reimplemented from XC::FE_Element.
|
virtual |
Method to set the correMPonding index of the ID to value.
Causes the PenaltyMP_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 to determine the mappings between the degrees-of-freedom identified in the constrainedID
and the retainedID
at the MP_Constraint theMFreedom
. 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.