chrono::fea::ChBuilderBeamIGA Class Reference

Description

Class for an helper object that provides easy functions to create complex beams of ChElementBeamIGA class, 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 ChVector<> A, const ChVector<> B, const ChVector<> Ydir, const int order=3)
 Helper function. More...
 
void BuildBeam (std::shared_ptr< ChMesh > mesh, std::shared_ptr< ChBeamSectionCosserat > sect, geometry::ChLineBspline &spline, const ChVector<> Ydirn)
 Helper function. 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

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

Helper function.

Adds 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)
void chrono::fea::ChBuilderBeamIGA::BuildBeam ( std::shared_ptr< ChMesh mesh,
std::shared_ptr< ChBeamSectionCosserat sect,
geometry::ChLineBspline spline,
const ChVector<>  Ydirn 
)

Helper function.

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