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

Node Class Reference

#include <Node.h>

Inheritance diagram for Node::

DomainComponent TaggedObject MovableObject List of all members.

Public Methods

 Node (int classTag)
 constructors. More...

 Node (int tag, int classTag)
 Node (int tag, int ndof, double Crd1)
 Node (int tag, int ndof, double Crd1, double Crd2)
 Node (int tag, int ndof, double Crd1, double Crd2, double Crd3)
 Node (const Node *theCopy)
virtual ~Node ()
 destructor. More...

virtual int getNumberDOF (void) const
 public methods dealing with the DOF at the node. More...

virtual void setDOF_GroupPtr (DOF_Group *theDOF_Grp)
virtual DOF_GroupgetDOF_GroupPtr (void)
virtual const VectorgetCrds (void) const
 public methods for obtaining the nodal coordinates. More...

virtual const VectorgetDisp (void)
 response quantities of the node. More...

virtual const VectorgetVel (void)
virtual const VectorgetAccel (void)
virtual const VectorgetIncrDisp (void)
virtual const VectorgetIncrDeltaDisp (void)
virtual const VectorgetTrialDisp (void)
virtual const VectorgetTrialVel (void)
virtual const VectorgetTrialAccel (void)
virtual int setTrialDisp (const Vector &)
 public methods for updating the trial response quantities. More...

virtual int setTrialVel (const Vector &)
virtual int setTrialAccel (const Vector &)
virtual int incrTrialDisp (const Vector &)
virtual int incrTrialVel (const Vector &)
virtual int incrTrialAccel (const Vector &)
virtual void zeroUnbalancedLoad (void)
 public methods for adding and obtaining load information. More...

virtual int addUnbalancedLoad (const Vector &load, double fact=1.0)
virtual int addInertiaLoadToUnbalance (const Vector &accel, double fact=1.0)
virtual const VectorgetUnbalancedLoad (void)
virtual const VectorgetUnbalancedLoadIncInertia (void)
virtual int commitState ()
 public methods dealing with the committed state of the node. More...

virtual int revertToLastCommit ()
virtual int revertToStart ()
virtual const MatrixgetMass (void)
 public methods for dynamic analysis. More...

virtual int setMass (const Matrix &theMass)
virtual int setNumColR (int numCol)
virtual int setR (int row, int col, double Value)
virtual const VectorgetRV (const Vector &V)
virtual int setNumEigenvectors (int numVectorsToStore)
 public methods for eigen vector. More...

virtual int setEigenvector (int mode, const Vector &eigenVector)
virtual const MatrixgetEigenvectors (void)
virtual int sendSelf (int commitTag, Channel &theChannel)
 public methods for output. More...

virtual int recvSelf (int commitTag, Channel &theChannel, FEM_ObjectBroker &theBroker)
virtual void Print (ostream &s, int flag=0)
virtual int displaySelf (Renderer &theRenderer, int displayMode, float fact)
 Method for visualisation, default does nothing. More...


Detailed Description

Nodes are points in space connected by the elements. Nodes have original position, trial displacement, velocity and acceleration, and committed displacement, velocity and acceleration (the last committed trial quantities). Nodes also store information about any load acting on the node, nodal mass and the nodal participation matrix. In addition, each Node object keeps track of it's associated DOF\_Group object. The Node interface provides methods to set and retrieve these quantities.\

Definition at line 66 of file Node.h.


Constructor & Destructor Documentation

Node::Node ( int classTag )
 

constructors.

Definition at line 50 of file Node.cpp.

Node::Node ( int tag,
int classTag )
 

To construct a node which has no data, other than the {classTag} identifier; and {classTag} are passed to the DomainComponent constructor. This is the constructor called by an FEM\_ObjectBroker. The data must be filled in subsequently by a call to {recvSelf()}.

Definition at line 63 of file Node.cpp.

Node::Node ( int tag,
int ndof,
double Crd1 )
 

To construct a node whose unique integer among nodes in the domain is given by {tag} and whose classTag is given by {classTag}. This constructor can be used by subclasses who wish to handle their own data management.

Definition at line 76 of file Node.cpp.

Node::Node ( int tag,
int ndof,
double Crd1,
double Crd2 )
 

