xc
|
TransformationFE objects handle MFreedom_Constraints using the transformation method T^t K T. More...
#include <TransformationFE.h>
Public Member Functions | |
~TransformationFE (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) |
virtual int | setID (void) |
Method to set the corresponding index of the ID to value. More... | |
virtual const Matrix & | getTangent (Integrator *theIntegrator) |
Computes and returns the tangent stiffness matrix. More... | |
virtual const Vector & | getResidual (Integrator *theIntegrator) |
Computes and returns the residual vector. More... | |
virtual const Vector & | getTangForce (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 Vector & | getK_Force (const Vector &accel, double fcat=1.0) |
virtual const Vector & | getKi_Force (const Vector &accel, double fcat=1.0) |
virtual const Vector & | getM_Force (const Vector &accel, double fcat=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... | |
virtual const Vector & | getC_Force (const Vector &vel, double fcat=1.0) |
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 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... | |
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... | |
int | addSP (SFreedom_Constraint &theSP) |
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 | ~FE_Element (void) |
Destructor. | |
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... | |
void | activate (void) |
void | deactivate (void) |
bool | isActive (void) const |
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 int | updateElement (void) |
virtual Integrator * | getLastIntegrator (void) |
Method which returns the last integrator supplied in a formTangent() or a formResidual() invocation. 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 int | commitSensitivity (int gradNum, int numGrads) |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
EntityWithProperties (EntityWithProperties *owr=nullptr) | |
Default constructor. | |
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. | |
![]() | |
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 |
Protected Member Functions | |
int | transformResponse (const Vector &modResponse, Vector &unmodResponse) |
TransformationFE (int tag, Element *theElement) | |
![]() | |
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... | |
![]() | |
void | setTag (int newTag) |
Set tag. More... | |
bool | isEqual (const TaggedObject &) const |
Return true if both objects are equal. | |
![]() | |
template<class T > | |
void | string_to (T &, const std::string &) const |
![]() | |
bool | isEqual (const EntityWithProperties &) const |
Return true if both objects are equal. | |
![]() | |
virtual bool | isEqual (const EntityWithOwner &) const |
Return true if both objects are equal. | |
Friends | |
class | AnalysisModel |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, boost::python::object > | PythonDict |
![]() | |
static void | resetStandardOutput (void) |
Reset the standard output streams to its defaults buffers. | |
![]() | |
static int | getVerbosityLevel (void) |
Get the value of the verbosity level. | |
static void | setVerbosityLevel (const int &) |
Set the value of the verbosity level. | |
![]() | |
static CommandEntity * | entcmd_cast (boost::any &data) |
![]() | |
ID | myDOF_Groups |
ID | myID |
![]() | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
TransformationFE objects handle MFreedom_Constraints using the transformation method T^t K T.
SFreedom_Constraints are handled by the TransformationConstraintHandler.
TransformationFE 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 \(T^T K T\) is added to the tangent and \(T^T R\) is added to the residual where \(T\) is a block diagonal matrix equal to WHAT?
|
virtual |
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.
If no element is associated with the FE_Element or the Element is a Subdomain nothing is added and an warning message is printed. An error message is also printed if invoking addMatrixVector() on the residual vector returns \(< 0\).
Reimplemented from XC::FE_Element.
|
virtual |
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.
If no element is associated with the FE_Element or the Element is a Subdomain nothing is added and an warning message is printed. An error message is also printed if invoking addMatrixVector() on the residual vector returns \(< 0\).
Reimplemented from XC::FE_Element.
|
virtual |
Returns the tags of the associated DOF_Groups.
Returns a const ID containing the unique tag number of the DOF_Group objects associated with that FE_Element. For this base class, these are obtained from the DOF_Groups associated with the Node objects that are associated with the Element object passed in the constructor. This ID is computed only once, during the creation of the object.
Reimplemented from XC::FE_Element.
|
virtual |
Method to return the ID containing equation numbers.
Returns a const ID containing the equation numbers associated with its matrices and vectors. This ID will contain \(0\)'s unless the {setID()} method has been called.
Reimplemented from XC::FE_Element.
|
virtual |
A method which invokes getLastResponse() on the Integrator object that was last passed as an argument to any of the routines.
A method which invokes getLastResponse() on the Integrator object that was last passed as an argument to any of the routines. The FE_Elements ID and the force Vector object is passed as arguments. Returns the force Vector object if successful. If no element is associated with the FE_Element or no integrator has yet to be passed, a warning message is printed and an error Vector is returned.
Reimplemented from XC::FE_Element.
|
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 |
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.
|
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.
|
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.
|
virtual |
Method to set the corresponding index of the ID to value.
Causes the FE_Element to determine the mapping between it's equation numbers and the degrees-of-freedom. The \(i-1\) component of the ID contains the equation number that is associated with \(i\)'th degree-of-freedom (a consequence of C indexing for IDs). The method is to be invoked by the DOF_Numberer after the DOF_Groups have been assigned their equation numbers. The base class uses the ID containing the tags of the DOF_Group objects to determine this by looping over the DOF_Group objects (identified in the DOF_Group ID and obtained from the AnalysisModel) and getting their mapping by invoking {getID()}. Returns \(0\) if successful, a warning message and a negative number is returned if an error occurs: \(-1\) returned if no AnalysisModel link has been set, \(-2\) if a DOF_Group object does not exist in the AnalysisModel and a \(-3\) if there are more dof's in the DOF_Groups than dof's identified for the FE_Element.
Reimplemented from XC::FE_Element.