API Documentation - pondpy 0.2.3 documentation (2024)

Beam

class pondpy.analysis.fem_analysis.Beam(length, size, supports, ploads=[], dloads=[])

A class that represents an idealized beam.

Attributes

dloadslist

list of dist load objects

lengthfloat

length of the beam

sizesteel beam size object

steel beam size object for the beam

supportslist

list of tuples indicating location and type of beam supports

ploadslist

list of point load objects

BeamModel

class pondpy.analysis.fem_analysis.BeamModel(beam, max_node_spacing=6, ini_analysis=True)

A class representing the analytical model of an idealized beam

Attributes

analysis_completebool

bool indicating whether the analysis has been performed and is complete

analysis_readybool

bool indicating whether the analysis has been initialized and is ready to be performed

beambeam object

beam object to be analyzed

dof_numlist

list of lists representing the degrees of freedom for each node in the model

elem_dloadlist

list of lists representing the distributed load acting on each element in the model

elem_loadslist

list of lists representing the fixed end forces in each direction at each end of each element

elem_nodeslist

list of lists representing the node number at each end of each element in the model

element_forcesnumpy array

numpy array representing the forces at each end of each element* analysis must be performed to access this attribute

fef_load_vectornumpy array

numpy array represengting the fixed end forces calculated from the dist loads at each node in the model

global_displacementnumpy array

numpy array representing the global displacement at each global degree of freedom

global_stiffness_matrixnumpy array

numpy array representing the global stiffness matrix for the model

ini_analysisbool

indicates whether or not to initialize analysis upon instantiation

local_stiffness_matriceslist

list of numpy arrays representing the local stiffness matrix for each element in the model

max_node_spacingfloat

maximum node spacing along the length of the beam model

model_nodeslist

list of locations of the nodes along the length of the beam model

n_dofint

number of degrees of freedom in the model

nodal_load_vectornumpy array

numpy array containing the applied nodal loads at each node in the model

node_elem_feflist

list of lists representing the fixed end forces at each node in the model

node_ploadlist

list of lists representing the point loads at each node in the model

node_supportlist

list of lists representing the support type at each node in the model

points_of_interestlist

list representing points of interest along the length of the beam for use in creating nodes

support_nodeslist

list containing the node number of all support nodes in the model

support_reactionsnumpy array

numpy array representing the support reaction at each node in the model* analysis must be performed to access this attribute

Methods

add_beam_dload(dload, add_type=’add’)

Adds a distributed load to the Beam object referenced by the BeamModel object.

add_beam_pload(pload, add_type=’add’)

Adds a point load to the Beam object referenced by the BeamModel object.

initialize_analysis():

Prepares the model for analysis. To be called at instantiation and when the user specifies.

perform_analysis():

Computes the displacement vector, element force matrix, and support reaction vector.

plot_bmd():

Plots the bending moment diagram of the analyzed beam.

plot_deflected_shape():

Plots the deflected shape of the analyzed beam.

plot_sfd():

Plots the shear force diagram of the analyzed beam.

add_beam_dload(dload, add_type='add')

Adds a distributed load to the Beam object referenced by the BeamModel object.

Parameters

add_typestr, optional

indicates whether to add the dload to the existing loads or replace the existing loads

dloadlist

list of dist load objects representing the distributed load(s) to be added to the beam referenced by the beam model

Returns

None

add_beam_pload(pload, add_type='add')

Adds a point load to the Beam object referenced by the BeamModel object.

Parameters

add_typestr, optional

indicates whether to add the pload to the existing loads or replace the existing loads

ploadlist

list of point load objects representing the point load(s) to be added to the beam referenced by the beam model

Returns

None

initialize_analysis()

Prepares the model for analysis. To be called at instantiation and when the user specifies.

Parameters

None

Returns

None

perform_analysis()

Computes the displacement vector, element force matrix, and support reaction vector.

Parameters

None

Returns

None

plot_bmd(with_design=False)

Plots the bending moment diagram of the analyzed beam.

Parameters

with_designbool, optional

bool indicating whether the design capacity should be plottedalong with the bmd

Returns

figmatplotlib.figure.Figure object

figure object representing the bending moment diagram for the analyzed model

plot_deflected_shape(scale=1)

Plots the deflected shape of the analyzed beam.

Parameters

scaleint, optional

scale to be applied to the deflected shape

Returns

figmatplotlib.figure.Figure object

figure object representing the deflected shape of the analyzed beam

plot_sfd(with_design=False)

Plots the shear force diagram of the analyzed beam.

Parameters

with_designbool, optional

bool indicating whether the design capacity should be plottedalong with the sfd

Returns

figmatplotlib.figure.Figure object

figure object representing the shear force diagram for the analyzed model

DistLoad

class pondpy.analysis.fem_analysis.DistLoad(location, magnitude)

A class representing a distributed load.

Attributes

locationtuple

tuple representing the start and end locations of the distributed load along the beam

magntiduetuple

tuple of tuples representing the magnitude of the distributed load at its start and end locations

PointLoad

class pondpy.analysis.fem_analysis.PointLoad(location, magnitude)

A class representing a concentrated load.

Attributes

locationint or float

int or float representing the location of the concentrated load along the beam

magntiduetuple

tuple representing the magnitude of the concentrated load

SteelBeamSize

class pondpy.analysis.fem_analysis.SteelBeamSize(name, properties, e_mod=29000, section_type='AISC')

A class representing a steel beam size.

Attributes

e_modint or float

elastic modulus of steel in ksi

namestr

name of the steel beam size

propertiessteelpy object

steelpy object containing properties for the specified steel beam size

section_typestr

string indicating the section type of the steel shape

SteelJoistSize

class pondpy.analysis.fem_analysis.SteelJoistSize(name, properties, e_mod=29000, section_type='SJI')

A class that represents a steel joist size.

Attributes

e_modint or float

elastic modulus of steel in ksi

namestr

name of the steel joist size

propertiesjoistpy object

joistpy object containing properties for the specified steel joist size

section_typestr

string indicating the section type of the steel shape

Loading

class pondpy.analysis.pond_analysis.Loading(dead_load, rain_load, include_sw=True)

A class to represent the loading criteria for a roof bay.

Attributes

dead_loadfloat

magnitude of the dead load on the roof in k/in^2

rain_loadfloat

magnitude of the rain load on the roof in k/in^2

include_swbool

indicates whether to conside member self-weight in the analysis

PrimaryFraming

class pondpy.analysis.pond_analysis.PrimaryFraming(primary_members)

A class representing the primary members in the framing system in the roof bay.

Attributes

primary_memberslist

list of all primary members in the framing system

PrimaryMember

class pondpy.analysis.pond_analysis.PrimaryMember(length, size, supports, ploads=[], dloads=[])

A class representing a primary member in the roof bay.

Attributes

dloadslist

list of dist load objects

lengthfloat

length of the beam

sizesteel beam size object

steel beam size object for the beam

supportslist

list of tuples indicating location and type of beam supports

ploadslist

list of point load objects

RoofBay

class pondpy.analysis.pond_analysis.RoofBay(primary_framing, secondary_framing, loading, mirrored_left=False, mirrored_right=False)

A model representing the roof bay to be analyzed.

Attributes

loadingloading

loading object representing the loading criteria for the roof bay

mirrored_leftbool

indicates whether the roof bay is mirrored on the left

mirrored_rightbool

indicates whether the roof bay is mirrored on the right

primary_framingprimary framing

primary framing object for the roof bay

primary_swdict

dictionary containing distload objects for each primary member self-weight

secondary_dldict

dictionary containing distload objects for each secondary member dead load, including self-weight

secondary_framingsecondary framing

secondary framing object for the roof bay

secondary_spacingfloat

spacing between secondary members along the length of the primary members

secondary_tribwlist

list containing tributary width for each secondary framing member

RoofBayModel

class pondpy.analysis.pond_analysis.RoofBayModel(roof_bay, max_node_spacing=6)

A class representing the roof bay model object.

Attributes

analysis_completebool

