MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
FEM::Beam Class Reference

#include <beam.h>

Inheritance diagram for FEM::Beam:
FEM::Element

List of all members.

Public Member Functions

 Beam (int NDim, Mesh::Cell const &Cell, Model const *Mdl, Model const *XMdl, SDPair const &Prp, SDPair const &Ini, Array< Node * > const &Nodes)
 Connectivity.
void SetBCs (size_t IdxEdgeOrFace, SDPair const &BCs, BCFuncs *BCF)
 IdxEdgeOrFace is ignored.
void ClrBCs ()
 Clear boundary conditions.
void GetLoc (Array< size_t > &Loc) const
 Get location vector for mounting K/M matrices.
void CalcK (Mat_t &K) const
 Stiffness matrix.
void CalcM (Mat_t &M) const
 Mass matrix.
void CalcT (Mat_t &T, double &l, Vec3_t *normal=NULL) const
 Transformation matrix.
void UpdateState (Vec_t const &dU, Vec_t *F_int=NULL) const
void StateKeys (Array< String > &Keys) const
 Get state keys.
void StateAtNodes (Array< SDPair > &Results) const
 State at nodes.
void CalcRes (double r, double &N, double &V, double &M) const
 Resultants: Axial force N, Shear force V, Bending moment M.
void Draw (std::ostream &os, MPyPrms const &Prms) const
 Draw beam and diagram of M, V, or N.

Public Attributes

double E
 Young modulus.
double A
 Cross-sectional area.
double Izz
 Inertia.
double rho
 Density.
double qnl
 Normal load (left)
double qnr
 Normal load (right)
bool HasQn
 Has normal load ?

Constructor & Destructor Documentation

FEM::Beam::Beam ( int  NDim,
Mesh::Cell const &  Cell,
Model const *  Mdl,
Model const *  XMdl,
SDPair const &  Prp,
SDPair const &  Ini,
Array< Node * > const &  Nodes 
) [inline]

Connectivity.

Parameters:
NDimSpace dimension
CellGeometric information: ID, Tag, connectivity
MdlModel
XMdlExtra Model
PrpProperties
IniInitial values

Member Function Documentation

void FEM::Beam::CalcK ( Mat_t K) const [inline, virtual]

Stiffness matrix.

Reimplemented from FEM::Element.

void FEM::Beam::CalcM ( Mat_t M) const [inline, virtual]

Mass matrix.

Reimplemented from FEM::Element.

void FEM::Beam::CalcRes ( double  r,
double &  N,
double &  V,
double &  M 
) const [inline]

Resultants: Axial force N, Shear force V, Bending moment M.

void FEM::Beam::CalcT ( Mat_t T,
double &  l,
Vec3_t normal = NULL 
) const [inline]

Transformation matrix.

void FEM::Beam::ClrBCs ( ) [inline, virtual]

Clear boundary conditions.

Reimplemented from FEM::Element.

void FEM::Beam::Draw ( std::ostream &  os,
MPyPrms const &  Prms 
) const [inline, virtual]

Draw beam and diagram of M, V, or N.

Reimplemented from FEM::Element.

void FEM::Beam::GetLoc ( Array< size_t > &  Loc) const [inline, virtual]

Get location vector for mounting K/M matrices.

Reimplemented from FEM::Element.

void FEM::Beam::SetBCs ( size_t  IdxEdgeOrFace,
SDPair const &  BCs,
BCFuncs BCF 
) [inline, virtual]

IdxEdgeOrFace is ignored.

Reimplemented from FEM::Element.

void FEM::Beam::StateAtNodes ( Array< SDPair > &  Results) const [inline, virtual]

State at nodes.

Reimplemented from FEM::Element.

void FEM::Beam::StateKeys ( Array< String > &  Keys) const [inline, virtual]

Get state keys.

Reimplemented from FEM::Element.

void FEM::Beam::UpdateState ( Vec_t const &  dU,
Vec_t F_int = NULL 
) const [inline, virtual]

Reimplemented from FEM::Element.


Member Data Documentation

double FEM::Beam::A

Cross-sectional area.

double FEM::Beam::E

Young modulus.

Has normal load ?

Inertia.

Normal load (left)

Normal load (right)

Density.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines