chrono::fea::ChExtruderBeamIGA Class Reference
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< ChBody > | ground |
std::shared_ptr< ChLinkMotorLinearSpeed > | actuator |
std::shared_ptr< ChLinkMateGeneric > | guide |
ChSystem * | mysystem |
std::shared_ptr< ChMesh > | mesh |
std::shared_ptr< ChBeamSectionCosserat > | beam_section |
double | h |
ChCoordsys | outlet |
double | mytime |
double | speed |
std::shared_ptr< ChMaterialSurfaceSMC > | contact_material |
std::shared_ptr< ChContactSurfaceNodeCloud > | contactcloud |
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
-
msystem system to store the constraints mmesh mesh to store the resulting elements sect section material for beam elements mh element length moutlet outlet pos & orientation (x is extrusion direction) mspeed speed morder element 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_material material to use for surface mcontact_radius radius 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