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

rdPolynomialSetPoint Class Reference

Contact modeled with a polynomal spring in the normal direction and a moving set point in the tangential plane. More...

#include <rdPolynomialSetPoint.h>

Inheritance diagram for rdPolynomialSetPoint:

rdSetPoint rdContactForce rdForce rdActuator rdObject List of all members.

Public Member Functions

 rdPolynomialSetPoint (int aBodyA=0, int aBodyB=0)
 Default constructor.

 rdPolynomialSetPoint (IDOM_Element *aElement)
 Construct an actuator from an XML element.

 rdPolynomialSetPoint (const rdPolynomialSetPoint &aContact)
 Copy constructor.

virtual ~rdPolynomialSetPoint ()
 Destructor.

virtual rdActuatorcopy () const
 Copy this actuator and return a pointer to the copy.

virtual rdActuatorcopy (IDOM_Element *aElement) const
 Copy this actuator and modify the copy so that it is consistent with a specified XML element node.

rdPolynomialSetPoint & operator= (const rdPolynomialSetPoint &aActuator)
 Assignment operator.

void setNormalStiffnessConstant (double aKNP)
 Set normal stiffness.

double getNormalStiffnessConstant () const
 Get normal stiffness.

void setNormalViscosityConstant (double aKNV)
 Set normal viscosity.

double getNormalViscosityConstant () const
 Get normal viscosity.

void setStiffnessPower (double aPower)
 Set the power to which the normal displacement of the spring is raised.

double getStiffnessPower () const
 Get the power to which the normal displacement of the spring is raised.

void setViscosityPower (double aPower)
 Set the power to which the normal velocity of the spring is raised.

double getViscosityPower () const
 Get the power to which the normal velocity of the spring is raised.

virtual void computeActuation ()
 Compute all quantities necessary for applying the actuator force to the model.

virtual bool check () const
 Check that this force actuator has a valid set of states.

virtual void updateObject (bool aDeep=true)
 Update this object based on its XML node.

virtual void updateNode (bool aDeep=true)
 Update the XML node representing this object.

virtual void generateNode (IDOM_Element *aParent)
 Generate an XML node representing this object.

void updateData ()
 Update the member data of this object based on its XML node.


Static Public Attributes

const char PROP_NORMAL_STIFFNESS [] = "normal_stiffness"
const char PROP_NORMAL_VISCOSITY [] = "normal_viscosity"
const char PROP_STIFFNESS_POWER [] = "stiffness_power"
const char PROP_VISCOSITY_POWER [] = "viscosity_power"

Protected Attributes

double _kNP
 Normal stiffness constant.

double _kNV
 Normal viscosity constant.

double _powNP
 Stiffness power- power to which normal spring displacement is raised.

double _powNV
 Viscosity power- power to which normal spring velocity is raised.


Private Member Functions

void setNull ()
 Set the data members of this actuator to their null values.


Detailed Description

Contact modeled with a polynomal spring in the normal direction and a moving set point in the tangential plane.

Author:
Frank C. Anderson
Version:
1.0


Constructor & Destructor Documentation

rdPolynomialSetPoint::rdPolynomialSetPoint IDOM_Element *  aElement  ) 
 

Construct an actuator from an XML element.

Parameters:
aElement XML element.

rdPolynomialSetPoint::rdPolynomialSetPoint const rdPolynomialSetPoint &  aContact  ) 
 

Copy constructor.

Parameters:
aContact Contact to be copied.


Member Function Documentation

rdActuator * rdPolynomialSetPoint::copy IDOM_Element *  aElement  )  const [virtual]
 

Copy this actuator and modify the copy so that it is consistent with a specified XML element node.

The copy is constructed by first using rdForce::rdForce(IDOM_Element*,int,int) in order to establish the relationship of the rdForce object with the XML node. Then, the assignment operator is used to set all data members of the copy to the values of this rdForce object. Finally, the data members of the copy are updated using rdForce::updateObject().

Parameters:
aElement XML element.
Returns:
Pointer to a copy of this actuator.

