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

#include <CBaseElementBeam.h>

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

Public Types

using Ptr = std::shared_ptr< CBaseElementBeam >
 
using ConstPtr = std::shared_ptr< const CBaseElementBeam >
 
- Public Types inherited from openbeam::CElement
using Ptr = std::shared_ptr< CElement >
 
using ConstPtr = std::shared_ptr< const CElement >
 

Public Member Functions

 CBaseElementBeam (const bool pinned_end0, const bool pinned_end1)
 
 CBaseElementBeam (const size_t from_node_id, const size_t to_node_id, const bool pinned_end0, const bool pinned_end1)
 
void copyCommonBeamParamsFrom (const CBaseElementBeam &o)
 
std::string asString () const 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 &o, 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
 
void loadParamsFromSet (const mrpt::containers::yaml &p, const EvaluationContext &ctx) override
 
- Public Member Functions inherited from openbeam::CElement
unsigned char getNumberEdges () const
 
virtual void getLocalStiffnessMatrices (std::vector< TStiffnessSubmatrix > &outSubMats) const =0
 
virtual void getLocalDoFs (std::vector< used_DoFs_t > &dofs) const =0
 
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 E = UNINITIALIZED_VALUE
 Young modulus (N/m^2)
 
num_t A = UNINITIALIZED_VALUE
 Section (m^2)
 
num_t Iz = UNINITIALIZED_VALUE
 Section inertia moment (m^4)
 
num_t G = 0
 Shear modulus of elasticity (N/m^2)
 
num_t J = 0
 Polar moment of inertia (m^4)
 
- Public Attributes inherited from openbeam::CElement
std::vector< size_t > conected_nodes_ids
 

Additional Inherited Members

- 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 base class for Beam elements; not usable as an standalone element.

Member Function Documentation

◆ copyCommonBeamParamsFrom()

void openbeam::CBaseElementBeam::copyCommonBeamParamsFrom ( const CBaseElementBeam o)
inline

Sets the basic beam parameters from another existing element.

◆ do_mesh()

void openbeam::CBaseElementBeam::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::CBaseElementBeam::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.

◆ loadParamsFromSet()

void openbeam::CBaseElementBeam::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: