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 a handle to the specified track shoe subsystem. 
 | 
|  | 
|  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 | GetNumRoadWheelAssemblies () 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< ChTrackBrake > | GetBrake () const | 
|  | Get a handle to the brake subsystem. 
 | 
|  | 
| const ChRoadWheelAssemblyList & | GetRoadWheelAssemblies () const | 
|  | Get the list of suspension subsystems. 
 | 
|  | 
| std::shared_ptr< ChRoadWheelAssembly > | GetRoadWheelAssembly (size_t id) const | 
|  | Get a handle to the specified suspension subsystem. 
 | 
|  | 
| std::shared_ptr< ChRoller > | GetRoller (size_t id) const | 
|  | Get a handle to the specified roller subsystem. 
 | 
|  | 
| std::shared_ptr< ChRoadWheel > | GetRoadWheel (size_t id) const | 
|  | Get a handle to the specified road wheel subsystem. 
 | 
|  | 
| const ChVector & | 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 ChVector & | GetTrackShoeLinVel (size_t id) const | 
|  | Get the linear velocity of the specified track shoe.  More... 
 | 
|  | 
| ChVector | GetTrackShoeAngVel (size_t id) const | 
|  | Get the angular velocity of 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... 
 | 
|  | 
| double | GetMass () const | 
|  | Get the total mass of the track assembly.  More... 
 | 
|  | 
| virtual const ChVector | GetSprocketLocation () const =0 | 
|  | Get the relative location of the sprocket subsystem.  More... 
 | 
|  | 
| virtual const ChVector | GetIdlerLocation () const =0 | 
|  | Get the relative location of the idler subsystem.  More... 
 | 
|  | 
| virtual const ChVector | GetRoadWhelAssemblyLocation (int which) const =0 | 
|  | Get the relative location of the specified suspension subsystem.  More... 
 | 
|  | 
| virtual const ChVector | GetRollerLocation (int which) const | 
|  | Get the relative location of the specified roller subsystem.  More... 
 | 
|  | 
| void | Initialize (std::shared_ptr< ChBodyAuxRef > chassis, const ChVector<> &location, bool create_shoes=true) | 
|  | Initialize this track assembly subsystem.  More... 
 | 
|  | 
| void | SetSprocketVisualizationType (VisualizationType vis) | 
|  | Set visualization type for the sprocket subsystem. 
 | 
|  | 
| void | SetIdlerVisualizationType (VisualizationType vis) | 
|  | 
| void | SetRoadWheelAssemblyVisualizationType (VisualizationType vis) | 
|  | Set visualization type for the suspension 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 | Synchronize (double time, double braking, const TerrainForces &shoe_forces) | 
|  | Update the state of this track assembly at the current time.  More... 
 | 
|  | 
| virtual void | SetOutput (bool state) override | 
|  | Enable/disable output for this subsystem.  More... 
 | 
|  | 
| void | LogConstraintViolations () | 
|  | Log current constraint violations. 
 | 
|  | 
|  | ChPart (const std::string &name) | 
|  | Construct a vehicle subsystem with the specified name.  More... 
 | 
|  | 
| 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. 
 | 
|  | 
| void | SetVisualizationType (VisualizationType vis) | 
|  | Set the visualization mode for this subsystem. 
 | 
|  | 
| void | SetContactFrictionCoefficient (float friction_coefficient) | 
|  | Set coefficient of friction.  More... 
 | 
|  | 
| void | SetContactRestitutionCoefficient (float restitution_coefficient) | 
|  | Set coefficient of restitution.  More... 
 | 
|  | 
| void | SetContactMaterialProperties (float young_modulus, float poisson_ratio) | 
|  | Set contact material properties.  More... 
 | 
|  | 
| void | SetContactMaterialCoefficients (float kn, float gn, float kt, float gt) | 
|  | Set contact material coefficients.  More... 
 | 
|  | 
| float | GetCoefficientFriction () const | 
|  | Get coefficient of friction for contact material. 
 | 
|  | 
| float | GetCoefficientRestitution () const | 
|  | Get coefficient of restitution for contact material. 
 | 
|  | 
| float | GetYoungModulus () const | 
|  | Get Young's modulus of elasticity for contact material. 
 | 
