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

NodalLoad Class Reference

#include <NodalLoad.h>

Inheritance diagram for NodalLoad::

Load DomainComponent TaggedObject MovableObject List of all members.

Public Methods

 NodalLoad (int classTag)
 NodalLoad (int tag, int node, int classTag)
 NodalLoad (int tag, int node, const Vector &load, bool isLoadConstant=false)
 ~NodalLoad ()
virtual void setDomain (Domain *newDomain)
virtual int getNodeTag (void) const
virtual void applyLoad (double loadFactor)
virtual int sendSelf (int commitTag, Channel &theChannel)
virtual int recvSelf (int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)
virtual void Print (ostream &s, int flag=0)
int setParameter (char **argv, int argc, Information &info)
 methods for sensitivity studies. More...

int updateParameter (int parameterID, Information &info)

Detailed Description

NodalLoads are loads acting on Nodes. The public methods are all declared as virtual to allow subclasses to be introduced for the provision of time varying loads. Each NodalLoad object is associated with a single Node object and has a Vector object corresponding to the load acting on this Node object as a result of the NodalLoad. \

Definition at line 52 of file NodalLoad.h.


Constructor & Destructor Documentation

NodalLoad::NodalLoad ( int classTag )
 

To create a NodalLoad object with tag {tag} acting on Node {node} with a reference load given by {load}. {tag} and {LOAD\_TAG\_NodalLoad} (defined in classTags.h\form#24)are passed to the Load constructor. A new vector object is created using the vector {load} as the argument. (THIS MAY CHANGE - may associate the load Vector with {load}, allowing identical loads on diff nodes to be created without the need for each to have its own vector) If no enough memory is available an error message is printed and the program terminates. The boolean {isLoadConstant} is used to indicate whether the value of the load applies to the Node is independent of the load factor.

Definition at line 40 of file NodalLoad.cpp.

NodalLoad::NodalLoad ( int tag,
int node,
int classTag )
 

Provided for subclasses, which may which to provide the abstraction of time varying nodal loads. The integers {tag} and {classTag} are passed to the Load constructor.

Definition at line 47 of file NodalLoad.cpp.

NodalLoad::NodalLoad ( int tag,
int node,
const Vector & load,
bool isLoadConstant = false )
 

Provided so that a FEM\_ObjectBroker can construct an object. and {classTag} are passed to the Load classes constructor. The data for the object is filled in when {recvSelf()} is invoked on the object.

Definition at line 53 of file NodalLoad.cpp.

NodalLoad::~NodalLoad ( )
 

If a Vector for the load was constructed, the destructor invokes delete on this Vector object.

Definition at line 70 of file NodalLoad.cpp.


Member Function Documentation

void NodalLoad::Print ( ostream & s,
int flag = 0 ) [virtual]
 

Prints it's {node} and then prints the load Vector.

Reimplemented from TaggedObject.

Definition at line 178 of file NodalLoad.cpp.

void NodalLoad::applyLoad ( double loadFactor ) [virtual]
 

To it's associated Node it invokes {addUnbalancedLoad()} with it's copy of the Vector object {load} and a factor of {loadFactor} if {isLoadConstant} was specified as {false} in the constructor or if it was specified as {true}. Warning messages are printed, if no Domain has been associated with the NodalLoad object or no Node with a tag {node} exists in the Domain. For efficiency reasons, the NodalLoad object keeps a pointer to it's associated Node object. The time {timeStep} has no influence on the load added.

Reimplemented from Load.

Definition at line 95 of file NodalLoad.cpp.

Referenced by LoadPattern::applyLoad().

int NodalLoad::getNodeTag ( void ) const [virtual]
 

Returns the integer {node} passed in the constructor.

Definition at line 88 of file NodalLoad.cpp.

Referenced by Domain::addNodalLoad(), LoadPattern::setParameter(), and LoadPattern::updateParameter().

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

The object first determines its database tag. It then invokes receives an ID object from the Channel containing it's tag, {node} and size of load Vector. If size of {load} is not it then receives it's copy of the {load} Vector. Returns if successful, a negative number if the Channel failed to receive the data.

Reimplemented from MovableObject.

Definition at line 148 of file NodalLoad.cpp.

Referenced by LoadPattern::recvSelf().

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

Determines its database tag. The object then sends it's tag, {node} and size of load Vector to the Channel in an ID object. Then, if {load} is not NULL, it sends it's copy of the {load} Vector. Returns if successful, a negative number if the Channel failed to send the data.

Reimplemented from MovableObject.

Definition at line 117 of file NodalLoad.cpp.

Referenced by LoadPattern::sendSelf().

void NodalLoad::setDomain ( Domain * newDomain ) [virtual]
 

To set the associated Domain object. First checks to ensure that a Node object with the tag exists in the Domain. It sets the pointer for it's associated Node object to point to this object, and then invokes the DomainComponent classes {setDomain()} method. If the Node does not exist in the Domain a warning message and {setDomain()} is not invoked.

Reimplemented from DomainComponent.

Definition at line 77 of file NodalLoad.cpp.

Referenced by LoadPattern::addNodalLoad(), Domain::addNodalLoad(), Domain::removeLoadPattern(), LoadPattern::removeNodalLoad(), and LoadPattern::setDomain().

int NodalLoad::setParameter ( char ** argv,
int argc,
Information & info ) [virtual]
 

methods for sensitivity studies.

Reimplemented from DomainComponent.

Definition at line 187 of file NodalLoad.cpp.

Referenced by LoadPattern::setParameter().

int NodalLoad::updateParameter ( int parameterID,
Information & info ) [virtual]
 

Reimplemented from DomainComponent.

Definition at line 209 of file NodalLoad.cpp.

Referenced by LoadPattern::updateParameter().


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