Reimplemented from rdForce.

rdActuator * rdPolynomialSetPoint::copy  )  const [virtual]
 

Copy this actuator and return a pointer to the copy.

The copy constructor for this class is used.

Returns:
Pointer to a copy of this actuator.

Reimplemented from rdForce.

void rdPolynomialSetPoint::generateNode IDOM_Element *  aParent  )  [virtual]
 

Generate an XML node representing this object.

Parameters:
aParent Intended parent of the node to be generated. If aParent is NULL, the intent is for this object to serve as the root element of a new document.
See also:
rdObject::generateNode()

Reimplemented from rdSetPoint.

double rdPolynomialSetPoint::getNormalStiffnessConstant  )  const
 

Get normal stiffness.

Returns:
Normal stiffness.

double rdPolynomialSetPoint::getNormalViscosityConstant  )  const
 

Get normal viscosity.

Returns:
Normal viscosity.

double rdPolynomialSetPoint::getStiffnessPower  )  const
 

Get the power to which the normal displacement of the spring is raised.

Returns:
Power to which the normal displacement of the spring is raised.

double rdPolynomialSetPoint::getViscosityPower  )  const
 

Get the power to which the normal velocity of the spring is raised.

Returns:
Power to which the normal velocity of the spring is raised.

rdPolynomialSetPoint & rdPolynomialSetPoint::operator= const rdPolynomialSetPoint &  aActuator  ) 
 

Assignment operator.

Parameters:
aActuator Actuator to which to set this actuator equal.
Returns:
Reference to this object.

void rdPolynomialSetPoint::setNormalStiffnessConstant double  aKNP  ) 
 

Set normal stiffness.

Parameters:
aKTP Normal stiffness- must be positive.

void rdPolynomialSetPoint::setNormalViscosityConstant double  aKNV  ) 
 

Set normal viscosity.

Parameters:
aKTV Normal viscosity- must be positive.

void rdPolynomialSetPoint::setStiffnessPower double  aPower  ) 
 

Set the power to which the normal displacement of the spring is raised.

Parameters:
aPower Power to which the normal displacement of the spring is raised.

void rdPolynomialSetPoint::setViscosityPower double  aPower  ) 
 

Set the power to which the normal velocity of the spring is raised.

Parameters:
aPower Power to which the normal velocity of the spring is raised.

void rdPolynomialSetPoint::updateData  ) 
 

Update the member data of this object based on its XML node.

Member objects (children) are not updated.

Reimplemented from rdSetPoint.

void rdPolynomialSetPoint::updateNode bool  aDeep = true  )  [virtual]
 

Update the XML node representing this object.

Parameters:
aDeep If true, update the XML node of this object AND the XML nodes of all class members that are rdObjects (child nodes); if false, update only the XML node of this object without updating the XML nodes of its children.

Reimplemented from rdSetPoint.

void rdPolynomialSetPoint::updateObject bool  aDeep = true  )  [virtual]
 

Update this object based on its XML node.

Parameters:
aDeep If true, update this object and all its child objects (that is, member variables that are rdObject's); if false, update only the member variables that are not rdObject's.

Reimplemented from rdSetPoint.


Member Data Documentation

double rdPolynomialSetPoint::_kNP [protected]
 

Normal stiffness constant.

This constant needs to be different than variable in base class. The base class variable is the instantaneous stiffness.

double rdPolynomialSetPoint::_kNV [protected]
 

Normal viscosity constant.

This constant needs to be different than variable in base class. The base class variable is the instantaneous viscosity.

double rdPolynomialSetPoint::_powNP [protected]
 

Stiffness power- power to which normal spring displacement is raised.

The power is 1.0 by default.

double rdPolynomialSetPoint::_powNV [protected]
 

Viscosity power- power to which normal spring velocity is raised.

The power is 1.0 by default.


The documentation for this class was generated from the following files:
Generated on Wed Aug 20 02:17:12 2003 for Simulation Software by doxygen1.3