bool indicating whether the analysis has been successfully performed

analysis_readybool

bool indicating whether the analysis has been initialized and is ready to be performed

initial_impounded_depthdict

dictionary containing initial impounded water depth in inches for each primary and secondary member

max_node_spacingint or float

maximum node spacing along length of beam model objects in inches

primary_modelslist

list of beam model objects for the primary framing members

roof_bayroof bay

roof bay object

secondary_modelslist

list of beam model objects for the secondary framing members

Methods

analyze_roof_bay(rain_load):

Analyzes the roof bay for the dead load and the input rain loads.

generate_plots():

Generates the deflected shape, shear force diagram, and bending moment diagram plots for each primary and secondary member.

initialize_analysis():

Prepares the model for analysis. To be called at instantiation and when the user specifies.

analyze_roof_bay(rain_load)

Analyzes the roof bay for the dead load and the input rain loads.

Parameters

rain_loadlist

list of dist load objects representing the rain load on the roof bay

Returns

None

generate_plots()

Generates the deflected shape, shear force diagram, and bending momentdiagram plots for each primary and secondary member.

Parameters

None

Returns

plotsdict

dictionary of dictionaries of lists containing the deflected shape,shear force diagram, and bending moment diagram plots for eachprimary and secondary member

initialize_analysis()

Prepares the model for analysis. To be called at instantiation and when the user specifies.

Parameters

None

Returns

None

SecondaryFraming

class pondpy.analysis.pond_analysis.SecondaryFraming(secondary_members, slope=0.25)

A class representing the secondary members in the framing system in the roof bay.

Attributes

secondary_memberslist

list of all primary members in the framing system

slopefloat

slope of the roof bay in in/ft

SecondaryMember

class pondpy.analysis.pond_analysis.SecondaryMember(length, size, supports, ploads=[], dloads=[])

A class representing a secondary member in the roof bay.

Attributes

dloadslist

list of dist load objects

lengthfloat

length of the beam

sizesteel beam size object

steel beam size object for the beam

supportslist

list of tuples indicating location and type of beam supports

ploadslist

list of point load objects

SteelBeamDesign

class pondpy.design.steel_beam_design.SteelBeamDesign(section, unbraced_length, yield_stress=50)

A class that represents design criteria for a steel beam according toAISC 360-16.

Attributes

sectionsteelpy.steelpy.Section

steelpy section object for the steel beam under consideration

unbraced_lengthint or float

bending unbraced length for the major axis in inches

yield_stressint or float

yield stress for the beam in ksi

Methods

get_moment_capacity()

Calculates the ASD moment capacity for the steel beam under consideration.

get_shear_capacity()

Calculates the ASD shear capcity for the steel beam under consideration.

get_moment_capacity()

Calculates the ASD moment capacity for the steel beam under consideration.

Parameters

None

Returns

moment_capacityfloat

ASD moment capacity for the steel beam under consideration

get_shear_capacity()

Calculates the ASD shear capcity for the steel beam under consideration.

Parameters

None

Returns

shear_capacityfloat

ASD shear capcity for the steel beam under consideration

SteelJoistDesign

class pondpy.design.steel_joist_design.SteelJoistDesign(designation, span)

A class that represents design criteria for a steel joist.

Attributes

designationjoistpy.joistpy.Designation

joistpy designation object for the steel joist under consideration

spanint or float

span of the steel joist

Methods

get_moment_capacity()

Calculates the ASD moment capacity for the steel joist under considerationusing the total safe load from SJI load tables for the given span.

get_shear_capacity()

Calculates the ASD minimum and maximum shear capacity for the steel joistunder consideration using the total safe load from SJI load tables for the given span.

get_moment_capacity()

Calculates the ASD moment capacity for the steel joist under considerationusing the total safe load from SJI load tables for the given span.

Parameters

None

Returns

moment_capacityfloat

the moment capacity for the steel joist under consideration usingthe total safe load from SJI load tables for the given span

get_shear_capacity()

Calculates the ASD minimum and maximum shear capacity for the steel joistunder consideration using the total safe load from SJI load tables for the given span.

