YAMLParser
Public Member Functions | Public Attributes | List of all members
Parser Class Reference

This is the top-level parser class. More...

#include <Parser.h>

Public Member Functions

 Parser (std::string filename)
 
 ~Parser ()
 
void logErrorMsg (std::runtime_error e)
 
void parseCoordSys (YAML::Node &yamlNode, std::string type)
 Instantiate a FECoordSys object from the YAML::Node. More...
 
void parseNode (YAML::Node &yamlNode, std::string type)
 Instantiate a FENode object from the YAML::Node. More...
 
void parseVector (YAML::Node &yamlNode, std::string type)
 Instantiate a FEVector object from the YAML::Node. More...
 
void parseBeam (YAML::Node &yamlNode, std::string type)
 Instantiate a FEBeam object from the YAML::Node. More...
 
void parseTrishell (YAML::Node &yamlNode, std::string type)
 Instantiate a FETrishell object from the YAML::Node. More...
 
void parseQuadshell (YAML::Node &yamlNode, std::string type)
 Instantiate a FEQuadshell object from the YAML::Node. More...
 
void ParseGenericFEMElement (YAML::Node &yamlNode)
 A classifier. Parses a generic FEM element, identified by the literal string FEMElement in the YAML::Node. More...
 
void parseEccentricity (YAML::Node &yamlNode, std::string type)
 Instantiate a FEEccentricity object from the YAML::Node. More...
 
void ParseIsoMaterial (YAML::Node &yamlNode, std::string type)
 Instantiate a FEIsoMaterial object from the YAML::Node. More...
 
void ParsePipe (YAML::Node &yamlNode, std::string type)
 Instantiate a cross-sectional FEPipe object from the YAML::Node. More...
 
void parseTsection (YAML::Node &yamlNode, std::string type)
 Instantiate a cross-sectional FETsection object from the YAML::Node. More...
 
void parsePLThick (YAML::Node &yamlNode, std::string type)
 Instantiate a PLThick object from the YAML::Node. More...
 
void parsePLComp (YAML::Node &yamlNode, std::string type)
 Instantiate a PLComp object from the YAML::Node. More...
 
void parseNodeLoad (YAML::Node &yamlNode)
 Instantiate a FENodeLoad object from the YAML::Node. More...
 
void parseLoadComb (YAML::Node &yamlNode)
 Instantiate a FELoadComb object from the YAML::Node. More...
 
void parseDepenencyLevelNull ()
 
void parseDepenencyLevelOne ()
 
void parseDepenencyLevelTwo ()
 
void parse ()
 

Public Attributes

YAML::Node root
 YAML root node. More...
 
YAML::Node structureNode
 FEA format structure node. More...
 
YAML::Node nextNode
 Next node to parse. More...
 
Structurestructure
 Ptr to Structure object to which the data types are added. More...
 

Detailed Description

This is the top-level parser class.

This class traverses the YAML representation (graph of YAML::Nodes) once per dependency level and calls calls the parse function (e.g. parseNode) corresponding to the FE type for each YAML::Node.

Constructor & Destructor Documentation

◆ Parser()

Parser::Parser ( std::string  filename)

◆ ~Parser()

Parser::~Parser ( )

Member Function Documentation

◆ logErrorMsg()

void Parser::logErrorMsg ( std::runtime_error  e)

Error logger. Writes error message to console and to log file

◆ parse()

void Parser::parse ( )

parse() is the parser main method which iterates over the input YAML::Node list. This method checks the YAML::Node's element type and passes the node to the corresponding parse function for FEM types.

◆ parseBeam()

void Parser::parseBeam ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FEBeam object from the YAML::Node.

◆ parseCoordSys()

void Parser::parseCoordSys ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FECoordSys object from the YAML::Node.

◆ parseDepenencyLevelNull()

void Parser::parseDepenencyLevelNull ( )

Traverses the entire graph of YAML::Nodes and parses all FE types of dependency level null

◆ parseDepenencyLevelOne()

void Parser::parseDepenencyLevelOne ( )

Traverses the entire graph of YAML::Nodes and parses all FE types of dependency level one

◆ parseDepenencyLevelTwo()

void Parser::parseDepenencyLevelTwo ( )

Traverses the entire graph of YAML::Nodes and parses all FE types of dependency level two

◆ parseEccentricity()

void Parser::parseEccentricity ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FEEccentricity object from the YAML::Node.

◆ ParseGenericFEMElement()

void Parser::ParseGenericFEMElement ( YAML::Node &  yamlNode)

A classifier. Parses a generic FEM element, identified by the literal string FEMElement in the YAML::Node.

◆ ParseIsoMaterial()

void Parser::ParseIsoMaterial ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FEIsoMaterial object from the YAML::Node.

◆ parseLoadComb()

void Parser::parseLoadComb ( YAML::Node &  yamlNode)

Instantiate a FELoadComb object from the YAML::Node.

◆ parseNode()

void Parser::parseNode ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FENode object from the YAML::Node.

◆ parseNodeLoad()

void Parser::parseNodeLoad ( YAML::Node &  yamlNode)

Instantiate a FENodeLoad object from the YAML::Node.

◆ ParsePipe()

void Parser::ParsePipe ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a cross-sectional FEPipe object from the YAML::Node.

◆ parsePLComp()

void Parser::parsePLComp ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a PLComp object from the YAML::Node.

◆ parsePLThick()

void Parser::parsePLThick ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a PLThick object from the YAML::Node.

◆ parseQuadshell()

void Parser::parseQuadshell ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FEQuadshell object from the YAML::Node.

◆ parseTrishell()

void Parser::parseTrishell ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FETrishell object from the YAML::Node.

◆ parseTsection()

void Parser::parseTsection ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a cross-sectional FETsection object from the YAML::Node.

◆ parseVector()

void Parser::parseVector ( YAML::Node &  yamlNode,
std::string  type 
)

Instantiate a FEVector object from the YAML::Node.

Member Data Documentation

◆ nextNode

YAML::Node Parser::nextNode

Next node to parse.

◆ root

YAML::Node Parser::root

YAML root node.

◆ structure

Structure* Parser::structure

Ptr to Structure object to which the data types are added.

◆ structureNode

YAML::Node Parser::structureNode

FEA format structure node.


The documentation for this class was generated from the following files: