Definition of a continuous band track assembly using an ANCFshell-based web A track assembly consists of a sprocket, an idler (with tensioner mechanism), a set of suspensions (road-wheel assemblies), and a collection of track shoes. 
This class defines the template for a track assembly using a web modeled as an FEA mesh with ANCF shell elements. 
 
 | 
|   | ChTrackAssemblyBandANCF (const std::string &name, VehicleSide side) | 
|   | Construct an ANCFshell-based track assembly on the specified vehicle side.  More...
  | 
|   | 
| 
virtual std::string  | GetTemplateName () const override | 
|   | Get the name of the vehicle subsystem template. 
  | 
|   | 
| 
void  | SetContactSurfaceType (ContactSurfaceType type) | 
|   | Set the type of contact surface (default: TRIANGLE_MESH). 
  | 
|   | 
| 
virtual size_t  | GetNumTrackShoes () const override | 
|   | Get the number of track shoes. 
  | 
|   | 
| 
virtual std::shared_ptr< ChTrackShoe >  | GetTrackShoe (size_t id) const override | 
|   | Get the specified track shoe subsystem. 
  | 
|   | 
| 
std::shared_ptr< fea::ChMesh >  | GetMesh () const | 
|   | Get the FEA mesh which contains all track shoe FEA elements in this assembly. 
  | 
|   | 
  Public Member Functions inherited from chrono::vehicle::ChTrackAssemblyBand | 
|   | ChTrackAssemblyBand (const std::string &name, VehicleSide side) | 
|   | 
| 
virtual std::shared_ptr< ChSprocket >  | GetSprocket () const override | 
|   | Get a handle to the sprocket. 
  | 
|   | 
| 
VehicleSide  | GetVehicleSide () const | 
|   | Return the vehicle side for this track assembly. 
  | 
|   | 
| 
size_t  | GetNumTrackSuspensions () const | 
|   | Get the number of suspensions. 
  | 
|   | 
| 
size_t  | GetNumRollers () const | 
|   | Get the number of rollers. 
  | 
|   | 
| 
std::shared_ptr< ChIdler >  | GetIdler () const | 
|   | Get a handle to the idler subsystem. 
  | 
|   | 
| 
std::shared_ptr< ChTrackWheel >  | GetIdlerWheel () const | 
|   | Get a handle to the idelr wheel subsystem. 
  | 
|   | 
| 
std::shared_ptr< ChTrackBrake >  | GetBrake () const | 
|   | Get a handle to the brake subsystem. 
  | 
|   | 
| 
const ChTrackSuspensionList &  | GetTrackSuspensions () const | 
|   | Get the list of suspension subsystems. 
  | 
|   | 
| 
std::shared_ptr< ChTrackSuspension >  | GetTrackSuspension (size_t id) const | 
|   | Get a handle to the specified suspension subsystem. 
  | 
|   | 
| 
std::shared_ptr< ChTrackWheel >  | GetRoller (size_t id) const | 
|   | Get a handle to the specified roller subsystem. 
  | 
|   | 
| 
std::shared_ptr< ChTrackWheel >  | GetRoadWheel (size_t id) const | 
|   | Get a handle to the specified road wheel subsystem. 
  | 
|   | 
| const ChVector3d &  | GetTrackShoePos (size_t id) const | 
|   | Get the global location of the specified track shoe.  More...
  | 
|   | 
| const ChQuaternion &  | GetTrackShoeRot (size_t id) const | 
|   | Get the orientation of the specified track shoe.  More...
  | 
|   | 
| const ChVector3d &  | GetTrackShoeLinVel (size_t id) const | 
|   | Get the linear velocity of the specified track shoe.  More...
  | 
|   | 
| ChVector3d  | GetTrackShoeAngVel (size_t id) const | 
|   | Get the angular velocity of the specified track shoe.  More...
  | 
|   | 
| ChVector3d  | GetTrackShoeTension (size_t id) const | 
|   | Get track tension at the specified track shoe.  More...
  | 
|   | 
| BodyState  | GetTrackShoeState (size_t id) const | 
|   | Get the complete state for the specified track shoe.  More...
  | 
|   | 
| void  | GetTrackShoeStates (BodyStates &states) const | 
|   | Get the complete states for all track shoes.  More...
  | 
|   | 
| virtual const ChVector3d  | GetSprocketLocation () const =0 | 
|   | Get the relative location of the sprocket subsystem.  More...
  | 
|   | 
| virtual const ChVector3d  | GetIdlerLocation () const =0 | 
|   | Get the relative location of the idler subsystem.  More...
  | 
