Description
Utility class to parse YAML specification files for Chrono models and simulations.
The parser caches model information and simulation settings from the corresponding YAML input files and then allows populating a Chrono system and setting solver and simulation parameters.
#include <ChParserMbsYAML.h>


Public Types | |
typedef std::unordered_map< std::string, ChVector3d > | ControllerLoads |
![]() | |
enum | DataPathType { ABS, REL } |
Public Member Functions | |
ChParserMbsYAML (bool verbose=false) | |
ChParserMbsYAML (const std::string &yaml_model_filename, const std::string &yaml_sim_filename, bool verbose=false) | |
Create a YAML parser and load the model from the specified input YAML file. | |
bool | HasSimulationData () const |
Return true if a YAML simulation file has been loaded. | |
bool | HasModelData () const |
Return true if a YAML model file has been loaded. | |
void | LoadSimulationFile (const std::string &yaml_filename) |
Load the simulation parameters from the specified input YAML simulation file. | |
double | GetTimestep () const |
double | GetEndtime () const |
bool | EnforceRealtime () const |
bool | Render () const |
double | GetRenderFPS () const |
CameraVerticalDir | GetCameraVerticalDir () const |
const ChVector3d & | GetCameraLocation () const |
const ChVector3d & | GetCameraTarget () const |
bool | EnableShadows () const |
std::shared_ptr< ChSystem > | CreateSystem () |
Create and return a Chrono system configured from cached simulation parameters. More... | |
void | SetSimulationParameters (ChSystem &sys) |
Set solver and integrator settings from cached values. More... | |
void | LoadModelFile (const std::string &yaml_filename) |
Load the model from the specified input YAML model file. | |
int | Populate (ChSystem &sys, const ChFramed &model_frame=ChFramed(), const std::string &model_prefix="") |
Populate the given system with the cached Chrono components. More... | |
void | Depopulate (ChSystem &sys, int instance_index) |
Remove from the specified system the Chrono objects from the specified instance. | |
int | GetNumInstances () const |
Return the number of instances created from the YAML model file. | |
std::shared_ptr< ChBodyAuxRef > | FindBodyByName (const std::string &name) const |
Find and return the body with specified name in the current model instance. | |
std::vector< std::shared_ptr< ChBodyAuxRef > > | FindBodiesByName (const std::string &name) const |
Find and return bodies with given base name from all model instances. | |
void | ApplyControllerLoads (const ControllerLoads &controller_loads) |
Apply current controller loads. | |
void | SaveOutput (ChSystem &sys, int frame) |
Save simulation output results at the current time. | |
![]() | |
void | SetVerbose (bool verbose) |
Set verbose terminal output (default: false). | |
void | SetOutputDir (const std::string &out_dir) |
Set root output directory (default: ""). | |
const std::string & | GetName () const |
Return the name of the YAML model. | |
virtual bool | Output () const |
Return true if generating output. | |
ChOutput::Type | GetOutputType () const |
Return the output type. | |
virtual double | GetOutputFPS () const |
Return the output frequency. | |
virtual void | SaveOutput (int frame) |
Save simulation output results at the current time. | |
Friends | |
class | ChParserFsiYAML |
Additional Inherited Members | |
![]() | |
std::string | GetDatafilePath (const std::string &filename) |
Return the path to the specified data file. | |
![]() | |
static void | CheckVersion (const YAML::Node &a) |
static std::string | ToUpper (std::string in) |
static DataPathType | ReadDataPathType (const YAML::Node &a) |
Read the data path type (absolute or relative). | |
static ChVector3d | ReadVector (const YAML::Node &a) |
Load and return a ChVector3d from the specified node. | |
static ChQuaterniond | ReadQuaternion (const YAML::Node &a) |
Load and return a ChQuaternion from the specified node. | |
static ChQuaterniond | ReadCardanAngles (const YAML::Node &a, bool use_degrees) |
Load a Cardan angle sequence from the specified node and return as a quaternion. More... | |
static ChQuaterniond | ReadRotation (const YAML::Node &a, bool use_degrees) |
Return a quaternion loaded from the specified node. More... | |
static ChCoordsysd | ReadCoordinateSystem (const YAML::Node &a, bool use_degrees) |
Load and return a coordinate system from the specified node. | |
static std::shared_ptr< ChFunction > | ReadFunction (const YAML::Node &a, bool use_degrees) |
Load and return a ChFunction object from the specified node. | |
static ChColor | ReadColor (const YAML::Node &a) |
Load and return a ChColor from the specified node. | |
static ChOutput::Type | ReadOutputType (const YAML::Node &a) |
static ChOutput::Mode | ReadOutputMode (const YAML::Node &a) |
static void | PrintNodeType (const YAML::Node &node) |
Print YAML node type. | |
![]() | |
std::string | m_name |
name of the YAML model | |
bool | m_verbose |
verbose terminal output (default: false) | |
bool | m_use_degrees |
all angles given in degrees (default: true) | |
std::string | m_output_dir |
root oputput directory | |
std::shared_ptr< ChOutput > | m_output_db |
output database | |
DataPathType | m_data_path |
std::string | m_rel_path |
std::string | m_script_directory |
OutputParameters | m_output |
Member Function Documentation
◆ CreateSystem()
std::shared_ptr< ChSystem > chrono::parsers::ChParserMbsYAML::CreateSystem | ( | ) |
Create and return a Chrono system configured from cached simulation parameters.
If no YAML simulation file was loaded, this function returns a ChSystemNSC with default settings.
◆ Populate()
int chrono::parsers::ChParserMbsYAML::Populate | ( | ChSystem & | sys, |
const ChFramed & | model_frame = ChFramed() , |
||
const std::string & | model_prefix = "" |
||
) |
Populate the given system with the cached Chrono components.
An instance of the underlying Chrono model can be created at the specified frame (relative to the global frame), with all Chrono object names using the specified prefix. Throws an error if no YAML model file was loaded.
◆ SetSimulationParameters()
void chrono::parsers::ChParserMbsYAML::SetSimulationParameters | ( | ChSystem & | sys | ) |
Set solver and integrator settings from cached values.
If no YAML simulation file was loaded, this function is a no-op.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono_parsers/yaml/ChParserMbsYAML.h
- /builds/uwsbel/chrono/src/chrono_parsers/yaml/ChParserMbsYAML.cpp