Parameters

None

Returns

shear_capacitytuple

the (minimum, maximum) shear capacity for the steel joistunder consideration using the total safe load from SJI load tablesfor the given span

get_shear_plot_points()

Calculates the shear capacity at critical points along the span ofthe joist under consideration for use in plotting the shear capacityenvelope.

Parameters

None

Returns

shear_plot_pointsnumpy.ndarray

numpy array containing points along the span and shear capacityat those points

ReportBuilder

class pondpy.report.report_builder.ReportBuilder(output_folder, filename='pondpy_results', filetype='html')

A class to organize data from a PondPyModel object and put it into aPDF report for viewing by the user.

Attributes

favicon_pathstr

string representing the path to the pondpy favicon

filenamestr

string represengting the output filename

filetypestr

string representing the desired output file type

generated_atdatetime.datetime

datetime.datetime object representing the time the report was generated

logo_pathstr

string representing the path to the pondpy logo

output_folderstr

string representing the location to which the report should be saved

version_nostr

string representing the version number of the package

Methods

save_report(context)

Generates the report and saves it to the location specified by theoutput_folder, filename, and filetype attributes.

save_report(context)

Generates the report and saves it to the location specified by theoutput_folder, filename, and filetype attributes.

Parameters

None

Returns

None

PondPyModel

class pondpy.pondpy.PondPyModel(primary_framing, secondary_framing, loading, mirrored_left=False, mirrored_right=False, stop_criterion=0.001, max_iter=50, show_results=True)

A class to represent a pondpy analysis object.

Attributes

analysis_completebool

bool indicating whether the analysis has been performed

impounded_depthdict

dictionary containing impounded water depth at model nodes for both primary and secondary members

iter_resultsdict

dictionary holding iterative analysis results

loadingloading object

Loading object representing the loading criteria for the roof bay

max_iterint

maximum number of iterations for the iterative analysis

mirrored_leftbool

indicates whether the roof bay is mirrored on the left

mirrored_rightbool

indicates whether the roof bay is mirrored on the right

out_strstr

string holding detailed output results for printing to the console

roof_bayroof bay object

roof bay model to used to create the roof bay model

roof_bay_modelroof bay model object

roof bay model object to be used for the iterative analysis

primary_framingprimary framing object

primary framing object representing the primary framing for the roof bay

secondary_framingsecondary framing object

secondsry framing object representing the secondary framing for the roof bay

show_resultsbool

indicates whether or not to print the results to the console

stop_criterionfloat

criterion to stop the iterative analysis

Methods

generate_report():

Generates a report for the analyzed PondPyModel object.

perform_analysis():

Performs the iterative analysis of the PondPyModel object.

generate_report(output_folder, filename='pondpy_results', filetype='html', company='', proj_num='', proj_name='', desc='')

Generates a report for the analyzed PondPyModel object.

Parameters

companystr, optional

string representing the company name

descstr, optional

string representing the calculation description

filenamestr, optional

string represengting the output filename

filetypestr, optional

string representing the desired output file type

output_folderstr

string representing the location to which the report should be saved

proj_namestr, optional

string representing the project name

proj_numstr, optional

string representing the project number

Returns

None

perform_analysis()

Performs the iterative analysis of the PondPy object.

Parameters

None

Returns

outputdict

dictionary of output variables

API Documentation - pondpy 0.2.3 documentation (2024)

References

Top Articles
Latest Posts
Article information

Author: Pres. Carey Rath

Last Updated:

Views: 6217

Rating: 4 / 5 (61 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Pres. Carey Rath

Birthday: 1997-03-06

Address: 14955 Ledner Trail, East Rodrickfort, NE 85127-8369

Phone: +18682428114917

Job: National Technology Representative

Hobby: Sand art, Drama, Web surfing, Cycling, Brazilian jiu-jitsu, Leather crafting, Creative writing

Introduction: My name is Pres. Carey Rath, I am a faithful, funny, vast, joyous, lively, brave, glamorous person who loves writing and wants to share my knowledge and understanding with you.