Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PenaltyConstraintHandler Class Reference

#include <PenaltyConstraintHandler.h>

Inheritance diagram for PenaltyConstraintHandler::

ConstraintHandler MovableObject List of all members.

Public Methods

 PenaltyConstraintHandler (double alphaSP, double alphaMP)
 ~PenaltyConstraintHandler ()
int handle (const ID *nodesNumberedLast=0)
void clearAll (void)
virtual int sendSelf (int commitTag, Channel &theChannel)
virtual int recvSelf (int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)

Detailed Description

The PenaltyConstraintHandler class is a class which deals with both single and multi point 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 PenaltySP\_FE or a PenaltyMP\_FE object for each constraint in the Domain. It is these objects that enforce the constraints by moifying the tangent matrix and residual vector. \

}

Definition at line 62 of file PenaltyConstraintHandler.h.


Constructor & Destructor Documentation

PenaltyConstraintHandler::PenaltyConstraintHandler ( double alphaSP,
double alphaMP )
 

The integer {HANDLER\_TAG\_PenaltyConstraintHandler} (defined in classTags.h\form#24) is passed to the PenaltyConstraintHandler constructor. Stores {alphaSP} and {alphaMP} which are needed to construct the PenaltySP\_FE and PenaltyMP\_FE objects in {handle()}.

Definition at line 58 of file PenaltyConstraintHandler.cpp.

PenaltyConstraintHandler::~PenaltyConstraintHandler ( )
 

Currently invokes {clearAll()}, this will change when {clearAll()} is rewritten.

Definition at line 66 of file PenaltyConstraintHandler.cpp.


Member Function Documentation

void PenaltyConstraintHandler::clearAll ( void ) [virtual]
 

Currently this invokes delete on all the FE\_element and DOF\_Group objects created in {handle()} and the arrays used to store pointers to these objects. FOR ANALYSIS INVOLVING DYNAMIC LOAD BALANCING, RE-MESHING AND CONTACT THIS MUST CHANGE.

Reimplemented from ConstraintHandler.

Definition at line 248 of file PenaltyConstraintHandler.cpp.

int PenaltyConstraintHandler::handle ( const ID * nodesNumberedLast = 0 ) [virtual]
 

Determines the number of FE\_Elements and DOF\_Groups needed from the Domain (a one to one mapping between Elements and FE\_Elements, SP\_Constraints and PenaltySP\_FEs, MP\_Constraints and PenaltyMP\_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 or 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 or 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 or is returned. The object then iterates through the SP\_Constraints of the Domain creating a PenaltySP\_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}.

Reimplemented from ConstraintHandler.

Definition at line 83 of file PenaltyConstraintHandler.cpp.

int PenaltyConstraintHandler::recvSelf ( int commitTag,
Channel & theChannel,
FEM_ObjectBroker & theBroker ) [virtual]
 

Receives in a Vector of size 2 the values {alphaSP} and {alphaMP}. Returns if successful.

Reimplemented from MovableObject.

Definition at line 294 of file PenaltyConstraintHandler.cpp.

int PenaltyConstraintHandler::sendSelf ( int commitTag,
Channel & theChannel ) [virtual]
 

Sends in a Vector of size 2 {alphaSP} and {alphaMP}. Returns if successful.

Reimplemented from MovableObject.

Definition at line 281 of file PenaltyConstraintHandler.cpp.


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