Description

Utility class for creating complex beams using ChElementCableANCF 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< ChBeamSectionCable > sect, const int N, const ChVector3d A, const ChVector3d B)
 Adds cable FEM elements to the mesh to create a segment beam from point A to point B, using ChElementCableANCF type elements. More...
 
void BuildBeam (std::shared_ptr< ChMesh > mesh, std::shared_ptr< ChBeamSectionCable > sect, const int N, const ChVector3d A, const ChVector3d B, std::vector< std::vector< int >> &nodes, std::vector< std::vector< int >> &node_nbrs)
 Adds cable 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< ChElementCableANCF > > & GetLastBeamElements ()
 Access the list of elements used by the last built beam. More...
 
std::vector< std::shared_ptr< ChNodeFEAxyzD > > & GetLastBeamNodes ()
 Access the list of nodes used by the last built beam. More...
 

Protected Attributes

std::vector< std::shared_ptr< ChElementCableANCF > > beam_elems
 
std::vector< std::shared_ptr< ChNodeFEAxyzD > > beam_nodes
 

Member Function Documentation

◆ BuildBeam() [1/2]

void chrono::fea::ChBuilderCableANCF::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionCable sect,
const int  N,
const ChVector3d  A,
const ChVector3d  B 
)

Adds cable 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
sectsection material for cable elements
Nnumber of elements in the segment
Astarting point
Bending point

◆ BuildBeam() [2/2]

void chrono::fea::ChBuilderCableANCF::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionCable sect,
const int  N,
const ChVector3d  A,
const ChVector3d  B,
std::vector< std::vector< int >> &  nodes,
std::vector< std::vector< int >> &  node_nbrs 
)

Adds cable 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. This version also returns connectivity information.

Parameters
meshmesh to store the resulting elements
sectsection material for cable elements
Nnumber of elements in the segment
Astarting point
Bending point
nodesnode indices for all elements
node_nbrsneighbor node indices (connectivity)

◆ GetLastBeamElements()

std::vector<std::shared_ptr<ChElementCableANCF> >& chrono::fea::ChBuilderCableANCF::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 BuildCable function is called.

◆ GetLastBeamNodes()

std::vector<std::shared_ptr<ChNodeFEAxyzD> >& chrono::fea::ChBuilderCableANCF::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 BuildCable 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