xc
|
PenaltyConstraintHandler is a constraint handler that deals with both single and multi freedom constraints using the penalty method. More...
#include <PenaltyConstraintHandler.h>
Public Member Functions | |
int | handle (const ID *nodesNumberedLast=0) |
Handle the constraints. More... | |
Public Member Functions inherited from XC::FactorsConstraintHandler | |
void | setAlphaSP (const double &a) |
Set the factor used with single freedom constraints. | |
double | getAlphaSP (void) const |
Return the factor used with single freedom constraints. | |
void | setAlphaMP (const double &a) |
Set the factor used with multi-freedom constraints. | |
double | getAlphaMP (void) const |
Return the factor used with multi-freedom constraints. | |
virtual int | sendSelf (Communicator &) |
Send object through the communicator argument. | |
virtual int | recvSelf (const Communicator &) |
Receive object through the communicator argument. | |
Public Member Functions inherited from XC::ConstraintHandler | |
virtual int | update (void) |
Update the state of the constraints. | |
virtual int | applyLoad (void) |
?? | |
virtual int | doneNumberingDOF (void) |
Numbering of degrees of freedom. | |
virtual void | clearAll (void) |
Reset the DOF_Group pointers to nullptr for all the nodes. More... | |
Public Member Functions inherited from XC::MovableObject | |
MovableObject (int classTag, int dbTag) | |
Constructor. More... | |
MovableObject (int classTag) | |
Constructor. More... | |
MovableObject (const MovableObject &) | |
Copy constructor. Doesn't copy the dbTag. | |
MovableObject & | operator= (const MovableObject &) |
Assignment operator. Doesn't copy the dbTag. | |
int | getClassTag (void) const |
Return the class identifier. | |
int | getDbTag (void) const |
Return the object identifier in the database. | |
int | getDbTag (Communicator &) |
Return the object identifier in the database. | |
void | setDbTag (int dbTag) |
Sets the object identifier in the database. | |
void | setDbTag (Communicator &) |
Sets the object identifier in the database if not already set. More... | |
virtual int | setParameter (const std::vector< std::string > &argv, Parameter ¶m) |
Sets the value param to the parameter argv . | |
virtual int | updateParameter (int parameterID, Information &info) |
Updates the parameter identified by parameterID with info . | |
virtual int | activateParameter (int parameterID) |
Activates the parameter identified by parameterID . | |
virtual int | setVariable (const std::string &variable, Information &) |
Set the value of the variable idenfified by var . | |
virtual int | getVariable (const std::string &variable, Information &) |
Return the value of the variable idenfified by var . | |
Public Member Functions inherited from XC::DistributedBase | |
DistributedBase (void) | |
Constructor. | |
virtual | ~DistributedBase (void) |
Destructor. | |
virtual DbTagData & | getDbTagData (void) const |
Returns a vector to store class dbTags. | |
const int & | getDbTagDataPos (const int &i) const |
Returns the data at the i-th position. | |
void | setDbTagDataPos (const int &i, const int &v) |
Sets the data at the i-th position. | |
void | inicComm (const int &dataSize) const |
Initializes communication. | |
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. | |
boost::python::dict | getPyDict (void) const |
Return a Python dictionary containing 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 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 | ModelWrapper |
class | FEM_ObjectBroker |
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::FactorsConstraintHandler | |
int | sendData (Communicator &) |
Send object members through the communicator argument. | |
int | recvData (const Communicator &) |
Receive object members through the communicator argument. | |
FactorsConstraintHandler (ModelWrapper *, int classTag, const double &alphaSP, const double &alphaMP) | |
Constructor. More... | |
Protected Member Functions inherited from XC::ConstraintHandler | |
const Domain * | getDomainPtr (void) const |
Return a const pointer to the domain object associated with the ConstraintHandler. | |
const AnalysisModel * | getAnalysisModelPtr (void) const |
Return a const pointer to the analysis model object associated with the ConstraintHandler. | |
const Integrator * | getIntegratorPtr (void) const |
Return a pointer to the Integrator object associated with the ConstraintHandler. | |
Domain * | getDomainPtr (void) |
Return a pointer to the Domain object associated with the ConstraintHandler. | |
AnalysisModel * | getAnalysisModelPtr (void) |
Returns a pointer to the AnalysisModel object associated with the ConstraintHandler. | |
Integrator * | getIntegratorPtr (void) |
Returns a pointer to the Integrator object associated with the ConstraintHandler. | |
int | sendData (Communicator &) |
Send object members through the communicator argument. | |
int | recvData (const Communicator &) |
Receive object members through the communicator argument. | |
ConstraintHandler (ModelWrapper *, int classTag) | |
Constructor. 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::FactorsConstraintHandler | |
double | alphaSP |
Factor used with the single freedom constraints. | |
double | alphaMP |
Factor used with the multi-freedom constraints. | |
Static Protected Attributes inherited from EntityWithOwner | |
static int | verbosity = 1 |
Object that owns THIS ONE. More... | |
PenaltyConstraintHandler is a constraint handler that deals with both single and multi freedom constraints using the penalty method.
This is done by, in addition to creating a DOF_Group object for each Node and an FE_Element for each Element in the Domain, creating either a PenaltySFreedom_FE or a PenaltyMFreedom_FE object for each constraint in the Domain. It is these objects that enforce the constraints by modifying the tangent matrix and residual vector.
|
virtual |
Handle the constraints.
Determines the number of FE_Elements and DOF_Groups needed from the Domain (a one to one mapping between Elements and FE_Elements, SFreedom_Constraints and PenaltySFreedom_FEs, MFreedom_Constraints and PenaltyMFreedom_FEs and Nodes and DOF_Groups). Creates two arrays of pointers to store the FE_Elements and DOF_Groups, returning a warning message and a \(-2\) or \(-3\) if not enough memory is available for these arrays. Then the object will iterate through the Nodes of the Domain, creating a DOF_Group for each node and setting the initial id for each dof to \(-2\) or \(-3\) if the node identifier is in {nodesToBeNumberedLast}. The object then iterates through the Elements of the Domain creating a FE_Element for each Element, if the Element is a Subdomain setFE_ElementPtr() is invoked on the Subdomain with the new FE_Element as the argument. If not enough memory is available for any DOF_Group or FE_element a warning message is printed and a \(-4\) or \(-5\) is returned. The object then iterates through the SFreedom_Constraints of the Domain creating a PenaltySFreedom_FE for each constraint, using the Domain, the constraint and alphaSP
as the arguments in the constructor. The object then iterates through the MP_Constraints of the Domain creating a PenaltyMP_FE for each constraint, using the Domain, the constraint and alphaMP
as the arguments in the constructor. Finally the method returns the number of degrees-of-freedom associated with the DOF_Groups in {nodesToBeNumberedLast}.
Implements XC::ConstraintHandler.