sajou.elements.beam2d module

Defines a 2-dimensional Bernoulli beam element

class sajou.elements.beam2d.Beam2D(node1, node2, number)

Bases: sajou.elements.element.Element

Two-dimensional Bernoulli Beam element.

This beam element connects two nodes and is based on the Bernoulli beam theory. Optionally the rotations on the end nodes can be released to create hinges.

Parameters:
  • node1 (Node instance) – first node
  • node2 (Node instance) – second node
  • number (int) – number of the element
node1

Node instance – first node

node2

Node instance – second node

efs

dict – Element freedom signature. Defines the degree of freedom active (dof) in each node.

nefmt

dict – Node freedom map table of the element.

n_active_dof

int – number of active dof

release_end_1

bool – Release rotation on the node 1 of the beam

release_end_2

bool – Release rotation on the node 2 of the beam

transformation_matrix

ndarray – transformation matrix for the element, from local to global

_k_size

int – size of the stiffness matrix

_nodal_connectivity

dict – defines the order of the nodes in the element

_length

float – length of the element

_localCSys

Csys – local coordinate system of the element

_Ke

ndarray – element stiffness matrix (local coordinates)

_load_vector_e

ndarray – Load vector (global coordinates)

_poly_sec_force

ndarray – Vector to calculate section forces

_beam_section

BeamSection – Beam section

_loads

list[Load] – Loads applied to the frame element

assemble_Ke(second_order=False)

Assemble the element stiffness matrix ‘Ke’ in local and global coordinates.

Parameters:second_order (bool) –
Returns:array
Return type:global stiffness matrix of the element
assign_section(beam_section)

Assign a beam section instance to the beam

Parameters:beam_section (BeamSection instance) – section to be assigned
Returns:self
Return type:the same Beam2D instance
distributed_load(**kwargs)

Assign a DistributedLoad object to the frame current element.

The parameters are the same as defined for the class DistributedLoad()

Parameters:
  • p1 (float) – value of the distributed load at the start node
  • p2 (float) – value of the distributed load at the end node
  • direction (str) – direction of load application. Can be ‘x’ or ‘y’
  • coord_system – coordinate system to which the direction parameter applies. It can be ‘local’ or ‘global’
Returns:

Return type:

a DistributedLoad instance

distributed_moment(**kwargs)

Assign a DistributedLoad object to the frame current element.

Parameters:
  • m1 (float) – moment applied at the start end of the beam
  • m2 (float) – moment applied at the end of the beam
  • direction (str) – direction of application of the moment. Only ‘z’ is allowed in Beam2D
  • coord_system (str) – coordinate system to which the ‘direction’ parameter applies
Returns:

returns

Return type:

TODO

Note

The parameters are the same as defined for the class DistributedMoment()

release_end(which)

Release the rotation DOF of one or both ends of the beam element.

Parameters:which (int, str) – specifies the end that should be released. It can be ‘1’, ‘2’ or ‘both’
Returns:TODO
Return type:bool