fconcrete.Structural.Beam module

class fconcrete.Structural.Beam.Beam(loads, beam_elements, **options)[source]

Bases: object

Structural Beam.

Note for this documentation: “Not only the ones provided by the initial beam_Elements” means that internally the Beam automatically creates some nodes even if it was not created for the user initially. It happens in Load.x_begin and Load.x_end.

Attributes:
U: list of number

Displacement in the nodes.

beam_elements: BeamElements

BeamElements instance of beam_elements, not only the ones provided by the initial beam_Elements.

beams_quantity: number

Number of beam_elements, not only the ones provided by the initial beam_Elements.

external_loads: Loads

loads argument but used as a Loads class. Same as fconcrete.Structural.Load.Loads.create(loads).

initial_beam_elements: array of BeamElement

beam_elements argument used when the instance is created.

length: number

Length of the beam. Can also use len(beam).

loads: Loads

Loads instance with all efforts in the beam. Including the load given by the supports.

nodal_efforts: list of number

The nodal efforts that happens in all nodes, not only the ones provided by the initial beam_Elements.

nodes: Nodes

Nodes instance of the beam, not only the ones provided by the initial beam_Elements.

x_begin: number

Where the beam starts, in cm.

x_end: number

Where the beam ends, in cm.

Methods

copy(self) Makes a deep copy of the instance of Beam.
getBeamElementInX(self, x) Get the beam element in x (in cm).
getDisplacement(self, x) Get the vertical displacement in a position x (in cm) or multiple positions.
getDisplacementDiagram(self, \*\*options) Apply beam.getDisplacement for options[“division”] parts of the beam.
getInternalMomentumStrength(self, x) Get the internal momentum strength in a position x (in cm) or multiple positions.
getInternalShearStrength(self, x) Get the internal shear strength in a position x (in cm) or multiple positions.
getMomentumDiagram(self, \*\*options) Apply beam.getInternalMomentumStrength for options[“division”] parts of the beam.
getRotation(self, x) Get the rotation in a position x (in cm) or multiple positions.
getRotationDiagram(self, \*\*options) Apply beam.getRotation for options[“division”] parts of the beam.
getShearDiagram(self, \*\*options) Apply beam.getInternalShearStrength for options[“division”] parts of the beam.
matrix_rigidity_global(self) Returns the global rigidity matrix.
plotDisplacementDiagram(self, \*\*options) Simply applies the beam.getDisplacementDiagram method results (x,y) to a plot with plt.plot(x, y).
plotMomentumDiagram(self, \*\*options) Simply applies the beam.getMomentumDiagram method results (x,y) to a plot with plt.plot(x, y).
plotRotationDiagram(self, \*\*options) Simply applies the beam.getRotationDiagram method results (x,y) to a plot with plt.plot(x, y).
plotShearDiagram(self, \*\*options) Simply applies the beam.getShearDiagram method results (x,y) to a plot with plt.plot(x, y).
solve_displacement(self) Starts the process of solution for the structural beam displacement.
solve_structural(self) Starts the process of solution for the structural beam.
plot  
copy(self)[source]

Makes a deep copy of the instance of Beam.

getBeamElementInX(self, x)[source]

Get the beam element in x (in cm).

Call signatures:

beam.getBeamElementInX(x)
Parameters:
x : number

Position in the beam, in cm.

Returns:
index : python:int

The order of the beam_element in the structure.

beam_element

beam_element located in x.

getDisplacement(self, x)[source]

Get the vertical displacement in a position x (in cm) or multiple positions.

Call signatures:

beam.getDisplacement(x)
Parameters:
x : number or python:list of number

Position in the beam, in cm.

Returns:
displacement : number or python:list of number

The vertical displacement of the beam in cm.

getDisplacementDiagram(self, **options)[source]

Apply beam.getDisplacement for options[“division”] parts of the beam.

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

Returns:
x : python:list of number

The x position of the division in cm

y : python:list of number

The value of displacement for each x.

getInternalMomentumStrength(self, x)[source]

Get the internal momentum strength in a position x (in cm) or multiple positions.

Call signatures:

beam.getInternalMomentumStrength(x)
Parameters:
x : number or python:list of number

Position in the beam, in cm.

Returns:
x : python:list of number

The x position of the division in cm

momentum : number or python:list of number

The internal value of the momentum strength in kNcm.

getInternalShearStrength(self, x)[source]

Get the internal shear strength in a position x (in cm) or multiple positions.

Call signatures:

beam.getInternalShearStrength(x)
Parameters:
x : number or python:list of number

Position in the beam, in cm.

Returns:
shear : number or python:list of number

The internal value of the shear strength in kN.

getMomentumDiagram(self, **options)[source]

Apply beam.getInternalMomentumStrength for options[“division”] parts of the beam.

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

Returns:
x : python:list of number

The x position of the division in cm

y : python:list of number

The value of momentum for each x.

getRotation(self, x)[source]

Get the rotation in a position x (in cm) or multiple positions.

Call signatures:

beam.getRotation(x)
Parameters:
x : number or python:list of number

Position in the beam, in cm.

Returns:
rotation : number or python:list of number

The rotation value of the momentum strength in rad.

getRotationDiagram(self, **options)[source]

Apply beam.getRotation for options[“division”] parts of the beam.

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

Returns:
x : python:list of number

The x position of the division in cm

y : python:list of number

The value of rotation for each x.

getShearDiagram(self, **options)[source]

Apply beam.getInternalShearStrength for options[“division”] parts of the beam.

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

Returns:
x : python:list of number

The x position of the division in cm

y : python:list of number

The value of shear for each x.

matrix_rigidity_global(self)[source]

Returns the global rigidity matrix. Also known by the letter “K”.

plot(self, column_height=30, beam_color='b', **options)[source]
plotDisplacementDiagram(self, **options)[source]

Simply applies the beam.getDisplacementDiagram method results (x,y) to a plot with plt.plot(x, y).

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

plotMomentumDiagram(self, **options)[source]

Simply applies the beam.getMomentumDiagram method results (x,y) to a plot with plt.plot(x, y).

Also invert y axis.

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

plotRotationDiagram(self, **options)[source]

Simply applies the beam.getRotationDiagram method results (x,y) to a plot with plt.plot(x, y).

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

plotShearDiagram(self, **options)[source]

Simply applies the beam.getShearDiagram method results (x,y) to a plot with plt.plot(x, y).

Parameters:
**options
division:

Number of divisions equally spaced (int).

x_begin:

Begin of the x_axis (number).

x_end:

End of the x_axis (number).

solve_displacement(self)[source]

Starts the process of solution for the structural beam displacement.

solve_structural(self)[source]

Starts the process of solution for the structural beam.