To construct a node for 1d problems whose unique integer among nodes in the domain is given by {tag} and whose original position in 1d space is given by (Crd1). With the node is associated {ndof} number of degrees of freedom. The class tag is NOD\_TAG\_Node (defined in classTags.h). A Vector object is created to hold the coordinates. No storage objects are created to hold the trial and committed response quantities, mass, load quantities; these are created as needed to reduce the memory demands on the system in certain situations.

Definition at line 92 of file Node.cpp.

Node::Node ( int tag,
int ndof,
double Crd1,
double Crd2,
double Crd3 )
 

To construct a node for 2d problems whose unique integer among nodes in the domain is given by {tag} and whose original position in 2d space is given by (Crd1,Crd2). With the node is associated {ndof} number of degrees of freedom. The class tag is NOD\_TAG\_Node. A Vector object is created to hold the coordinates. No storage objects are created to hold the trial and committed response quantities, mass, load quantities; these are created as needed to reduce the memory demands on the system in certain situations.

Definition at line 110 of file Node.cpp.

Node::Node ( const Node * theCopy )
 

To construct a node for 3d problems whose unique integer among nodes in the domain is given by {tag} and whose original position in 3d space is given by (Crd1,Crd2,Crd3). With the node is associated {ndof} number of degrees of freedom. The class tag is NOD\_TAG\_Node. A Vector object is created to hold the coordinates. No storage objects are created to hold the trial and committed response quantities, mass, load quantities; these are created as needed to reduce the memory demands on the system in certain situations.

Definition at line 127 of file Node.cpp.

Node::~Node ( ) [virtual]
 

destructor.

Definition at line 199 of file Node.cpp.


Member Function Documentation

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

A pure virtual function. The component is to output itself to the output stream {s}. The integer {flag} can be used to select just what should be output, by default is passed.

Reimplemented from TaggedObject.

Definition at line 1214 of file Node.cpp.

Referenced by EightNodeBrick::Print(), and EightNodeBrick::report().

int Node::addInertiaLoadToUnbalance ( const Vector & accel,
double fact = 1.0 ) [virtual]
 

Definition at line 629 of file Node.cpp.

Referenced by EarthquakePattern::applyLoad().

int Node::addUnbalancedLoad ( const Vector & load,
double fact = 1.0 ) [virtual]
 

Definition at line 599 of file Node.cpp.

Referenced by NodalLoad::applyLoad().

int Node::commitState ( void ) [virtual]
 

public methods dealing with the committed state of the node.

Definition at line 700 of file Node.cpp.

Referenced by Domain::commit(), and UniformExcitation::setDomain().

int Node::displaySelf ( Renderer & theRenderer,
int displayMode,
float fact ) [virtual]
 

Method for visualisation, default does nothing.

Reimplemented from DomainComponent.

Definition at line 1241 of file Node.cpp.

const Vector & Node::getAccel ( void ) [virtual]
 

Definition at line 325 of file Node.cpp.

Referenced by TransformationDOF_Group::getCommittedAccel(), and DOF_Group::getCommittedAccel().

const Vector & Node::getCrds ( void ) const [virtual]
 

public methods for obtaining the nodal coordinates.

Definition at line 280 of file Node.cpp.

Referenced by EightNodeBrick::Nodal_Coordinates(), RigidBeam::RigidBeam(), RigidDiaphragm::RigidDiaphragm(), RigidRod::RigidRod(), Domain::addNode(), ZeroLengthSection::displaySelf(), ZeroLengthND::displaySelf(), ZeroLength::displaySelf(), TrussSection::displaySelf(), Truss::displaySelf(), NLBeamColumn3d::displaySelf(), NLBeamColumn2d::displaySelf(), FourNodeQuad::displaySelf(), EnhancedQuad::displaySelf(), ElasticBeam3d::displaySelf(), ElasticBeam2d::displaySelf(), EightNodeBrick::displaySelf(), DispBeamColumn3d::displaySelf(), DispBeamColumn2d::displaySelf(), CorotTruss::displaySelf(), Brick::displaySelf(), BeamWithHinges3d::displaySelf(), BeamWithHinges2d::displaySelf(), BbarBrick::displaySelf(), PDeltaCrdTransf3d::getPointGlobalCoordFromLocal(), PDeltaCrdTransf2d::getPointGlobalCoordFromLocal(), LinearCrdTransf3d::getPointGlobalCoordFromLocal(), LinearCrdTransf2d::getPointGlobalCoordFromLocal(), EightNodeBrick::reportTensor(), EightNodeBrick::reportTensorF(), ZeroLengthSection::setDomain(), ZeroLengthND::setDomain(), ZeroLength::setDomain(), TrussSection::setDomain(), Truss::setDomain(), CorotTruss::setDomain(), and ConstantPressureVolumeQuad::setDomain().