|  | 
| float | GetPoissonRatio () const | 
|  | Get Poisson ratio for contact material. 
 | 
|  | 
| float | GetKn () const | 
|  | Get normal stiffness coefficient for contact material. 
 | 
|  | 
| float | GetKt () const | 
|  | Get tangential stiffness coefficient for contact material. 
 | 
|  | 
| float | GetGn () const | 
|  | Get normal viscous damping coefficient for contact material. 
 | 
|  | 
| float | GetGt () const | 
|  | Get tangential viscous damping coefficient for contact material. 
 | 
|  | 
| bool | OutputEnabled () const | 
|  | Return the output state for this subsystem. 
 | 
|  | 
|  | 
| void | SetRubberLayerMaterial (double rho, const ChVector<> &E, const ChVector<> &nu, const ChVector<> &G) | 
|  | Set material properties of the rubber layers (isotropic material).  More... 
 | 
|  | 
| void | SetSteelLayerMaterial (double rho, const ChVector<> &E, const ChVector<> &nu, const ChVector<> &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... 
 | 
|  | 
|  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< ChVector2<>> &shoe_points) | 
|  | Assembly Algorithm Utility Functions. 
 | 
|  | 
| void | FindCircleTangentPoints (ChVector2<> Circle1Pos, double Circle1Rad, ChVector2<> Circle2Pos, double Circle2Rad, ChVector2<> &Tan1Pnt1, ChVector2<> &Tan1Pnt2, ChVector2<> &Tan2Pnt1, ChVector2<> &Tan2Pnt2) | 
|  | 
| void | CheckCircleCircle (bool &found, ChVector2<> &Point, ChMatrixDynamic<> &Features, int FeatureIdx, ChVector2<> &StartingPoint, double Radius) | 
|  | 
| void | CheckCircleLine (bool &found, ChVector2<> &Point, ChMatrixDynamic<> &Features, int FeatureIdx, ChVector2<> &StartingPoint, double Radius) | 
|  | 
|  | ChTrackAssembly (const std::string &name, VehicleSide side) | 
|  | 
| virtual void | ExportComponentList (rapidjson::Document &jsonDocument) const override | 
|  | Export this subsystem's component list to the specified JSON object.  More... 
 | 
|  | 
| virtual void | Output (ChVehicleOutput &database) const override | 
|  | Output data for this subsystem's component list to the specified database. 
 | 
|  | 
| virtual void | Create (const rapidjson::Document &d) | 
|  | Create a vehicle subsystem from JSON data.  More... 
 | 
|  | 
|  | 
| static ChMatrix33 | TransformInertiaMatrix (const ChVector<> &moments, const ChVector<> &products, const ChMatrix33<> &vehicle_rot, const ChMatrix33<> &body_rot) | 
|  | Utility function for transforming inertia tensors between centroidal frames.  More... 
 | 
|  | 
| static void | ExportBodyList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChBody >> bodies) | 
|  | Export the list of bodies to the specified JSON document. 
 | 
|  | 
| static void | ExportShaftList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaft >> shafts) | 
|  | Export the list of shafts to the specified JSON document. 
 | 
|  | 
| static void | ExportJointList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLink >> joints) | 
|  | Export the list of joints to the specified JSON document. 
 | 
|  | 
| static void | ExportCouplesList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChShaftsCouple >> couples) | 
|  | Export the list of shaft couples to the specified JSON document. 
 | 
|  | 
| static void | ExportMarkerList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChMarker >> markers) | 
|  | Export the list of markers to the specified JSON document. 
 | 
|  | 
| static void | ExportLinSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkTSDA >> springs) | 
|  | Export the list of translational springs to the specified JSON document. 
 | 
|  | 
| static void | ExportRotSpringList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLinkRotSpringCB >> springs) | 
|  | Export the list of rotational springs to the specified JSON document. 
 | 
|  | 
| static void | ExportBodyLoadList (rapidjson::Document &jsonDocument, std::vector< std::shared_ptr< ChLoadBodyBody >> loads) | 
|  | Export the list of body-body loads to the specified JSON document. 
 | 
|  |