API for developers#

General#

Classes

StrainPosition(strain, position, material)

Container for strains at a position_value within a given material

EffectiveWidths(membran[, bending, ...])

container holding the effective widths

NotSuccessfulReason([keyword, variable, ...])

Container for reasons why computation has not been successful

Methods

curvature(neutral_axis_value, ...)

curvature from strain at a position and neutral-axis

curvature_by_points(top_edge, bottom_edge, ...)

compute curvature by two given points

strain(neutral_axis_value, curvature_value, ...)

compute the strain from its position, the neutral axis and the curvature value

position(strain_at_position, ...)

compute the vertical position of a given strain using neutral-axis and curvature

neutral_axis(strain_at_position, ...)

compute the neutral axis from strain, its geometric position and the curvature

remove_duplicates(list_of_lists)

positive_sign(list_of_lists)

negative_sign(list_of_lists)

interpolation(position_value, first_pair, ...)

Linear interpolation between

Geometries#

check_width([width, left_edge, right_edge])

make sure all properties corresponding with the width of a Rectangle or Trapezoid are fulfilled.

Material#

StressStrain(stress, strain)

container for a stress-strain-point

ConcreteCompression(f_cm, yield_strain, E_cm)

Meta-class for concrete under compression

ConcreteCompressionNonlinear(f_cm, ...)

non-linear concrete behaviour according to EN 1992-1-1 [1]_

ConcreteCompressionParabolaRectangle(f_cm, E_cm)

parabola-rectangle behaviour of concrete under compression according to EN 1992-1-1 [1]_

ConcreteCompressionBiLinear(f_cm)

bi-linear behaviour of concrete under compression according to EN 1992-1-1 [1]_

ConcreteTension(f_cm, E_cm[, f_ctm, g_f, ...])

define concrete tensile behaviour

Sections#

ComputationSection(geometry, material)

base class for specified ComputationsSection-classes

ComputationSectionCurvature(section, ...)

compute section given a curvature and a neutral axis

ComputationSectionStrain(section, strain_value)

compute section under a constant strain-value

Cross-sections#

Classes

ComputationCrosssection([sections, ...])

Base for computed cross-sections

ComputationCrosssectionStrain(sections, strain)

computes a cross-section under a constant strain_value assuming zero curvature

ComputationCrosssectionCurvature(...[, ...])

computes a cross-section given a curvature and a neutral axis

ComputationCrosssectionStrainAdd(...)

result of adding two ComputationCrosssectionStrain-classes to each other

EdgeStrains(bottom_edge_strain, top_edge_strain)

store strains at edges and compute curvature from these points

CrossSectionBoundaries(sections)

Compute the Boundary-Values for the cross_section

Methods

axial_force(sections)

compute the sum of axial-force from a list of computed sections

moment(sections)

compute the sum of moments from a list of computed sections

determine_curvatures(bottom_edge_strains, ...)

determine curvatures by combining the bottom- and top-edge-strains

compute_neutral_axis(edge_strains, starts_top)

compute the neutral axis with given curvature and strain a top or at bottom

Cross-section boundaries#

Classes

MaximumCurvature(curvature, start, other, ...)

store values connected to maximum curvature

MinimumCurvature(...[, top_edge, bottom_edge])

store maximum positive and negative section strains for determination of minimum curvature

BoundaryValues(maximum_curvature, ...)

store boundary condition values

Boundaries(positive, negative, neutral_axes)

store boundary conditions

Methods

compute_curvatures(strain_position, ...)

compute curvatures from a position with associated strains and a list of strains with its associated positions

remove_higher_strains(strain, position_strains)

Return strain-position values where strain-attribute is smaller strain

remove_smaller_strains(strain, position_strains)

Return strain-position values where strain-attribute is greater strain

get_lower_positions(position, position_strains)

get all positions in 'position_strains', that are lower than the given position_value

get_higher_positions(position, position_strains)

get all positions in 'position_strains', that are higher than the given position_value

Strain-based design#

Point(cross_section, applied_axial_force[, ...])

base-class for computing equilibrium of axial-forces

Computation(iteration, ...[, curvature, ...])

stores the results of an iteration-step during a computation

MKappa(cross_section[, applied_axial_force, ...])

base class for computation of one Moment-Curvature-Point by varying the neutral axis

MNByStrain(cross_section, applied_axial_force)

computation of uniform strain leading to given axial-force

AxialForcePoint(sub_cross_sections, axial_force)

base class

Moment-Axial-Force-Curvature Curve#

MNKappaCurvePoint(moment, curvature, ...[, ...])

Container for single point on Moment-Axial-Force-Curvature-Curve

MNKappaCurvePoints([points])

Container for points on computed \(M\)-\(N\)-\(\kappa\)-Curve

MNCurvatureCurve([m_n_curve, ...])

compute moment-axial-force-curvature curve

Solver#

Solver(data, target, variable)

Meta Solver-Class

Bisection(data, target, variable)

Bisection solver

Newton(data, target, variable)

Solver using the newton method

Fitting#

GaussNewton(f_i, x_0[, maximum_iterations, ...])

Gauss-Newton Solver for finding zero in a system of equations

LevenbergMarquardt(f_i, x_0[, ...])

Levenberg-Marquardt algorithm

Matrices#

Vector(entries)

New in version 0.2.0.

Matrix(matrix)

New in version 0.2.0.

Jacobian(f_i, x_i[, f_xi, h, ...])

Jacobian Matrix

Identity(row_column_number[, diagonal_value])

Identity Matrix

LinearEquationsSystem(coefficients, constants)

Solve System of linear equations of type :math:`mathbf{A} vec{x} =

Loading#

ABCSingleSpan()

Metaclass single span loading conditions shall be derived from

Deformation#

Classes

LoadStep(load, point)

Load-step re-computed from a MKappaCurvePoint

Loading(beam_length, nodes[, load])

compute the load-steps by analysis of decisive m-kappa-curve

Deformation(position, load, deformation[, ...])

container for computed deformations

Deformations(deformations)

container for number of deformations

Element(nodes, strain_differences, axial_force)