DOF_Group * Node::getDOF_GroupPtr ( void ) [virtual]
 

Definition at line 272 of file Node.cpp.

Referenced by FE_Element::FE_Element(), LagrangeMP_FE::LagrangeMP_FE(), LagrangeSP_FE::LagrangeSP_FE(), PenaltyMP_FE::PenaltyMP_FE(), PenaltySP_FE::PenaltySP_FE(), TransformationFE::TransformationFE(), DomainDecompositionAnalysis::domainChanged(), DisplacementControl::domainChanged(), TransformationDOF_Group::doneID(), TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), PlainNumberer::numberDOF(), DOF_Numberer::numberDOF(), PenaltySP_FE::setID(), PenaltyMP_FE::setID(), LagrangeSP_FE::setID(), and LagrangeMP_FE::setID().

const Vector & Node::getDisp ( void ) [virtual]
 

response quantities of the node.

Definition at line 290 of file Node.cpp.

Referenced by ZeroLengthSection::displaySelf(), ZeroLengthND::displaySelf(), ZeroLength::displaySelf(), TrussSection::displaySelf(), Truss::displaySelf(), displaySelf(), NLBeamColumn3d::displaySelf(), NLBeamColumn2d::displaySelf(), FourNodeQuad::displaySelf(), EnhancedQuad::displaySelf(), ElasticBeam3d::displaySelf(), ElasticBeam2d::displaySelf(), EightNodeBrick::displaySelf(), DispBeamColumn3d::displaySelf(), DispBeamColumn2d::displaySelf(), CorotTruss::displaySelf(), Brick::displaySelf(), BeamWithHinges3d::displaySelf(), BeamWithHinges2d::displaySelf(), BbarBrick::displaySelf(), TransformationDOF_Group::getCommittedDisp(), and DOF_Group::getCommittedDisp().

const Matrix & Node::getEigenvectors ( void ) [virtual]
 

Definition at line 953 of file Node.cpp.

const Vector & Node::getIncrDeltaDisp ( void ) [virtual]
 

Definition at line 403 of file Node.cpp.

Referenced by PDeltaCrdTransf3d::getBasicIncrDeltaDisp(), PDeltaCrdTransf2d::getBasicIncrDeltaDisp(), LinearCrdTransf3d::getBasicIncrDeltaDisp(), LinearCrdTransf2d::getBasicIncrDeltaDisp(), and EightNodeBrick::incr_disp().

const Vector & Node::getIncrDisp ( void ) [virtual]
 

Definition at line 390 of file Node.cpp.

Referenced by PDeltaCrdTransf3d::getBasicIncrDisp(), PDeltaCrdTransf2d::getBasicIncrDisp(), LinearCrdTransf3d::getBasicIncrDisp(), and LinearCrdTransf2d::getBasicIncrDisp().

const Matrix & Node::getMass ( void ) [virtual]
 

public methods for dynamic analysis.

Definition at line 788 of file Node.cpp.

Referenced by DOF_Group::addLocalM_Force(), DOF_Group::addM_Force(), and DOF_Group::addMtoTang().

int Node::getNumberDOF ( void ) const [virtual]
 

public methods dealing with the DOF at the node.

Definition at line 256 of file Node.cpp.

