ObjectBeamGeometricallyExact2D

A 2D geometrically exact beam finite element, currently using 2 nodes of type NodeRigidBody2D; FURTHER TESTS REQUIRED. Note that the orientation of the nodes need to follow the cross section orientation in case that includeReferenceRotations=True; e.g., an angle 0 represents the cross section aligned with the \(y\)-axis, while and angle \(\pi/2\) means that the cross section points in negative \(x\)-direction. Pre-curvature can be included with physicsReferenceCurvature and axial pre-stress can be considered by using a physicsLength different from the reference configuration of the nodes. The localPosition of the beam with length \(L\)=physicsLength and height \(h\) ranges in \(X\)-direction in range \([-L/2, L/2]\) and in \(Y\)-direction in range \([-h/2,h/2]\) (which is in fact not needed in the EOM).

Additional information for ObjectBeamGeometricallyExact2D:

  • This Object has/provides the following types = Body, MultiNoded
  • Requested Node type = Position2D + Orientation2D + Position + Orientation
  • Short name for Python = Beam2D
  • Short name for Python visualization object = VBeam2D

The item ObjectBeamGeometricallyExact2D with type = ‘BeamGeometricallyExact2D’ has the following parameters:

  • name [type = String, default = ‘’]:
    objects’s unique name
  • nodeNumbers [type = NodeIndex2, default = [invalid [-1], invalid [-1]]]:
    two node numbers for beam element
  • physicsLength [\(L\), type = UReal, default = 0.]:
    [SI:m] reference length of beam; such that the total volume (e.g. for volume load) gives \(\rho A L\); must be positive
  • physicsMassPerLength [\(\rho A\), type = UReal, default = 0.]:
    [SI:kg/m] mass per length of beam
  • physicsCrossSectionInertia [\(\rho J\), type = UReal, default = 0.]:
    [SI:kg m] cross section mass moment of inertia; inertia acting against rotation of cross section
  • physicsBendingStiffness [\(EI\), type = UReal, default = 0.]:
    [SI:Nm\(^2\)] bending stiffness of beam; the bending moment is \(m = EI (\kappa - \kappa_0)\), in which \(\kappa\) is the material measure of curvature
  • physicsAxialStiffness [\(EA\), type = UReal, default = 0.]:
    [SI:N] axial stiffness of beam; the axial force is \(f_{ax} = EA (\varepsilon -\varepsilon_0)\), in which \(\varepsilon\) is the axial strain
  • physicsShearStiffness [\(GA\), type = UReal, default = 0.]:
    [SI:N] effective shear stiffness of beam, including stiffness correction
  • physicsBendingDamping [\(d_{K}\), type = UReal, default = 0.]:
    [SI:Nm\(^2\)/s] viscous damping of bending deformation; the additional virtual work due to damping is \(\delta W_{\dot \kappa} = \int_0^L \dot \kappa \delta \kappa dx\)
  • physicsAxialDamping [\(d_{\varepsilon}\), type = UReal, default = 0.]:
    [SI:N/s] viscous damping of axial deformation
  • physicsShearDamping [\(d_{\gamma}\), type = UReal, default = 0.]:
    [SI:N/s] viscous damping of shear deformation
  • physicsReferenceCurvature [\(\kappa_0\), type = Real, default = 0.]:
    [SI:1/m] reference curvature of beam (pre-deformation) of beam
  • includeReferenceRotations [type = bool, default = False]:
    if True, rotations at nodes consider reference rotations, which are used for the computation of bending strains (this means that a pre-curved beam is stress-free); if False, the reference rotation of the cross section is orthogonal to the direction between the reference position of the end nodes. This allows to easily share nodes among several beams with different cross section orientation.
  • visualization [type = VObjectBeamGeometricallyExact2D]:
    parameters for visualization of item

The item VObjectBeamGeometricallyExact2D has the following parameters:

  • show [type = Bool, default = True]:
    set true, if item is shown in visualization and false if it is not shown
  • drawHeight [type = float, default = 0.]:
    if beam is drawn with rectangular shape, this is the drawing height
  • color [type = Float4, default = [-1.,-1.,-1.,-1.]]:
    RGBA color of the object; if R==-1, use default color

DESCRIPTION of ObjectBeamGeometricallyExact2D

The following output variables are available as OutputVariableType in sensors, Get…Output() and other functions:

  • Position:
    global position vector of local axis (X) and cross section (Y) position
  • Displacement:
    global displacement vector of local axis (X) and cross section (Y) position
  • Velocity:
    global velocity vector of local axis (X) and cross section (Y) position
  • Rotation:
    3D Tait-Bryan rotation components, containing rotation around \(Z\)-axis only
  • StrainLocal:
    6 (local) strain components, containing only axial (\(XX\), index 0) and shear strain (\(XY\), index 5); evaluated at beam axis ONLY
  • CurvatureLocal:
    3D vector of (local) curvature, only \(Z\) component is non-zero
  • ForceLocal:
    3D vector of (local) section normal force, containing axial (X) and shear force (Y)
  • TorqueLocal:
    3D vector of (local) torques, containing only bending moment (Z)

See paper of Simo and Vu-Quoc (1986). Detailed description coming later.

Relevant Examples and TestModels with weblink:

The web version may not be complete. For details, consider also the Exudyn PDF documentation : theDoc.pdf