xc
Public Member Functions | Friends | List of all members
XC::PenaltyConstraintHandler Class Reference

PenaltyConstraintHandler is a constraint handler that deals with both single and multi freedom constraints using the penalty method. More...

#include <PenaltyConstraintHandler.h>

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

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.
 
MovableObjectoperator= (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 &param)
 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 DbTagDatagetDbTagData (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.
 
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.
 
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.
 
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 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 DomaingetDomainPtr (void) const
 Return a const pointer to the domain object associated with the ConstraintHandler.
 
const AnalysisModelgetAnalysisModelPtr (void) const
 Return a const pointer to the analysis model object associated with the ConstraintHandler.
 
const IntegratorgetIntegratorPtr (void) const
 Return a pointer to the Integrator object associated with the ConstraintHandler.
 
DomaingetDomainPtr (void)
 Return a pointer to the Domain object associated with the ConstraintHandler.
 
AnalysisModelgetAnalysisModelPtr (void)
 Returns a pointer to the AnalysisModel object associated with the ConstraintHandler.
 
IntegratorgetIntegratorPtr (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 CommandEntityentcmd_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...
 

Detailed Description

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.

Member Function Documentation

◆ handle()

int XC::PenaltyConstraintHandler::handle ( const ID nodesLast = 0)
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.


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