Referenced by RigidBeam::RigidBeam(), RigidDiaphragm::RigidDiaphragm(), RigidRod::RigidRod(), TransformationDOF_Group::TransformationDOF_Group(), Domain::addElement(), Element::addInertiaLoadToUnbalance(), Domain::addSP_Constraint(), ImposedMotionSP::applyConstraint(), TransformationConstraintHandler::handle(), ZeroLengthSection::setDomain(), ZeroLengthND::setDomain(), ZeroLength::setDomain(), UniformExcitation::setDomain(), TrussSection::setDomain(), Truss::setDomain(), NLBeamColumn3d::setDomain(), NLBeamColumn2d::setDomain(), FourNodeQuad::setDomain(), ElasticBeam3d::setDomain(), ElasticBeam2d::setDomain(), EightNodeBrick::setDomain(), DispBeamColumn3d::setDomain(), DispBeamColumn2d::setDomain(), CorotTruss::setDomain(), PenaltySP_FE::setID(), PenaltyMP_FE::setID(), and LagrangeMP_FE::setID().

const Vector & Node::getRV ( const Vector & V ) [virtual]
 

Definition at line 874 of file Node.cpp.

Referenced by TrussSection::addInertiaLoadToUnbalance(), Truss::addInertiaLoadToUnbalance(), FourNodeQuad::addInertiaLoadToUnbalance(), Element::addInertiaLoadToUnbalance(), ElasticBeam3d::addInertiaLoadToUnbalance(), ElasticBeam2d::addInertiaLoadToUnbalance(), EightNodeBrick::addInertiaLoadToUnbalance(), DispBeamColumn3d::addInertiaLoadToUnbalance(), DispBeamColumn2d::addInertiaLoadToUnbalance(), BeamWithHinges3d::addInertiaLoadToUnbalance(), and BeamWithHinges2d::addInertiaLoadToUnbalance().

const Vector & Node::getTrialAccel ( void ) [virtual]
 

Definition at line 378 of file Node.cpp.

Referenced by ImposedMotionSP::applyConstraint(), TrussSection::getResistingForceIncInertia(), Truss::getResistingForceIncInertia(), FourNodeQuad::getResistingForceIncInertia(), ElasticBeam3d::getResistingForceIncInertia(), ElasticBeam2d::getResistingForceIncInertia(), EightNodeBrick::getResistingForceIncInertia(), DispBeamColumn3d::getResistingForceIncInertia(), DispBeamColumn2d::getResistingForceIncInertia(), CorotTruss::getResistingForceIncInertia(), getUnbalancedLoadIncInertia(), and DOF_Group::setNodeAccel().

const Vector & Node::getTrialDisp ( void ) [virtual]
 

Definition at line 348 of file Node.cpp.

Referenced by ImposedMotionSP::applyConstraint(), PDeltaCrdTransf3d::getBasicTrialDisp(), PDeltaCrdTransf2d::getBasicTrialDisp(), LinearCrdTransf3d::getBasicTrialDisp(), LinearCrdTransf2d::getBasicTrialDisp(), ZeroLength::getDamp(), PDeltaCrdTransf3d::getPointGlobalDisplFromBasic(), PDeltaCrdTransf2d::getPointGlobalDisplFromBasic(), LinearCrdTransf3d::getPointGlobalDisplFromBasic(), LinearCrdTransf2d::getPointGlobalDisplFromBasic(), PenaltySP_FE::getResidual(), LagrangeSP_FE::getResidual(), ZeroLength::getResistingForce(), FourNodeQuad::getResistingForce(), ZeroLength::getResponse(), ZeroLength::getTangentStiff(), FourNodeQuad::getTangentStiff(), MaxNodeDispRecorder::record(), DOF_Group::setNodeDisp(), EightNodeBrick::total_disp(), PDeltaCrdTransf3d::update(), PDeltaCrdTransf2d::update(), and CorotTruss::update().

const Vector & Node::getTrialVel ( void ) [virtual]
 

Definition at line 363 of file Node.cpp.

Referenced by ImposedMotionSP::applyConstraint(), ZeroLength::getDamp(), ZeroLength::getResistingForce(), ZeroLength::getTangentStiff(), and DOF_Group::setNodeVel().

const Vector & Node::getUnbalancedLoad ( void ) [virtual]
 

Definition at line 659 of file Node.cpp.

Referenced by DOF_Group::addPtoUnbalance(), and getUnbalancedLoadIncInertia().

