chrono::vehicle::ChVehicleCosimTireNodeFlexible Class Reference

Description

Definition of the flexible tire node.

#include <ChVehicleCosimTireNodeFlexible.h>

Inheritance diagram for chrono::vehicle::ChVehicleCosimTireNodeFlexible:
Collaboration diagram for chrono::vehicle::ChVehicleCosimTireNodeFlexible:

Public Member Functions

 ChVehicleCosimTireNodeFlexible (int index, const std::string &tire_json)
 
virtual TireType GetTireType () const override
 Return the tire type.
 
virtual void Advance (double step_size) override final
 Advance simulation. More...
 
- Public Member Functions inherited from chrono::vehicle::ChVehicleCosimTireNode
virtual NodeType GetNodeType () const override final
 Return the node type as NodeType::TIRE.
 
void EnableTirePressure (bool val)
 Enable/disable tire pressure (default: true).
 
void SetNumThreads (int num_threads)
 Set the number of OpenMP threads used in Chrono simulation (default: 1).
 
void SetIntegratorType (ChTimestepper::Type int_type, ChSolver::Type slv_type)
 Set integrator and solver types. More...
 
virtual void Initialize () override final
 Initialize this node. More...
 
virtual void Synchronize (int step_number, double time) override final
 Synchronize this node. More...
 
virtual void OutputData (int frame) override final
 Output logging and debugging data.
 
- Public Member Functions inherited from chrono::vehicle::ChVehicleCosimBaseNode
std::string GetNodeTypeString () const
 Return the node type as a string.
 
bool IsCosimNode () const
 Return true if this node is part of the co-simulation infrastructure.
 
void SetStepSize (double step)
 Set the integration step size (default: 1e-4).
 
double GetStepSize () const
 Get the integration step size.
 
void SetOutDir (const std::string &dir_name, const std::string &suffix="")
 Set the name of the output directory and an identifying suffix. More...
 
void SetVerbose (bool verbose)
 Enable/disable verbose messages during simulation (default: true).
 
void EnableRuntimeVisualization (double render_fps=100, bool save_img=false)
 Enable run-time visualization (default: false). More...
 
void SetCameraPosition (const ChVector3d &cam_pos, const ChVector3d &cam_target=VNULL)
 Set camera location and target point.
 
void SetCameraTracking (bool track)
 Enable/disable tracking of objects (default: true).
 
void EnablePostprocessVisualization (double render_fps=100)
 Enable Blender postprocessing (default: false). More...
 
const std::string & GetOutDirName () const
 Get the output directory name for this node.
 
double GetStepExecutionTime () const
 Get the simulation execution time for the current step on this node. More...
 
double GetTotalExecutionTime () const
 Get the cumulative simulation execution time on this node.
 
void Render (double step_size)
 Render simulation frame. More...
 
virtual void WriteCheckpoint (const std::string &filename) const
 Write checkpoint to the specified file (which will be created in the output directory).
 

Additional Inherited Members

- Public Types inherited from chrono::vehicle::ChVehicleCosimTireNode
enum  TireType { TireType::RIGID, TireType::FLEXIBLE, TireType::BYPASS, TireType::UNKNOWN }
 Tire type. More...
 
- Public Types inherited from chrono::vehicle::ChVehicleCosimBaseNode
enum  NodeType { NodeType::MBS_WHEELED, NodeType::MBS_TRACKED, NodeType::TERRAIN, NodeType::TIRE }
 Type of node participating in co-simulation. More...
 
enum  InterfaceType { InterfaceType::BODY, InterfaceType::MESH }
 Type of the vehicle-terrain communication interface. More...
 
- Static Public Member Functions inherited from chrono::vehicle::ChVehicleCosimTireNode
static std::string GetTireTypeAsString (TireType type)
 Return a string describing the tire type.
 
static TireType GetTireTypeFromString (const std::string &type)
 Infer the tire type from the given string.
 
static bool ReadSpecfile (const std::string &specfile, rapidjson::Document &d)
 Read a JSON specification file for a tire.
 
static TireType GetTireTypeFromSpecfile (const std::string &specfile)
 Get the tire type from the given JSON specification file.
 
