OpenBeam
C++ library for static analysis of mechanical structures
Public Member Functions | Public Attributes | List of all members
openbeam::CElementTorsionSpring Class Reference

#include <CElementTorsionSpring.h>

Inheritance diagram for openbeam::CElementTorsionSpring:
Inheritance graph
[legend]
Collaboration diagram for openbeam::CElementTorsionSpring:
Collaboration graph
[legend]

Public Member Functions

 CElementTorsionSpring (const size_t from_node_id, const size_t to_node_id, const num_t K)
 
void getLocalStiffnessMatrices (std::vector< TStiffnessSubmatrix > &outSubMats) const override
 
void getLocalDoFs (std::vector< used_DoFs_t > &dofs) const override
 
void loadParamsFromSet (const mrpt::containers::yaml &p, const EvaluationContext &ctx) override
 
void drawSVG (void *_cairo_context, const DrawStructureOptions &options, const RenderInitData &ri, const DrawElementExtraParams &draw_el_params, const MeshOutputInfo *meshing_info) const override
 
mrpt::opengl::CSetOfObjects::Ptr getVisualization (const DrawStructureOptions &options, const DrawElementExtraParams &draw_el_params, const MeshOutputInfo *meshing_info) const override
 
void do_mesh (const size_t my_idx, CStructureProblem &out_fem, MeshOutputInfo &out_info, const MeshParams &params) override
 
- Public Member Functions inherited from openbeam::CElement
unsigned char getNumberEdges () const
 
virtual std::string asString () const
 
void getGlobalDoFs (std::vector< used_DoFs_t > &dofs) const
 
virtual void getGlobalStiffnessMatrices (std::vector< TStiffnessSubmatrix > &outSubMats) const
 
void setGlobalOrientation (const TRotation3D &new_orientation)
 
const TRotation3DgetGlobalOrientation () const
 
virtual void updateOrientationFromNodePositions ()
 
void setDesignRotationAroundLinearAxis (num_t ang)
 
void setParent (CFiniteElementProblem *parent)
 
void loadParamsFromSet (const mrpt::containers::yaml &p)
 
CFiniteElementProblemgetParent () const
 

Public Attributes

num_t K
 Stiffness constant of the spring (Nm/m)
 
- Public Attributes inherited from openbeam::CElement
std::vector< size_t > conected_nodes_ids
 

Additional Inherited Members

- Public Types inherited from openbeam::CElement
using Ptr = std::shared_ptr< CElement >
 
using ConstPtr = std::shared_ptr< const CElement >
 
- Static Public Member Functions inherited from openbeam::CElement
static Ptr createElementByName (const std::string &sName)
 
- Protected Member Functions inherited from openbeam::CElement
 CElement (unsigned char nEdges)
 
 CElement (unsigned char nEdges, const size_t from_node_id, const size_t to_node_id)
 
- Protected Attributes inherited from openbeam::CElement
const unsigned char m_nEdges
 
CFiniteElementProblemm_parent
 
num_t m_design_rotation_around_linear_axis
 For linear elements, the rotation around +X(local)
 
TRotation3D m_global_orientation
 Orientation of the element wrt global coords.
 

Detailed Description

A torsion spring element in the rotation Z axis between two given nodes.

Member Function Documentation

◆ do_mesh()

void openbeam::CElementTorsionSpring::do_mesh ( const size_t  my_idx,
CStructureProblem out_fem,
MeshOutputInfo out_info,
const MeshParams params 
)
overridevirtual

Mesh this element into a set of (possibly) smaller ones

Implements openbeam::CElement.

◆ drawSVG()

void openbeam::CElementTorsionSpring::drawSVG ( void *  _cairo_context,
const DrawStructureOptions options,
const RenderInitData ri,
const DrawElementExtraParams draw_el_params,
const MeshOutputInfo meshing_info 
) const
overridevirtual

Draws the element to a SVG Cairo context (a pointer to a Cairo::RefPtr<Cairo::Context> casted to void*), according to the passed options

Implements openbeam::CElement.

◆ getLocalDoFs()

void openbeam::CElementTorsionSpring::getLocalDoFs ( std::vector< used_DoFs_t > &  dofs) const
overridevirtual

Must return which DoFs are used in the returned Stiffness matrices

Implements openbeam::CElement.

◆ getLocalStiffnessMatrices()

void openbeam::CElementTorsionSpring::getLocalStiffnessMatrices ( std::vector< TStiffnessSubmatrix > &  outSubMats) const
overridevirtual

Return the stiffness submatrices between each pair of edges in this element, for the current element state.

Implements openbeam::CElement.

◆ loadParamsFromSet()

void openbeam::CElementTorsionSpring::loadParamsFromSet ( const mrpt::containers::yaml &  p,
const EvaluationContext ctx 
)
overridevirtual

Parse a set of parameters by (casi insensitive) name and set the element values from them. Each element must document the supported parameters and their meaning.

Implements openbeam::CElement.


The documentation for this class was generated from the following file: