Description

Utility class for creating complex beams using ChElementBeamIGA 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< ChBeamSectionCosserat > sect, const int N, const ChVector3d A, const ChVector3d B, const ChVector3d Ydir, const int order=3)
 Add beam FEM elements to the mesh to create a segment beam from point A to point B, using ChElementBeamIGA type elements. More...
 
void BuildBeam (std::shared_ptr< ChMesh > mesh, std::shared_ptr< ChBeamSectionCosserat > sect, ChLineBSpline &spline, const ChVector3d Ydirn)
 Add beam FEM elements to the mesh to create a spline beam using ChElementBeamIGA type elements, given a B-spline line in 3D space. More...
 
std::vector< std::shared_ptr< ChElementBeamIGA > > & 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< ChElementBeamIGA > > beam_elems
 
std::vector< std::shared_ptr< ChNodeFEAxyzrot > > beam_nodes
 

Member Function Documentation

◆ BuildBeam() [1/2]

void chrono::fea::ChBuilderBeamIGA::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionCosserat sect,
ChLineBSpline spline,
const ChVector3d  Ydirn 
)

Add beam FEM elements to the mesh to create a spline beam using ChElementBeamIGA type elements, given a B-spline line in 3D space.

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

Parameters
meshmesh to store the resulting elements
sectsection material for beam elements
splinethe B-spline to be used as the centerline
Ydirnthe 'up' Y direction of the beam

◆ BuildBeam() [2/2]

void chrono::fea::ChBuilderBeamIGA::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionCosserat sect,
const int  N,
const ChVector3d  A,
const ChVector3d  B,
const ChVector3d  Ydir,
const int  order = 3 
)

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

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

Parameters
meshmesh to store the resulting elements
sectsection property for beam elements
Nnumber of elements in the segment
Astarting point
Bending point
Ydirthe 'up' Y direction of the beam
orderthe order of spline (default=3,cubic)

◆ GetLastBeamElements()

std::vector<std::shared_ptr<ChElementBeamIGA> >& chrono::fea::ChBuilderBeamIGA::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::ChBuilderBeamIGA::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