- Static Public Member Functions inherited from chrono::vehicle::ChVehicleCosimBaseNode
static std::string OutputFilename (const std::string &dir, const std::string &root, const std::string &ext, int frame, int frame_digits)
 Utility function for creating an output file name. More...
 
- Protected Member Functions inherited from chrono::vehicle::ChVehicleCosimTireNode
 ChVehicleCosimTireNode (int index, const std::string &tire_json="")
 
virtual double GetTireMass () const
 Return the tire mass.
 
virtual double GetTireRadius () const
 Return the tire radius.
 
virtual double GetTireWidth () const
 Return the tire width.
 
virtual void ApplySpindleForce (const TerrainForce &spindle_force)
 Apply the spindle force (BODY communication interface). More...
 
- Protected Member Functions inherited from chrono::vehicle::ChVehicleCosimBaseNode
 ChVehicleCosimBaseNode (const std::string &name)
 
void SendGeometry (const ChVehicleGeometry &geom, int dest) const
 Utility function to pack and send a struct with geometry information.
 
void RecvGeometry (ChVehicleGeometry &geom, int source) const
 Utility function to receive and unpack a struct with geometry information.
 
void ProgressBar (unsigned int x, unsigned int n, unsigned int w=50)
 Utility function to display a progress bar to the terminal. More...
 
- Protected Attributes inherited from chrono::vehicle::ChVehicleCosimTireNode
ChSystemSMCm_system
 containing system
 
ChTimestepper::Type m_int_type
 integrator type
 
ChSolver::Type m_slv_type
 solver type
 
std::shared_ptr< ChTimestepperHHTm_integrator
 HHT integrator object.
 
bool m_tire_pressure
 tire pressure enabled?
 
int m_index
 index of the tire
 
std::shared_ptr< ChBodym_spindle
 spindle body
 
std::shared_ptr< ChWheelm_wheel
 wheel subsystem (to which a tire is attached)
 
std::shared_ptr< ChTirem_tire
 tire subsystem
 
ChVehicleGeometry m_geometry
 tire geometry and contact material
 
- Protected Attributes inherited from chrono::vehicle::ChVehicleCosimBaseNode
int m_rank
 MPI rank of this node (in MPI_COMM_WORLD)
 
double m_step_size
 integration step size
 
std::string m_name
 name of the node
 
std::string m_out_dir
 top-level output directory
 
std::string m_node_out_dir
 node-specific output directory
 
std::ofstream m_outf
 output file stream
 
bool m_renderRT
 if true, perform run-time rendering
 
bool m_renderRT_all
 if true, render all frames
 
double m_renderRT_step
 time step between rendered frames
 
bool m_writeRT
 if true, write images to file
 
bool m_renderPP
 if true, save data for post-processing
 
bool m_renderPP_all
 if true, save data at all frames
 
double m_renderPP_step
 time step between post-processing save frames
 
bool m_track
 track objects
 
ChVector3d m_cam_pos
 camera location
 
ChVector3d m_cam_target
 camera target (lookat) point
 
unsigned int m_num_wheeled_mbs_nodes
 
unsigned int m_num_tracked_mbs_nodes
 
unsigned int m_num_terrain_nodes
 
unsigned int m_num_tire_nodes
 
ChTimer m_timer
 timer for integration cost
 
double m_cum_sim_time
 cumulative integration cost
 
bool m_verbose
 verbose messages during simulation?
 
- Static Protected Attributes inherited from chrono::vehicle::ChVehicleCosimBaseNode
static const double m_gacc = -9.81
 

Member Function Documentation

◆ Advance()

void chrono::vehicle::ChVehicleCosimTireNodeFlexible::Advance ( double  step_size)
finaloverridevirtual

Advance simulation.

This function is called after a synchronization to allow the node to advance its state by the specified time step. A node is allowed to take as many internal integration steps as required, but no inter-node communication should occur.

Implements chrono::vehicle::ChVehicleCosimBaseNode.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_vehicle/cosim/tire/ChVehicleCosimTireNodeFlexible.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/cosim/tire/ChVehicleCosimTireNodeFlexible.cpp