chrono::fea::ChBuilderBeam Class Reference

Description

Class for an helper object that provides easy functions to create complex beams, for example subdivides a segment in multiple finite elements.

#include <ChBuilderBeam.h>

Public Member Functions

void BuildBeam (std::shared_ptr< ChMesh > mesh, std::shared_ptr< ChBeamSectionAdvanced > sect, const int N, const ChVector<> A, const ChVector<> B, const ChVector<> Ydir)
 Helper function. More...
 
void BuildBeam (std::shared_ptr< ChMesh > mesh, std::shared_ptr< ChBeamSectionAdvanced > sect, const int N, std::shared_ptr< ChNodeFEAxyzrot > nodeA, std::shared_ptr< ChNodeFEAxyzrot > nodeB, const ChVector<> Ydir)
 Helper function. More...
 
void BuildBeam (std::shared_ptr< ChMesh > mesh, std::shared_ptr< ChBeamSectionAdvanced > sect, const int N, std::shared_ptr< ChNodeFEAxyzrot > nodeA, const ChVector<> B, const ChVector<> Ydir)
 Helper function. More...
 
std::vector< std::shared_ptr
< ChElementBeamEuler > > & 
GetLastBeamElements ()
 Access the list of elements used by the last built beam. More...
 
std::vector< std::shared_ptr
< ChNodeFEAxyzrot > > & 
GetLastBeamNodes ()
 Access the list of nodes used by the last built beam. More...
 

Protected Attributes

std::vector< std::shared_ptr
< ChElementBeamEuler > > 
beam_elems
 
std::vector< std::shared_ptr
< ChNodeFEAxyzrot > > 
beam_nodes
 

Member Function Documentation

void chrono::fea::ChBuilderBeam::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionAdvanced sect,
const int  N,
const ChVector<>  A,
const ChVector<>  B,
const ChVector<>  Ydir 
)

Helper function.

Adds beam FEM elements to the mesh to create a segment beam from point A to point B, using ChElementBeamEuler type elements. Before running, each time resets lists of beam_elems and beam_nodes.

Parameters
meshmesh to store the resulting elements
sectsection material for beam elements
Nnumber of elements in the segment
Astarting point
Bending point
Ydirthe 'up' Y direction of the beam
void chrono::fea::ChBuilderBeam::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionAdvanced sect,
const int  N,
std::shared_ptr< ChNodeFEAxyzrot nodeA,
std::shared_ptr< ChNodeFEAxyzrot nodeB,
const ChVector<>  Ydir 
)

Helper function.

Adds beam FEM elements to the mesh to create a segment beam from one existing node to another existing node, using ChElementBeamEuler type elements. Before running, each time resets lists of beam_elems and beam_nodes.

Parameters
meshmesh to store the resulting elements
sectsection material for beam elements
Nnumber of elements in the segment
nodeAstarting point
nodeBending point
Ydirthe 'up' Y direction of the beam
void chrono::fea::ChBuilderBeam::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionAdvanced sect,
const int  N,
std::shared_ptr< ChNodeFEAxyzrot nodeA,
const ChVector<>  B,
const ChVector<>  Ydir 
)

Helper function.

Adds beam FEM elements to the mesh to create a segment beam from one existing node to a point B, using ChElementBeamEuler type elements. Before running, each time resets lists of beam_elems and beam_nodes.

Parameters
meshmesh to store the resulting elements
sectsection material for beam elements
Nnumber of elements in the segment
nodeAstarting point
Bending point
Ydirthe 'up' Y direction of the beam
std::vector<std::shared_ptr<ChElementBeamEuler> >& chrono::fea::ChBuilderBeam::GetLastBeamElements ( )

Access the list of elements used by the last built beam.

It can be useful for changing properties afterwards. This list is reset all times a 'Build...' function is called.

std::vector<std::shared_ptr<ChNodeFEAxyzrot> >& chrono::fea::ChBuilderBeam::GetLastBeamNodes ( )

Access the list of nodes used by the last built beam.

It can be useful for adding constraints or changing properties afterwards. This list is reset all times a 'Build...' function is called.