Description
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.
#include <ChTrackAssemblyBandANCF.h>


| Public Types | |
| enum | ContactSurfaceType { NONE, NODE_CLOUD, TRIANGLE_MESH } | 
| Type of the mesh contact surface. | |
| Public Member Functions | |
| 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. | |
|  Public Member Functions inherited from chrono::vehicle::ChTrackAssembly | |
| 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 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... | |
| ChVector | 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 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< ChChassis > chassis, const ChVector<> &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, 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. | |
| bool | IsRoadwheelCylinder () const | 
| bool | IsIdlerCylinder () const | 
| bool | IsRolerCylinder () const | 
|  Public Member Functions inherited from chrono::vehicle::ChPart | |
| 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. | |
| 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. | |
| Protected Member Functions | |
| 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... | |
| 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< 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) | 
|  Protected Member Functions inherited from chrono::vehicle::ChTrackAssembly | |
| 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 (ChVehicleOutput &database) const override | 
| Output data for this subsystem's component list to the specified database. | |
|  Protected Member Functions inherited from chrono::vehicle::ChPart | |
| 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 (ChVector<> &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... | |
| Protected Attributes | |
| ChTrackShoeBandANCFList | m_shoes | 
| track shoes | |
| std::shared_ptr< fea::ChMesh > | m_track_mesh | 
| web mesh | |
| std::shared_ptr< ChMaterialSurface > | m_contact_material | 
| contact material for the web mesh | |
| ContactSurfaceType | m_contact_type | 
| type of contact surface model (node cloud or mesh) | |
|  Protected Attributes inherited from chrono::vehicle::ChTrackAssemblyBand | |
| std::shared_ptr< ChSprocketBand > | m_sprocket | 
| sprocket subsystem | |
| double | m_sprocket_offset | 
|  Protected Attributes inherited from chrono::vehicle::ChTrackAssembly | |
| VehicleSide | m_side | 
| assembly on left/right vehicle side | |
| ChVector | m_rel_loc | 
| assembly location relative to chassis | |
| std::shared_ptr< ChIdler > | m_idler | 
| idler (and tensioner) subsystem | |
| std::shared_ptr< ChTrackBrake > | m_brake | 
| sprocket brake | |
| ChTrackSuspensionList | m_suspensions | 
| road-wheel assemblies | |
| ChTrackWheelList | m_rollers | 
| roller subsystems | |
| bool | m_roadwheel_as_cylinder | 
| bool | m_idler_as_cylinder | 
| bool | m_roller_as_cylinder | 
|  Protected Attributes inherited from chrono::vehicle::ChPart | |
| std::string | m_name | 
| subsystem name | |
| bool | m_output | 
| specifies whether or not output is generated for this subsystem | |
| std::shared_ptr< ChPart > | m_parent | 
| parent subsystem (empty if parent is vehicle) | |
| double | m_mass | 
| subsystem mass | |
| ChMatrix33 | m_inertia | 
| inertia tensor (relative to subsystem COM) | |
| ChFrame | m_com | 
| COM frame (relative to subsystem reference frame) | |
| ChFrame | m_xform | 
| subsystem frame expressed in the global frame | |
| Friends | |
| class | BroadphaseCulling | 
| Additional Inherited Members | |
|  Static Public Member Functions inherited from chrono::vehicle::ChPart | |
| 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 Protected Member Functions inherited from chrono::vehicle::ChPart | |
| 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< ChLinkRSDA >> 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. | |
| static void | RemoveVisualizationAssets (std::shared_ptr< ChPhysicsItem > item) | 
| Erase all visual shapes from the visual model associated with the specified physics item (if any). | |
| static void | RemoveVisualizationAsset (std::shared_ptr< ChPhysicsItem > item, std::shared_ptr< ChVisualShape > shape) | 
| Erase the given shape from the visual model associated with the specified physics item (if any). | |
Constructor & Destructor Documentation
◆ ChTrackAssemblyBandANCF()
| chrono::vehicle::ChTrackAssemblyBandANCF::ChTrackAssemblyBandANCF | ( | const std::string & | name, | 
| VehicleSide | side | ||
| ) | 
Construct an ANCFshell-based track assembly on the specified vehicle side.
- Parameters
- 
  [in] name name of the subsystem [in] side assembly on left/right vehicle side 
Member Function Documentation
◆ SetLayerFiberAngles()
| 
 | protected | 
Set fiber angle for the three layers.
- Parameters
- 
  angle_1 fiber angle for bottom (outter) rubber layer (default: 0 rad) angle_2 fiber angle for middle steel layer (default: 0 rad) angle_3 fiber angle for top (inner) rubber layer (default: 0 rad) 
◆ SetRubberLayerMaterial()
| 
 | protected | 
Set material properties of the rubber layers (isotropic material).
- Parameters
- 
  rho density (default: 1100) E elasticity moduli, E_x, E_y, E_z (default: 1e7) nu Poisson ratios, nu_x, nu_y, nu_z (default: 0.49) G shear moduli, G_x, Gy, Gz (default: 0.5 * E / (1 + nu)) 
◆ SetSteelLayerMaterial()
| 
 | protected | 
Set material properties of the steel layer (isotropic material).
- Parameters
- 
  rho density (default: 1100) E elasticity moduli, E_x, E_y, E_z (default: 1e7) nu Poisson ratios, nu_x, nu_y, nu_z (default: 0.3) G shear moduli, G_x, Gy, Gz (default: 0.5 * E / (1 + nu)) 
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_vehicle/tracked_vehicle/track_assembly/ChTrackAssemblyBandANCF.h
- /builds/uwsbel/chrono/src/chrono_vehicle/tracked_vehicle/track_assembly/ChTrackAssemblyBandANCF.cpp
