Description

Utility class for creating complex beams using ChElementBeamANCF_3333 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< ChMaterialBeamANCF > mat, const int N, const ChVector3d A, const ChVector3d B, const double h, const double w, const ChVector3d DIR, const ChVector3d CUR, const bool grav=false, const double damp=0)
 Add beam FEM elements to the mesh to create a segment beam from point A to point B, using ChElementCableANCF type elements. More...
 
std::vector< std::shared_ptr< ChElementBeamANCF_3333 > > & GetLastBeamElements ()
 Access the list of elements used by the last built beam. More...
 
std::vector< std::shared_ptr< ChNodeFEAxyzDD > > & GetLastBeamNodes ()
 Access the list of nodes used by the last built beam. More...
 

Protected Attributes

std::vector< std::shared_ptr< ChElementBeamANCF_3333 > > beam_elems
 
std::vector< std::shared_ptr< ChNodeFEAxyzDD > > beam_nodes
 

Member Function Documentation

◆ BuildBeam()

void chrono::fea::ChBuilderBeamANCF::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChMaterialBeamANCF mat,
const int  N,
const ChVector3d  A,
const ChVector3d  B,
const double  h,
const double  w,
const ChVector3d  DIR,
const ChVector3d  CUR,
const bool  grav = false,
const double  damp = 0 
)

Add beam FEM elements to the mesh to create a segment beam from point A to point B, using ChElementCableANCF type elements.

Before running, each time resets lists of beam_elems and beam_nodes.

Parameters
meshmesh to store the resulting elements
matmaterial for beam elements
Nnumber of elements in the segment
Astarting point
Bending point
hheight
wwidth
DIRinitial nodal direction
CURinitial nodal curvature
gravset true to apply gravity force
dampdamping

◆ GetLastBeamElements()

std::vector<std::shared_ptr<ChElementBeamANCF_3333> >& chrono::fea::ChBuilderBeamANCF::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<ChNodeFEAxyzDD> >& chrono::fea::ChBuilderBeamANCF::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