|   | 
| virtual const ChVector3d  | GetRoadWhelAssemblyLocation (int which) const =0 | 
|   | Get the relative location of the specified suspension subsystem.  More...
  | 
|   | 
| virtual const ChVector3d  | GetRollerLocation (int which) const | 
|   | Get the relative location of the specified roller subsystem.  More...
  | 
|   | 
| void  | Initialize (std::shared_ptr< ChChassis > chassis, const ChVector3d &location, bool create_shoes=true) | 
|   | Initialize this track assembly subsystem.  More...
  | 
|   | 
| 
double  | ReportTrackLength () const | 
|   | Return total assembled track length (sum of pitch over all track shoes). 
  | 
|   | 
| ChTrackSuspension::ForceTorque  | ReportSuspensionForce (size_t id) const | 
|   | Return current suspension forces or torques, as appropriate (spring and shock) for the specified suspension.  More...
  | 
|   | 
| 
void  | SetSprocketVisualizationType (VisualizationType vis) | 
|   | Set visualization type for the sprocket subsystem. 
  | 
|   | 
| 
void  | SetIdlerVisualizationType (VisualizationType vis) | 
|   | 
| 
void  | SetSuspensionVisualizationType (VisualizationType vis) | 
|   | Set visualization type for the suspension subsystems. 
  | 
|   | 
| 
void  | SetIdlerWheelVisualizationType (VisualizationType vis) | 
|   | Set visualization type for the idler-wheel subsystems. 
  | 
|   | 
| 
void  | SetRoadWheelVisualizationType (VisualizationType vis) | 
|   | Set visualization type for the road-wheel subsystems. 
  | 
|   | 
| 
void  | SetRollerVisualizationType (VisualizationType vis) | 
|   | Set visualization type for the roller subsystems. 
  | 
|   | 
| 
void  | SetTrackShoeVisualizationType (VisualizationType vis) | 
|   | Set visualization type for the track shoe subsystems. 
  | 
|   | 
| 
void  | SetWheelCollisionType (bool roadwheel_as_cylinder, bool idler_as_cylinder, bool roller_as_cylinder) | 
|   | Set collision shape type for wheels. 
  | 
|   | 
| void  | Synchronize (double time, double braking) | 
|   | Update the state of this track assembly at the current time.  More...
  | 
|   | 
| void  | Synchronize (double time, double braking, const TerrainForces &shoe_forces) | 
|   | Update the state of this track assembly at the current time.  More...
  | 
|   | 
| 
virtual void  | Advance (double step) | 
|   | Advance the state of this track assembly by the specified time step. 
  | 
|   | 
| virtual void  | SetOutput (bool state) override | 
|   | Enable/disable output for this subsystem.  More...
  | 
|   | 
| 
void  | LogConstraintViolations () | 
|   | Log current constraint violations. 
  | 
|   | 
| 
bool  | IsRoadwheelCylinder () const | 
|   | 
| 
bool  | IsIdlerCylinder () const | 
|   | 
| 
bool  | IsRolerCylinder () const | 
|   | 
| 
const std::string &  | GetName () const | 
|   | Get the name identifier for this subsystem. 
  | 
|   | 
| 
void  | SetName (const std::string &name) | 
|   | Set the name identifier for this subsystem. 
  | 
|   | 
| 
bool  | IsInitialized () const | 
|   | Return flag indicating whether or not the part is fully constructed. 
  | 
|   | 
| virtual uint16_t  | GetVehicleTag () const | 
|   | Get the tag of the associated vehicle.  More...
  | 
|   | 
| 
int  | GetBodyTag () const | 
|   | Get the tag for component bodies. 
  | 
|   | 
| double  | GetMass () const | 
|   | Get the subsystem mass.  More...
  | 
