Pabq.common_tools package¶
Submodules¶
Pabq.common_tools.abq_tools module¶
Module containing tools for Abaqus cae.
-
class
Pabq.common_tools.abq_tools.GeneralModel(add=None, solver=None, direct_submit=None, ncpus=None, write_input=None, save_cae=None, mdl_id=None)[source]¶ Bases:
objectClass containing basic functionality for modeller scrtipts.
Contains tools like ‘save’, ‘submit’, ‘open_odb’ etc.
-
__init__(add=None, solver=None, direct_submit=None, ncpus=None, write_input=None, save_cae=None, mdl_id=None)[source]¶ Initialise a general model.
Some basic properties are given for the model, like the basename and the solver type.
Parameters: - add (bool, optional) – Is the current model going to be added to the Abaqus model database (mdb), leaving any preexisting models intact or is is a single model? In the second case, a new mdb is created and the default initial model “Model-1” is renamed accordingly. The second case is the default.
- solver (str, "implicit" or "explicit", optional) – Set the type of the solver that is going to be used.
- direct_submit (bool, optional) – Is the model going to me submitted directly after creation (True) or not (False). In the second case, make sure that the .cae and/or the .inp files are written, otherwise the modeller is rendered useless (no output). Default is True
- write_input (bool, optional) – Should the input file be written to file? Default is True
- ncups (int or "availabl", optional) – The number of parallel cpus to be used by the solver. It cold either take an integer value or the string “available”, in which case it will look for an environment variable “NCPUS” on the system. The default value is 1.
- save_cae (bool, optional) – Should the model database be saved in a .cae file? Default is True
- mdl_id (str, optional) – Set the basename of the model. It is used as model name, as base name for other entities (e.g. the job). Default is “general_model”
-
-
Pabq.common_tools.abq_tools.exporter(data, filename)[source]¶ Eaport data to pickle
Parameters: - data – Variable containing the data to be exported
- filename (str) – Filename of the export file
-
Pabq.common_tools.abq_tools.fetch_eigenv(odb_name, step_name, n_eigen)[source]¶ Get eigenvalues.
Return the eigenvalues of a perturbation buckling analysis from an abaqus database.
Parameters: - odb_name (class) – Abaqus model containing the eigenvalues
- step_name (string) – Name of the step
- n_eigen (int) – Number of eigenvalues to return
Notes
References
-
Pabq.common_tools.abq_tools.fetch_hist(odb, step_name, node_name, hist_out_name)[source]¶ Return a history output from an odb
Parameters: - odb (str) – odb filename (without the extension)
- step_name (str) – Name of the step containing the history output
- node_name (str) – Name of the regarded node
- hist_out_name (str) – Name of the history output
Returns: Return type: tuple
-
Pabq.common_tools.abq_tools.field_max(odb, result)[source]¶ Look for the max value in a field output.
Scan a field output on an abaqus result database and return the maximum value
Parameters: - odb (class) – Abaqus model containing the field results
- result (class) – Field output result to search for max
Notes
References
-
Pabq.common_tools.abq_tools.find(name, path)[source]¶ Search for a file in a directory tree
Parameters: - name (str) – filename
- path (str) – Root of the directory tree
-
Pabq.common_tools.abq_tools.get_block_position(model, block_prefix)[source]¶ Find a string and return the block number.
Method to find a given string on the keywords file of a model and return an integer for the position of the first occurrence.
Parameters: - model (class) – Abaqus model to search for keyword
- block_prefix (string) – String to look for
Notes
References
-
Pabq.common_tools.abq_tools.history_max(odb_obj, step_name)[source]¶ Look for the max value in a history output.
Scan a history output on a step on an abaqus result database and return the maximum value. Currently, it returns LPF, load and disp history outputs. To be generalised.
Parameters: - odb_obj (Abaqus database object) – Abaqus model filename.
- step_name (str) – Name of the step
-
Pabq.common_tools.abq_tools.isnumber(x)[source]¶ Checks if the given object is numeric.
Either float or int will return True. In any other case the return is False.
Parameters: x (any) – Object to be checked. Returns: Return type: boolean.
Pabq.common_tools.design_of_joints module¶
-
class
Pabq.common_tools.design_of_joints.TjointRHS(geometry=None, cs_props=None, material=None, struct_props=None, bc_loads=None)[source]¶ Bases:
Pabq.common_tools.steel_design.PartProperties and calculations of a theoretical (ideal geometry) polygonal column.
-
static
calc_c_f(material)[source]¶ Calculate the material factor Q_f acc. to the proposals of prEN1993-1-8 tb.9.1.
-
classmethod
from_geometry(column, beam, weld=None, material_col=None, material_beam=None, n_prc_col=None, n_prc_beam=None, length_c=None, length_b=None, production_type=None)[source]¶
-
classmethod
from_slend_beta(nd_width_col, c_width, nd_width_beam, beta, n_prc_col=None, n_prc_beam=None, material_col=None, material_beam=None, length_c=None, length_b=None)[source]¶
-
classmethod
from_slend_beta_m_prc_j(nd_width_col, c_width, nd_width_beam, beta, m_prc_col, n_prc_beam=None, material_col=None, material_beam=None, length_c=None, length_b=None)[source]¶ NOTE: This method is obsolete and should not be used. I keep it only for legacy reasons. The method calculated a joints based on the utilisation ratio normalised for the column resistance. Instead, It was decided that it makes more sense to calculate the utilisation ratio normalised for the moment resistance of the joint with zero axial load.
-
classmethod
from_slend_beta_m_prc_jj(nd_width_col, c_width, nd_width_beam, beta, m_prc_col, n_prc_beam=None, material_col=None, material_beam=None, length_c=None, length_b=None)[source]¶ Alternative constructor for a T-joint for a given utilisation ratio of the joint moment resistance, normalised against the moment resistance of the same joint configuration for zero axial compression of the column.
-
static
Pabq.common_tools.factorial_exec module¶
-
Pabq.common_tools.factorial_exec.divisors(n)[source]¶ Divisors of an integer.
Return all the possible divisors for a given integer.
Parameters: n (int) – Returns: Return type: int Notes
-
Pabq.common_tools.factorial_exec.dummyfunc(*args, **kargs)[source]¶ Null function used for testing
run_factorial()
-
Pabq.common_tools.factorial_exec.get_queued(filename)[source]¶ Read a batch info file and return the indexes of the queued jobs.
Parameters: filename (str) – Filename of the batch status file.
-
Pabq.common_tools.factorial_exec.goto_next_queued(filename)[source]¶ Read a batch info file and return the indexes of the queued jobs.
Parameters: filename (str) – Filename of the batch status file.
-
Pabq.common_tools.factorial_exec.run_factorial(prj_name, exec_func, func_args=None, func_kargs=None, p_args=None, p_kargs=None, mk_subdirs=None, del_subdirs=None)[source]¶ Run a function for a full factorial table of input parameters.
Creates a full factorial matrix for a given list of parameters and executes a function for each combination. A list of values is needed for each parameter.
Parameters: - prj_name (str) – Name of the parametric project. Used for directory name and filenames.
- exec_func (function) – Function to be executed parametrically.
- func_args (list, optional) – A list containing the arguments to be passed to the function, both parametric and static.
- func_kargs (dict, optional) – A dictionaty of all the keyword arguments to be passed to the function, both parametric and static.
- p_args (list of integers, optional) – A list of integers, indicating the positions on the func_args list of the arguments for which the parametric matrix is composed. On the positions indicated by p_args, the func_args must contain list items.
- p_kargs (list of strings, optional) – A list of the keys of all the keyword arguments that need to be executed parametrically, similarly to p_args.
- mk_subdirs (bool, optional) – If True, each combination is executed in a different, automatically created, subdirectory. Useful when the executed job generates files on the working directory. If subdirectory with the same name exists, the job will enter and execute in the directory ignoring pre-existing files. Default is False (run all jobs in the current directory)
- del_subdirs (bool, optional) – Remove the subdirectories for the individual jobs and keep only the results summary. This argument is used in combination with the mk_subdirs. Default is False (do not remove).
Returns: List item containing the results of all the executed runs
Return type: list
-
Pabq.common_tools.factorial_exec.subdir_crawler(exec_func, func_args=None, func_kargs=None, prj_name=None)[source]¶ Execute function in all subdirs.
Parameters: - exec_func (function) – Function to be executed parametrically.
- func_args (list, optional) – List of arguments for the function. No arguments by default.
- func_kargs (dict, optional) – Dictionary of keyword arguments for the function. No keyword arguments by default.
- prj_name (str, optional) – Project name.
-
Pabq.common_tools.factorial_exec.update_job_status(filename, job_nr, new_status)[source]¶ Change status of a job number on a batch status file.
Parameters: - filename (str) – Filename of the batch status file.
- job_nr (int) – Index of the job to be updated.
- new_status (str) – String to be written as new status.
Pabq.common_tools.steel_design module¶
Module for the structural design of steel members.
-
class
Pabq.common_tools.steel_design.CsProps(area=None, a_eff=None, xc=None, yc=None, moi_xx=None, moi_yy=None, moi_xy=None, theta_principal=None, moi_1=None, moi_2=None)[source]¶ Cross-section properties.
Class for the mass properties of cross-sections. The properties can be calculated using the from_cs_sketch() method.
Parameters: - area (float) – Cross-sectional area.
- xc (float) – x coordinate of the gravity center.
- yc (float) – y coordinate of the gravity center.
- moi_xx (float) – Moment of inertia around x axis.
- moi_yy (float) – Moment of inertia around y axis.
- moi_xy (float) – Polar moment of inertia.
- theta_principal (float) – Rotation of the principal axes.
- moi_1 (float) – Moment of inertia around the major axis.
- moi_2 (float) – Moment of inertia around the minor axis.
-
class
Pabq.common_tools.steel_design.CsRHS(width=None, height=None, thick=None, b_flat=None, h_flat=None, hcflat=None, area=None, a_eff=None, xc=None, yc=None, moi_xx=None, moi_yy=None, moi_xy=None, theta_principal=None, moi_1=None, moi_2=None, w_pl=None, w_el=None, alfa_flange=None, psi_flange=None, alfa_web=None, psi_web=None, material=None, m_n_rd=None, m_pl_rd=None, m_el_rd=None, m_prc=None, cs_class=None, nd_width_web=None, nd_width_flange=None)[source]¶ Bases:
Pabq.common_tools.steel_design.CsProps-
__init__(width=None, height=None, thick=None, b_flat=None, h_flat=None, hcflat=None, area=None, a_eff=None, xc=None, yc=None, moi_xx=None, moi_yy=None, moi_xy=None, theta_principal=None, moi_1=None, moi_2=None, w_pl=None, w_el=None, alfa_flange=None, psi_flange=None, alfa_web=None, psi_web=None, material=None, m_n_rd=None, m_pl_rd=None, m_el_rd=None, m_prc=None, cs_class=None, nd_width_web=None, nd_width_flange=None)[source]¶
-
-
class
Pabq.common_tools.steel_design.CsSketch(nodes, elem)[source]¶ Cross-section geometry.
Parameters: - nodes (list) – List of points.
- elem (list) – Element connectivity.
-
class
Pabq.common_tools.steel_design.Geometry(cs_sketch, length, thickness)[source]¶ Structural element geometry.
Class for the geometric properties of a structural element.
Parameters: - cs_sketch (CsSketch object) – Cross-section sketch.
- length (float) – Member’s length.
-
class
Pabq.common_tools.steel_design.Material(e_modulus, poisson, f_y_nominal, f_y_real=None, f_u_nominal=None, plasticity=None)[source]¶ Material properties.
Parameters: - e_modulus (float) – Modulus of elasticity.
- poisson (float) – Poisson’s ratio.
- f_yield (float) – Yield stress
- plasticity (tuple) – Plasticity table (tuple of stress-plastic strain pairs). By default, no plasticity is considered.
-
__init__(e_modulus, poisson, f_y_nominal, f_y_real=None, f_u_nominal=None, plasticity=None)[source]¶
-
class
Pabq.common_tools.steel_design.Part(geometry=None, cs_props=None, material=None, struct_props=None, bc_loads=None)[source]¶ Structural part.
Class describing a structural part, including geometry, boundary conditions loads and resistance.
Parameters: - geometry (Geometry object, optional) –
- cs_props (CsProps object, optional) –
- material (Material object, optional) –
- struct_props (StructProps object, optional) –
- bc_loads (BCs object, optional) –
-
class
Pabq.common_tools.steel_design.SimplySupportedPlate(width, thickness, length, f_y, psi=None)[source]¶
-
class
Pabq.common_tools.steel_design.StructProps(t_classification=None, p_classification=None, pc_classification=None, lmbda_y=None, lmbda_z=None, n_cr_plate=None, sigma_cr_plate=None, n_pl_rd=None, n_b_rd_plate=None, sigma_b_rd_plate=None, sigma_cr_shell=None, sigma_cr_shell_new=None, lenca=None, lenca_new=None, n_cr_shell=None, n_cr_shell_new=None, sigma_b_rk_shell=None, sigma_b_rk_shell_new=None, n_b_rk_shell=None, n_b_rk_shell_new=None, sigma_b_rd_shell=None, sigma_b_rd_shell_new=None, n_b_rd_shell=None, n_b_rd_shell_new=None, n_cr_platec=None, sigma_cr_platec=None, n_pl_rdc=None, sigma_b_rd_platec=None, n_b_rd_platec=None)[source]¶ Structural properties of a member.
Parameters: - t_classification (float, optional) – Classification of a tube, d/(t^2*e)
- p_classification (float, optional) – Classification of a plate, c/(t*e)
- lmbda_y (float, optional) – Flexural slenderness on the strong axis.
- lmbda_z (float, optional) – Flexural slenderness on the weak axis.
- n_pl_rd (float, optional) – Plastic axial compression resistance.
- n_b_rd_shell (float, optional) – Shell buckling resistance
-
__init__(t_classification=None, p_classification=None, pc_classification=None, lmbda_y=None, lmbda_z=None, n_cr_plate=None, sigma_cr_plate=None, n_pl_rd=None, n_b_rd_plate=None, sigma_b_rd_plate=None, sigma_cr_shell=None, sigma_cr_shell_new=None, lenca=None, lenca_new=None, n_cr_shell=None, n_cr_shell_new=None, sigma_b_rk_shell=None, sigma_b_rk_shell_new=None, n_b_rk_shell=None, n_b_rk_shell_new=None, sigma_b_rd_shell=None, sigma_b_rd_shell_new=None, n_b_rd_shell=None, n_b_rd_shell_new=None, n_cr_platec=None, sigma_cr_platec=None, n_pl_rdc=None, sigma_b_rd_platec=None, n_b_rd_platec=None)[source]¶
-
Pabq.common_tools.steel_design.bolt2washer(m_bolt)[source]¶ Washer diameter.
Return the diameter of the washer for a given bolt diameter. The calculation is based on a function derived from linear regression on ENXXXXXXX[REF].
Parameters: m_bolt (float) – Bolt diameter
-
Pabq.common_tools.steel_design.bolt_grade2stress(bolt_grade)[source]¶ Convert bolt grade to yield and ultimate stress.
Standard designation for bolt grade as a decimal is converted to yield and ultimate stress values in MPa. In the standard bolt grade designation, the integer part of the number represents the ultimate stress in MPa/100 and the decimal part is the yield stress as a percentage of the ultimate (e.g 4.6 is f_u = 400, f_y = 400 * 0.6 = 240).
Parameters: bolt_grade (float) – Returns: tuple Return type: (f_ultimate, f_yield)
-
Pabq.common_tools.steel_design.bolt_min_dist(d_0)[source]¶ Minimum bolt spacing.
Parameters: d_0 – Returns:
-
Pabq.common_tools.steel_design.calc_a_eff(thickness, width, f_yield, psi=None)[source]¶ Plastic design resistance of a plate.
Calculates the resistance of a plate according to EN1993-1-1 and EN1993-1-5. The plate is assumed simply supported.
Parameters: - thickness (float) – [mm] Plate thickness
- width (float) – [mm] Plate width
- f_yield (float) – [MPa] Yield stress
- psi (float, optional) – [_] Ratio of the min over max stress for a linear distribution, (sigma_min / sigma_max) Default = 1, which implies a uniform distribution
Returns: [N] Plastic design resistance
Return type: float
Notes
To be extended to include cantilever plate (outstand members)
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005. [2] Eurocode 3: Design of steel structures - Part 1-5: Plated structural elements. Brussels: CEN, 2005.
-
Pabq.common_tools.steel_design.calc_a_eff_new(thickness, width, f_yield, psi=None)[source]¶ Plastic design resistance of a plate.
Calculates the resistance of a plate according to EN1993-1-1 and EN1993-1-5. The plate is assumed simply supported.
Parameters: - thickness (float) – [mm] Plate thickness
- width (float) – [mm] Plate width
- f_yield (float) – [MPa] Yield stress
- psi (float, optional) – [_] Ratio of the min over max stress for a linear distribution, (sigma_min / sigma_max) Default = 1, which implies a uniform distribution
Returns: [N] Plastic design resistance
Return type: float
Notes
To be extended to include cantilever plate (outstand members)
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005. [2] Eurocode 3: Design of steel structures - Part 1-5: Plated structural elements. Brussels: CEN, 2005.
-
Pabq.common_tools.steel_design.chi_flex(lmda, b_curve)[source]¶ Flexural buckling reduction factor.
Claculates the reduction factor, chi, according to EN1993-1-1 6.3.1.2
Parameters: - length (float) – [mm] Column length
- area (float) – [mm^2] Cross section area
- moi_y (float) – [mm^4] Moment of inertia
- f_yield (float) – [MPa] Yield stress.
- b_curve (str) – [_] Name of the buckling curve as obtained from Table 6.2 of [1]. Valid options are {‘a0’, ‘a’, ‘b’, ‘c’, ‘d’}
- kapa_bc (float, optional) – [_] length correction for the effect of the boundary conditions. Default = 1, which implies simply supported column
Returns: [_] Reduction factor.
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005.
-
Pabq.common_tools.steel_design.f_b_rd(bolt_size, bolt_grade, thickness, steel_grade, f_yield, distances, d_0)[source]¶ Connection bearing capacity.
Calculates the bearing capacity of a single bolt on a plate. The distances to the plate edges/other bolts are described :param bolt_size: :param bolt_grade: :param thickness: :param steel_grade: :param f_yield: :param distances: :param d_0: :return:
-
Pabq.common_tools.steel_design.f_v_rd(bolt_size, bolt_grade, shear_threaded=None, gamma_m2=None)[source]¶ Bolt’s shear resistance.
Calculates the shear resistance of single bolt for one shear plane as given in table 3.4 of EC3-1-8.
Parameters: - bolt_size (float) – Diameter of the non-threaded part (nominal bolt size e.g. M16 = 16)
- bolt_grade (float) – Bolt grade in standard designation format (see documentation of bolt_grade2stress())
- shear_threaded (bool, optional) – Designates if the shear plane is on the threaded portion or not. Default in False, which implies shearing of the non-threaded portion
- gamma_m2 (float, optional) – Safety factor. Default value is 1.25
Returns: Return type: float
-
Pabq.common_tools.steel_design.fabclass_2_umax(fab_class)[source]¶ Maximum displacement for a given fabrication class acc. to EC3-1-6.
Parameters: fab_class ({"fcA", "fcB", "fcC"}) –
-
Pabq.common_tools.steel_design.imp_factor(b_curve)[source]¶ Imperfection factor.
Returns the imperfection factor for a given buckling curve. The values are taken from Table 6.1 of EN1993-1-1 [1]
Parameters: b_curve ({'a0', 'a', 'b', 'c', 'd'}) – [_] Name of the buckling curve as obtained from Table 6.2 of [1]. Returns: [_] Imperfection factor. Return type: float References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005.
-
Pabq.common_tools.steel_design.lmbda_flex(length, area, moi_y, f_yield, kapa_bc=None, e_modulus=None)[source]¶ Flexural slenderness.
Calculates the slenderness of a columne under pure compression. Euler’s critical load is used.
Parameters: - length (float) – [mm] Column length
- area (float) – [mm^2] Cross section area
- moi_y (float) – [mm^4] Moment of inertia
- kapa_bc (float, optional) – [_] length correction for the effect of the boundary conditions. Default = 1, which implies simply supported column
- e_modulus (float, optional) – [MPa] Modulus of elasticity Default = 210000., typical value for steel
- f_yield (float, optional) – [MPa] yield stress. Default = 380., brcause this value was used extencively while the function was being written. To be changed to 235.
Returns: [_] Member slenderness
Return type: float
-
Pabq.common_tools.steel_design.mean_list(numbers)[source]¶ Mean value.
Calculate the average for a list of numbers.
Parameters: numbers (list) – Notes
References
-
Pabq.common_tools.steel_design.n_b_rd(length, area, moi_y, f_yield, b_curve, kapa_bc=None, gamma_m1=None)[source]¶ Flexural buckling resistance.
Verifies the resistance of a column against flexural buckling according to EN1993-1-1 6.3.1.1.
Parameters: - length (float) – [mm] Column length
- area (float) – [mm^2] Cross section area
- moi_y (float) – [mm^4] Moment of inertia
- f_yield (float) – [MPa] Yield stress.
- b_curve (str) – [_] Name of the buckling curve as obtained from Table 6.2 of [1]. Valid options are: {‘a0’, ‘a’, ‘b’, ‘c’, ‘d’}
- kapa_bc (float, optional) – [_] Length correction for the effect of the boundary conditions. Default = 1, which implies simply supported column
- gamma_m1 (float, optional) – [_] Partial safety factor. Default = 1.
Returns: [N] Buckling resistance.
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005.
-
Pabq.common_tools.steel_design.n_cr_flex(length, moi_y, kapa_bc=None, e_modulus=None)[source]¶ Euler’s critical load.
Calculates the critical load for flexural buckling of a given column. A single direction is considered. If more directions are required (e.g the two principal axes), the function has to be called multiple times. For torsional mode critical load use n_cr_tor(), and for flexural-torsional critical load use n_cr_flex_tor()
Parameters: - length (float) – [mm] Column length.
- moi_y (float) – [mm^4] Moment of inertia.
- kapa_bc (float, optional) – [_] length correction for the effect of the boundary conditions. Default = 1, which implies simply supported column.
- e_modulus (float, optional) – [MPa] Modulus of elasticity. Default = 210000., typical value for steel.
Returns: [N] Critical load.
Return type: float
-
Pabq.common_tools.steel_design.n_cr_flex_tor(length, area, moi_y, moi_z, moi_yz, moi_torsion, moi_warp, y_sc=None, z_sc=None, e_modulus=None, poisson=None)[source]¶ Flexural-Torsional elastic critical load
Calculates the critical load for flexural-torsional buckling of a column with hinged ends. The returned value is the minimum of the the three flexural-torsional and the indepedent torsional mode, as dictated in EN1993-1-1 6.3.1.4 [1]. (for further details, see Notes).
Parameters: - length (float) – [mm] Column length.
- area (float) – [mm^2] Cross-sectional area.
- moi_y (float) – [mm^4] Moment of inertia around y-axis. y-axis on the centre of gravity but not necessarily principal.
- moi_z (float) – [mm^4] Moment of inertia around z-axis. z-axis on the centre of gravity but not necessarily principal.
- moi_yz (float) – [mm^4] Product of inertia.
- moi_torsion (float) – [mm^4] Saint Venant constant.
- moi_warp (float) – [mm^6] Torsion constant.
- y_sc (float, optional) – [mm] Distance on y-axis of the shear center to the origin. Default = 0, which implies symmetric profile
- z_sc (float, optional) – [mm] Distance on z-axis of the shear center to the origin. Default = 0, which implies symmetric profile
- e_modulus (float, optional) – [MPa] Modulus of elasticity. Default = 210000., general steel.
- poisson (float, optional) – [_] Young’s modulus of elasticity. Default = 0.3, general steel.
Returns: [N] Flexural-torsional critical load.
Return type: float
Notes
The flexural-torsional critical loads are calculated as a combination of the three independent overall buckling modes: i) flexural around the major axis, ii) flexural around the minor axis, iii) Torsional buckling (around x-axis).
First, the cs-properties are described on the principal axes. Then the three independent modes are calculated. The combined flexural-torsional modes are calculated as the roots of a 3rd order equation, as given in [1], [2]. The minimum of the torsional and the three combined modes is returned (the two independent flexural modes are not considered; for critical load of pure flexural mode use ‘n_cr_flex’).
References
..[1]N. S. Trahair, Flexural-torsional buckling of structures, vol. 6. CRC Press, 1993. ..[2]NS. Trahair, MA. Bradford, DA. Nethercot, and L. Gardner, The behaviour and design of steel structures to EC3, 4th edition. London; New York: Taylor & Francis, 2008.
-
Pabq.common_tools.steel_design.n_cr_shell(thickness, radius, length)[source]¶ Critical compressive load for cylindrical shell.
Calculates the critical load for a cylindrical shell under pure compression and assumes uniform stress distribution. Calculation according to EN1993-1-6 [1], Annex D.
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
Returns: [N] Critical load
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006.
-
Pabq.common_tools.steel_design.n_cr_shell_new(thickness, radius, length)[source]¶ Critical compressive load for cylindrical shell.
Calculates the critical load for a cylindrical shell under pure compression and assumes uniform stress distribution. Calculation according to EN1993-1-6 [1], Annex D.
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
Returns: [N] Critical load
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006.
-
Pabq.common_tools.steel_design.n_cr_tor(length, area, moi_y0, moi_z0, moi_torsion, moi_warp, y_0=None, z_0=None, e_modulus=None, poisson=None)[source]¶ Torsional elastic critical load
Calculates the torsional elastic critical load for a hinged column. The input values are refering to the principal axes. For flexural buckling (Euler cases) use n_cr_flex. For the combined flexural-torsional modes use n_cr_flex_tor.
Parameters: - length (float) – [mm] Column length.
- area (float) – [mm^2] Cross-sectional area.
- moi_y0 (float) – [mm^4] Moment of inertia around y-axis. y-axis on the centre of gravity but not necessarily principal.
- moi_z0 (float) – [mm^4] Moment of inertia around z-axis. z-axis on the centre of gravity but not necessarily principal.
- moi_torsion (float) – [mm^4] Saint Venant constant.
- moi_warp (float) – [mm^6] Torsion constant.
- y_0 (float, optional) – [mm] Distance on y-axis of the shear center to the origin. Default = 0, which implies symmetric profile
- z_0 (float, optional) – [mm] Distance on z-axis of the shear center to the origin. Default = 0, which implies symmetric profile
- e_modulus (float, optional) – [MPa] Modulus of elasticity. Default = 210000., general steel.
- poisson (float, optional) – [_] Young’s modulus of elasticity. Default = 0.3, general steel.
Returns: [N] Flexural-torsional critical load.
Return type: float
Notes
The torsional critical load is calculated as:
\[N_{cr, tor} = {GJ + {\pi^2EI_w\over{L^2}}\over{r^2}}\]- Where:
\(E\) : Elasticity modulus
\(G\) : Shear modulus
\(J\) : Torsional constant (Saint Venant)
\(I_w\) : Warping constant
\(r^2=(moi_y + moi_z)/A + x_0^2 + y_0^2\)
\(x_0, y_0\) : Shear centre coordinates on the principal coordinate system
References
..[1]N. S. Trahair, Flexural-torsional buckling of structures, vol. 6. CRC Press, 1993. ..[2]NS. Trahair, MA. Bradford, DA. Nethercot, and L. Gardner, The behaviour and design of steel structures to EC3, 4th edition. London; New York: Taylor & Francis, 2008.
-
Pabq.common_tools.steel_design.plate_class(thickness, width, f_yield)[source]¶ Plate classification.
Returns the class for a given plate, according to EN1993-1-1. Currently works for simply supported plates under pure compression.
Parameters: - thickness (float) – [mm] Plate thickness
- width (float) – [mm] Plate width
- f_yield (float) – [MPa] Yield stress
Returns: [_] Class number
Return type: int
Notes
To be extended to include the rest of the cases of Table 5.3 [1]. Members under combined axial and bending and outstand members.
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005
-
Pabq.common_tools.steel_design.plate_class_new(thickness, width, f_yield)[source]¶ Plate classification acc.to final draft of EC3-1-1.
Returns the class for a given plate, according to EN1993-1-1. Currently works for simply supported plates under pure compression.
Parameters: - thickness (float) – [mm] Plate thickness
- width (float) – [mm] Plate width
- f_yield (float) – [MPa] Yield stress
Returns: [_] Class number
Return type: int
Notes
To be extended to include the rest of the cases of Table 5.3 [1]. Members under combined axial and bending and outstand members.
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005
-
Pabq.common_tools.steel_design.shell_length_category(radius, thickness, length)[source]¶ Return the length gategory of a cylinder acc. to EC3-1-6 D.1.2.1
-
Pabq.common_tools.steel_design.shell_length_category_new(radius, thickness, length)[source]¶ Return the length gategory of a cylinder acc. to EC3-1-6 D.1.2.1
-
Pabq.common_tools.steel_design.sigma_cr_plate(thickness, width, psi=None, young=210000, poisson=0.3)[source]¶ Critical stress of a plate.
Calculates the critical stress for a simply supported plate.
Parameters: - thickness (float) – [mm] Plate thickness
- width (float) – [mm] Plate width
- psi (float, optional) – [_] Ratio of the min over max stress for a linear distribution, (sigma_min / sigma_max) Default = 1, which implies a uniform distribution
- young (float, optional) – [MPa] Young’s modulus of elasticity. Default value is 210000
- poisson (float, optional) – [_] Poisson ratio, default value is 0.3
Returns: [MPa] Plate critical stress
Return type: float
Notes
To be extended to include cantilever plate (outstand members)
References
[1] Eurocode 3: Design of steel structures - Part 1-5: Plated structural elements. Brussels: CEN, 2005.
-
Pabq.common_tools.steel_design.sigma_x_rcr(thickness, radius, length, kapa_bc=None, e_modulus=None)[source]¶ Critical meridional stress for cylindrical shell.
Calculates the critical load for a cylindrical shell under pure compression and assumes uniform stress distribution. Calculation according to EN1993-1-6 [1], Annex D.
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
Returns: List of 2 elements: a) float, Critical load [N] b) string, length category
Return type: list
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006.
-
Pabq.common_tools.steel_design.sigma_x_rcr_new(thickness, radius, length, kapa_bc=None, e_modulus=None)[source]¶ Critical meridional stress for cylindrical shell.
Calculates the critical load for a cylindrical shell under pure compression and assumes uniform stress distribution. Calculation according to EN1993-1-6 [1], Annex D.
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
Returns: List of 2 elements: a) float, Critical load [N] b) string, length category
Return type: list
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006.
-
Pabq.common_tools.steel_design.sigma_x_rd(thickness, radius, length, f_y_k, fab_quality=None, gamma_m1=None, flex_kapa=None)[source]¶ Meridional design buckling stress.
Calculates the meridional buckling stress for a cylindrical shell according to EN 1993-1-6 [1]. Flexural buckling is also checked acc to EN 1993-1-1 [2]
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
- f_y_k (float) – [MPa] Characteristic yield strength
- fab_quality (str, optional) – [_] Fabrication quality class. Accepts: ‘fcA’, ‘fcB’, ‘fcC’ The three classes correspond to .006, .010 and .016 times the width of a dimple on the shell. Default = ‘fcA’, which implies excelent fabrication
- gamma_m1 (int, optional) – [_] Partial safety factor Default = 1.1
Returns: [MPa] Meridional buckling stress
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006._ [2] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005._
-
Pabq.common_tools.steel_design.sigma_x_rd_new(thickness, radius, length, f_y_k, fab_quality=None, gamma_m1=None, flex_kapa=None)[source]¶ Meridional design buckling stress.
Calculates the meridional buckling stress for a cylindrical shell according to the new draft of EN1993-1-6 [1].
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
- f_y_k (float) – [MPa] Characteristic yield strength
- fab_quality (str, optional) – [_] Fabrication quality class. Accepts: ‘fcA’, ‘fcB’, ‘fcC’ The three classes correspond to .006, .010 and .016 times the width of a dimple on the shell. Default = ‘fcA’, which implies excelent fabrication
- gamma_m1 (int, optional) – [_] Partial safety factor Default = 1.1
Returns: [MPa] Meridional buckling stress
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-6 draft: Strength and stability of shell structures. Brussels: CEN, 2006._
-
Pabq.common_tools.steel_design.sigma_x_rk(thickness, radius, length, f_y_k, fab_quality=None, flex_kapa=None)[source]¶ Meridional design buckling stress.
Calculates the meridional buckling stress for a cylindrical shell according to EN1993-1-6 [1].
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
- f_y_k (float) – [MPa] Characteristic yield strength
- fab_quality (str, optional) – [_] Fabrication quality class. Accepts: ‘fcA’, ‘fcB’, ‘fcC’ The three classes correspond to .006, .010 and .016 times the width of a dimple on the shell. Default = ‘fcA’, which implies excelent fabrication
- gamma_m1 (int, optional) – [_] Partial safety factor Default = 1.1
Returns: [MPa] Meridional buckling stress
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006._
-
Pabq.common_tools.steel_design.sigma_x_rk_new(thickness, radius, length, f_y_k, fab_quality=None, flex_kapa=None)[source]¶ Meridional characteristic buckling stress.
Calculates the characteristic meridional buckling stress for a cylindrical shell according to EN1993-1-6 [1].
Parameters: - thickness (float) – [mm] Shell thickness
- radius (float) – [mm] Cylinder radius
- length (float) – [mm] Cylnder length
- f_y_k (float) – [MPa] Characteristic yield strength
- fab_quality (str, optional) – [_] Fabrication quality class. Accepts: ‘fcA’, ‘fcB’, ‘fcC’ The three classes correspond to .006, .010 and .016 times the width of a dimple on the shell. Default = ‘fcA’, which implies excelent fabrication
- gamma_m1 (int, optional) – [_] Partial safety factor Default = 1.2 (new suggestion from prEN draft)
Returns: [MPa] Meridional buckling stress
Return type: float
References
[1] Eurocode 3: Design of steel structures - Part 1-6: Strength and stability of shell structures. Brussels: CEN, 2006._
-
Pabq.common_tools.steel_design.stress_area(bolt_size, shear_threaded=None)[source]¶ Shear area of a bolt.
Returns the srea to be used for the calculation of shear resistance of a bolt, either the gross cross-section of the bolt (circle area) or the reduced area of the threaded part of the bolt.
Parameters: - bolt_size (float) – Bolt’s diameter.
- shear_threaded (bool, optional) – Designates if the shear plane is on the threaded portion or not. Default in False, which implies shearing of the non-threaded portion
Returns: Return type: float
Notes
Currently, the threaded area is based on an average reduction of the shank area. To be changed to analytic formula.
-
Pabq.common_tools.steel_design.tube_class(thickness, radius, f_yield)[source]¶ CHS classification.
Returns the class for a given plate, according to EN1993-1-1. Currently works for simply supported plates under pure compression.
Parameters: - thickness (float) – [mm] Plate thickness
- radius (float) – [mm] Tube radius
- f_yield (float) – [MPa] Yield stress
Returns: [_] Class number
Return type: int
Notes
To be extended to include the rest of the cases of Table 5.3 [1]. Members under combined axial and bending and outstand members.
References
[1] Eurocode 3: Design of steel structures - Part 1-1: General rules and rules for buildings. Brussels: CEN, 2005