const Vector & Node::getUnbalancedLoadIncInertia ( void ) [virtual]
 

Definition at line 677 of file Node.cpp.

Referenced by DOF_Group::addPIncInertiaToUnbalance().

const Vector & Node::getVel ( void ) [virtual]
 

Definition at line 307 of file Node.cpp.

Referenced by TransformationDOF_Group::getCommittedVel(), DOF_Group::getCommittedVel(), and UniformExcitation::setDomain().

int Node::incrTrialAccel ( const Vector & incrAccel ) [virtual]
 

Definition at line 563 of file Node.cpp.

Referenced by DOF_Group::incrNodeAccel().

int Node::incrTrialDisp ( const Vector & incrDispl ) [virtual]
 

Definition at line 498 of file Node.cpp.

Referenced by DOF_Group::incrNodeDisp().

int Node::incrTrialVel ( const Vector & incrVel ) [virtual]
 

Definition at line 534 of file Node.cpp.

Referenced by DOF_Group::incrNodeVel().

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

This is a pure virtual method, one must be written for each instantiable subclass of MovableObject. Each object has to receive the data needed to be able to recreate itself in the new process after it has been sent through {theChannel}. If the object is an aggregation containing other objects, new objects of the correct type can be constructed using {theBroker}. To return if successful or a if not.

Reimplemented from MovableObject.

Definition at line 1068 of file Node.cpp.

Referenced by Domain::recvSelf().

int Node::revertToLastCommit ( void ) [virtual]
 

Definition at line 730 of file Node.cpp.

Referenced by Domain::revertToLastCommit().

int Node::revertToStart ( void ) [virtual]
 

Definition at line 759 of file Node.cpp.

Referenced by Domain::revertToStart().

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

public methods for output.

Reimplemented from MovableObject.

Definition at line 964 of file Node.cpp.

Referenced by Domain::sendSelf().

void Node::setDOF_GroupPtr ( DOF_Group * theDOF_Grp ) [virtual]
 

Definition at line 264 of file Node.cpp.

Referenced by TransformationConstraintHandler::clearAll(), PlainHandler::clearAll(), PenaltyConstraintHandler::clearAll(), LagrangeConstraintHandler::clearAll(), TransformationConstraintHandler::handle(), PlainHandler::handle(), PenaltyConstraintHandler::handle(), LagrangeConstraintHandler::handle(), and DOF_Group::~DOF_Group().

int Node::setEigenvector ( int mode,
const Vector & eigenVector ) [virtual]
 

Definition at line 935 of file Node.cpp.

Referenced by DOF_Group::setEigenvector().

int Node::setMass ( const Matrix & theMass ) [virtual]
 

Definition at line 805 of file Node.cpp.

int Node::setNumColR ( int numCol ) [virtual]
 

Definition at line 832 of file Node.cpp.

Referenced by UniformExcitation::applyLoad().

int Node::setNumEigenvectors ( int numVectorsToStore ) [virtual]
 

public methods for eigen vector.

Definition at line 908 of file Node.cpp.

Referenced by AnalysisModel::setNumEigenvectors().

int Node::setR ( int row,
int col,
double Value ) [virtual]
 

Definition at line 852 of file Node.cpp.

Referenced by UniformExcitation::applyLoad().

int Node::setTrialAccel ( const Vector & newTrialAccel ) [virtual]
 

Definition at line 474 of file Node.cpp.

Referenced by ImposedMotionSP::applyConstraint(), and DOF_Group::setNodeAccel().

int Node::setTrialDisp ( const Vector & newTrialDisp ) [virtual]
 

public methods for updating the trial response quantities.

Definition at line 417 of file Node.cpp.

Referenced by ImposedMotionSP::applyConstraint(), and DOF_Group::setNodeDisp().

int Node::setTrialVel ( const Vector & newTrialVel ) [virtual]
 

Definition at line 448 of file Node.cpp.

Referenced by ImposedMotionSP::applyConstraint(), UniformExcitation::setDomain(), and DOF_Group::setNodeVel().

void Node::zeroUnbalancedLoad ( void ) [virtual]
 

public methods for adding and obtaining load information.

Definition at line 592 of file Node.cpp.

Referenced by Domain::applyLoad().


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