pycba.analysis.BeamAnalysis#

class BeamAnalysis(L, EI, R, LM=None, eletype=None)[source]#

Bases: object

The base class for Continuous Beam Analysis

Constructs a beam analysis object given the structural information necessary.

Parameters:
  • L (np.ndarray) – A vector of span lengths.

  • EI (Union[float, np.ndarray]) – A vector of member flexural rigidities.

  • R (np.ndarray) – A vector describing the support conditions at each member end.

  • LM (Optional[list[list[Union[int, float]]]]) – The load matrix: a list of loads on the beam; each load with several parameters.

  • eletype (Optional[np.ndarray]) – A vector of the member types. Defaults to a fixed-fixed element.

Return type:

None.

Methods

add_ml

Add a moment load to the beam

add_pl

Add a point load to the beam

add_pudl

Add a partial uniformly-distributed load to the beam.

add_udl

Add a uniformly-distributed load to the beam

analyze

Conducts the analysis on the constructed BeamAnalysis object

plot_results

Plots the results of the analysis

set_loads

Set load matrix for pre-defined beam.

Attributes

beam

beam_results

set_loads(LM)[source]#

Set load matrix for pre-defined beam. This overrides any previously-defined loads.

Parameters:

LM (List[List[Union[int, float]]]) – The load matrix for the beam.

Return type:

None.

add_udl(i_span, w)[source]#

Add a uniformly-distributed load to the beam

Parameters:
  • i_span (int) – The index of the span to add the load (1-based)

  • w (float) – The value of the load

Return type:

None.

add_pl(i_span, p, a)[source]#

Add a point load to the beam

Parameters:
  • i_span (int) – The index of the span to add the load (1-based)

  • p (float) – The value of the load

  • a (float) – The distance from the start of the span to the point of load application

Return type:

None.

add_pudl(i_span, w, a, c)[source]#

Add a partial uniformly-distributed load to the beam. Note that any load extending beyond the end of the span is ignored.

Parameters:
  • i_span (int) – The index of the span to add the load (1-based)

  • w (float) – The value of the uniformly-distributed load

  • a (float) – The distance from the start of the span to the start of the UDL

  • c (float) – The cover of the partial UDL; i.e. it’s length.

Return type:

None.

add_ml(i_span, m, a)[source]#

Add a moment load to the beam

Parameters:
  • i_span (int) – The index of the span to add the load (1-based)

  • m (float) – The value of the load

  • a (float) – The distance from the start of the span to the point of load application

Return type:

None.

analyze(npts=None)[source]#

Conducts the analysis on the constructed BeamAnalysis object

Parameters:

npts (Optional[int]) – The number of evaluation points along a member for load effects.

Return type:

0 for a succesful execution

plot_results()[source]#

Plots the results of the analysis

Return type:

None.