|   | 
| const ChFrame &  | GetCOMFrame () const | 
|   | Get the current subsystem COM frame (relative to and expressed in the subsystem's reference frame).  More...
  | 
|   | 
| const ChMatrix33 &  | GetInertia () const | 
|   | Get the current subsystem inertia (relative to the subsystem COM frame).  More...
  | 
|   | 
| const ChFrame &  | GetTransform () const | 
|   | Get the current subsystem position relative to the global frame.  More...
  | 
|   | 
| 
void  | SetVisualizationType (VisualizationType vis) | 
|   | Set the visualization mode for this subsystem. 
  | 
|   | 
| 
bool  | OutputEnabled () const | 
|   | Return the output state for this subsystem. 
  | 
|   | 
 | 
| void  | SetRubberLayerMaterial (double rho, const ChVector3d &E, const ChVector3d &nu, const ChVector3d &G) | 
|   | Set material properties of the rubber layers (isotropic material).  More...
  | 
|   | 
| void  | SetSteelLayerMaterial (double rho, const ChVector3d &E, const ChVector3d &nu, const ChVector3d &G) | 
|   | Set material properties of the steel layer (isotropic material).  More...
  | 
|   | 
| 
void  | SetElementStructuralDamping (double alpha) | 
|   | Set element structural damping (default: 0.05). 
  | 
|   | 
| void  | SetLayerFiberAngles (double angle_1, double angle_2, double angle_3) | 
|   | Set fiber angle for the three layers.  More...
  | 
|   | 
| 
virtual void  | CreateContactMaterial (ChContactMethod contact_method)=0 | 
|   | Create the contact material for the web mesh, consistent with the specified contact method. 
  | 
|   | 
  Protected Member Functions inherited from chrono::vehicle::ChTrackAssemblyBand | 
| 
bool  | FindAssemblyPoints (std::shared_ptr< ChBodyAuxRef > chassis, int num_shoes, const std::vector< double > &connection_lengths, std::vector< ChVector2d > &shoe_points) | 
|   | Assembly Algorithm Utility Functions. 
  | 
|   | 
| void  | FindCircleTangentPoints (ChVector2d Circle1Pos, double Circle1Rad, ChVector2d Circle2Pos, double Circle2Rad, ChVector2d &Tan1Pnt1, ChVector2d &Tan1Pnt2, ChVector2d &Tan2Pnt1, ChVector2d &Tan2Pnt2) | 
|   | 
| void  | CheckCircleCircle (bool &found, ChVector2d &Point, ChMatrixDynamic<> &Features, int FeatureIdx, ChVector2d &StartingPoint, double Radius) | 
|   | 
| void  | CheckCircleLine (bool &found, ChVector2d &Point, ChMatrixDynamic<> &Features, int FeatureIdx, ChVector2d &StartingPoint, double Radius) | 
|   | 
|   | ChTrackAssembly (const std::string &name, VehicleSide side) | 
|   | 
| virtual void  | InitializeInertiaProperties () override | 
|   | Initialize subsystem inertia properties.  More...
  | 
|   | 
| virtual void  | UpdateInertiaProperties () override | 
|   | Update subsystem inertia properties.  More...
  | 
|   | 
| virtual void  | ExportComponentList (rapidjson::Document &jsonDocument) const override | 
|   | Export this subsystem's component list to the specified JSON object.  More...
  | 
|   | 
| 
virtual void  | Output (ChOutput &database) const override | 
|   | Output data for this subsystem's component list to the specified database. 
  | 
|   | 
| 
  | ChPart (const std::string &name) | 
|   | Construct a vehicle subsystem with the specified name. 
  | 
|   | 
| void  | AddMass (double &mass) | 
|   | Add this subsystem's mass.  More...
  | 
|   | 
| void  | AddInertiaProperties (ChVector3d &com, ChMatrix33<> &inertia) | 
|   | Add this subsystem's inertia properties.  More...
  | 
|   | 
| virtual void  | Create (const rapidjson::Document &d) | 
|   | Create a vehicle subsystem from JSON data.  More...
  | 
|   | 
| 
void  | ExportBodyList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChBody >> bodies) const | 
|   | Export the list of bodies to the specified JSON document. 
  | 
|   | 
| 
void  | ExportShaftList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaft >> shafts) const | 
|   | Export the list of shafts to the specified JSON document. 
  | 
|   | 
| 
void  | ExportJointList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLink >> joints) const | 
|   | Export the list of joints to the specified JSON document. 
  | 
|   | 
| 
void  | ExportCouplesList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaftsCouple >> couples) const | 
|   | Export the list of shaft couples to the specified JSON document. 
  | 
|   | 
| 
void  | ExportMarkerList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChMarker >> markers) const | 
|   | Export the list of markers to the specified JSON document. 
  | 
|   | 
| 
void  | ExportLinSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkTSDA >> springs) const | 
|   | Export the list of translational springs to the specified JSON document. 
  | 
|   | 
| 
void  | ExportRotSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkRSDA >> springs) const | 
|   | Export the list of rotational springs to the specified JSON document. 
  | 
|   | 
| 
void  | ExportBodyLoadList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLoadBodyBody >> loads) const | 
|   | Export the list of body-body loads to the specified JSON document. 
  | 
|   |