Description

Utility class for creating complex beams using ChElementBeamEuler elements, 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)
 Add beam FEM elements to the mesh to create a segment beam from point A to point B, using ChElementBeamEuler type elements. 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)
 Add beam FEM elements to the mesh to create a segment beam from one existing node to another existing node, using ChElementBeamEuler type elements. 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)
 Add beam FEM elements to the mesh to create a segment beam from one existing node to a point B, using ChElementBeamEuler type elements. 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

◆ BuildBeam() [1/3]

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

Add 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

◆ BuildBeam() [2/3]

void chrono::fea::ChBuilderBeamEuler::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 
)

Add 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

◆ BuildBeam() [3/3]

void chrono::fea::ChBuilderBeamEuler::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 
)

Add 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

◆ GetLastBeamElements()

std::vector<std::shared_ptr<ChElementBeamEuler> >& chrono::fea::ChBuilderBeamEuler::GetLastBeamElements ( )
inline

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 BuildBeam function is called.

◆ GetLastBeamNodes()

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

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 BuildBeam function is called.


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/fea/ChBuilderBeam.h
  • /builds/uwsbel/chrono/src/chrono/fea/ChBuilderBeam.cpp