Description

Class for an object that continuously extrude a beam (composed of ChElementBeamIGA elements) with prescribed velocity.

#include <ChBuilderBeam.h>

Collaboration diagram for chrono::fea::ChExtruderBeamIGA:

Public Member Functions

 ChExtruderBeamIGA (ChSystem *msystem, std::shared_ptr< ChMesh > mmesh, std::shared_ptr< ChBeamSectionCosserat > sect, double mh, const ChCoordsys<> moutlet, double mspeed, int morder)
 Initialize and add required constraints to system. More...
 
void SetContact (std::shared_ptr< ChMaterialSurfaceSMC > mcontact_material, double mcontact_radius)
 Set the material for the beam, and enables collision detection for the beam nodes. More...
 
bool Update ()
 Create beam elements, as needed, and update the constraint that imposes the extrusion speed. More...
 
std::vector< std::shared_ptr< ChElementBeamIGA > > & GetLastBeamElements ()
 Access the list of created elements.
 
std::vector< std::shared_ptr< ChNodeFEAxyzrot > > & GetLastBeamNodes ()
 Access the list of created nodes.
 

Protected Attributes

std::vector< std::shared_ptr< ChElementBeamIGA > > beam_elems
 
std::vector< std::shared_ptr< ChNodeFEAxyzrot > > beam_nodes
 
std::vector< double > beam_knots
 
int beam_order
 
std::shared_ptr< ChBodyground
 
std::shared_ptr< ChLinkMotorLinearSpeedactuator
 
std::shared_ptr< ChLinkMateGenericguide
 
ChSystemmysystem
 
std::shared_ptr< ChMeshmesh
 
std::shared_ptr< ChBeamSectionCosseratbeam_section
 
double h
 
ChCoordsys outlet
 
double mytime
 
double speed
 
std::shared_ptr< ChMaterialSurfaceSMCcontact_material
 
std::shared_ptr< ChContactSurfaceNodeCloudcontactcloud
 
double contact_radius
 

Constructor & Destructor Documentation

◆ ChExtruderBeamIGA()

chrono::fea::ChExtruderBeamIGA::ChExtruderBeamIGA ( ChSystem msystem,
std::shared_ptr< ChMesh mmesh,
std::shared_ptr< ChBeamSectionCosserat sect,
double  mh,
const ChCoordsys<>  moutlet,
double  mspeed,
int  morder 
)

Initialize and add required constraints to system.

Parameters
msystemsystem to store the constraints
mmeshmesh to store the resulting elements
sectsection material for beam elements
mhelement length
moutletoutlet pos & orientation (x is extrusion direction)
mspeedspeed
morderelement order, default =3 (cubic)

Member Function Documentation

◆ SetContact()

void chrono::fea::ChExtruderBeamIGA::SetContact ( std::shared_ptr< ChMaterialSurfaceSMC mcontact_material,
double  mcontact_radius 
)

Set the material for the beam, and enables collision detection for the beam nodes.

By default, collision not enabled.

Parameters
mcontact_materialmaterial to use for surface
mcontact_radiusradius of colliding spheres at each node (usually = to avg.beam thickness)

◆ Update()

bool chrono::fea::ChExtruderBeamIGA::Update ( )

Create beam elements, as needed, and update the constraint that imposes the extrusion speed.

Return 'true' if any new nodes/elements were created (hence a system change) and 'false' otherwise.


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