Prestressed materials¶
Prestressed concrete¶

class
materials.prestressing.prestressed_concrete.
PrestressTendon
(lstRoughPnts)¶ Bases:
object
Geometry and prestressing losses of a prestressing tendon
Variables:  lstRoughPnt – list of 3Dcoordinate tuples defining the points from which to interpolate the cubic spline that will delineate the tendon geometry. e.g. [(x1,y1,z1),(x2,y2,z2),…]. For straight tendon only two 3Dcoordinate tuples are provided defining the two extremities of the tendon.
 roughCoordMtr – matrix 3*n_rough_ptos [[x1,x2, ..],[y1,y2,..],[z1,z2,..]]

ScoordToXYprojCoord
(Scoord)¶ return the projected XYcoordinate of the tendon point corresponding to the value Scoord given as parameter

applyStressLossToElems
(stressLossMtr)¶ Apply stress loss in each tendon element with the corresponding value of stress loss defined in stressMtr
Parameters: stressLossMtr – matrix of dimension 1*number of nodes in the tendon with the loss of stress to be applied to each of the elements (from left to right)

applyStressToElems
(stressMtr)¶ Apply stress in each tendon element with the corresponding value of stress defined in stressMtr
Parameters: stressMtr – matrix of dimension 1*number of nodes in the tendon with the stress to be applied to each of the elements (from left to right)

creaTendonElements
(preprocessor, materialName, elemTypeName, crdTransfName, areaTendon, setName)¶ Creates the nodes and elements of the tendon and appends them to the set returned. Creates also the attribute lstOrderedElems as a list with the elements of the tendon ordered from left to right.
Parameters:  preprocessor – preprocessor
 materialName – name of the material
 elemTypeName – name of the type of element
 crdTransfName – name of the coordinate transformation
 areaTendon – area of the crosssection of the tendon
 setName – name of the set to which append the nodes and elements created (if the set doesn’t exist, it’s created)

fAnc_ext1
(s)¶ Funtion to minimize when searching the point from which the tendon is not affected by the anchorage slip in extremity 1

fAnc_ext2
(s)¶ Funtion to minimize when searching the point from which the tendon is not affected by the anchorage slip in extremity 2

getAngleSequence
()¶ Return for each point in fineCoordMtr the deviation deviation (angle in rad) with respect to the preceding point

getCumAngle
()¶ Return for each point in fineCoordMtr the cumulative angular deviation (angle in rad) of the tendon from its starting point

getCumLength
()¶ Return for each point in fineCoordMtr the cumulative length of tendon from its starting point

getLengthSequence
()¶ Return for each point in fineCoordMtr the distance to the preceding point

getLossAnchor
(Ep, anc_slip_extr1=0.0, anc_slip_extr2=0.0)¶ Return an array that contains for each point in fineCoordMtr the cumulative loss of prestressing due to anchorage. Loss due to friction must be previously calculated
Parameters:  Ep – elasic modulus of the prestressing steel
 anc_slip_extr1 – anchorage slip (data provided by the manufacturer of the anchorage system) at extremity 1 of the tendon (starting point) (= deltaL)
 anc_slip_extr2 – anchorage slip at extremity 2 of the tendon (ending point) (= deltaL)

getLossFriction
(coefFric, k, sigmaP0_extr1=0.0, sigmaP0_extr2=0.0)¶ Return an array that contains for each point in fineCoordMtr the cumulative immediate loss of prestressing due to friction. The method also creates the attribute stressAfterLossFriction, of type array, that contains for each point in fineCoordMtr the stress after after this loss (it is used in calculation of losses due to anchorage slip)
Parameters:  sigmaP0_extr1 – maximum stress applied at the extremity 1 of the tendon (starting point) (stress refers to its value at the end of the anchorage, in the contact with concrete). Defaults to 0.0 (no prestress applied)
 sigmaP0_extr2 – idem for prestress applied at extremity 2 (end point of the tendon). Defaults to 0.0 (no prestress applied)
 coefFric – coefficient of friction between the tendon and its sheathing
 k – wobble coefficient or coefficient for wave effect, that refers to the unintentional deviation of the position of the tendon along the duct. It’s expressed by unit length of tendon. The value of k varies from 0.0015 to 0.0050 per meter length of the tendon depending on the type of tendon.

getReverseCumAngle
()¶ Return for each point in fineCoordMtr the cumulative angular deviation (angle in rad) of the tendon from its ending point

getReverseCumLength
()¶ Return for each point in fineCoordMtr the cumulative length of tendon from its ending point

plot2D
(XaxisValues='X', axisEqualScale='N', symbolRougPoints=None, symbolFinePoints=None, symbolTendon=None, resultsToPlot=[])¶ Return in a 2D graphic the results to which a symbol is assigned. Symbol examples: ‘r‘: red solid line, ‘mo’: magenta circle, ‘b–’: blue dashes, ‘ks’:black square,’g^’ green triangle_up, ‘c*’: cyan star, … :param XaxisValues: =’X’ (default) to represent in the diagram Xaxis
the X coordinates of the tendon, =’Y’ to represent in the diagram Xaxis
 the Y coordinates of the tendon,
 =’XY’ to represent in the diagram Xaxis
 the coordinate by the projection of the curve on the XY plane
Parameters:  axisEqualScale – =’Y’, ‘y’,’yes’ or ‘Yes’ for equal aspect ratio (defaults to ‘N’)
 resultsToPlot –
list of results to plot. Each result to be displayed is input with the following parameters: (matRes,symb,label), where:  matRes: is the matrix of dimension 1*number of elements in the
tendon with the value of the result for each of those elements symb: is the symbol to use for representing this result
 label: is the text to label this result

plot3D
(axisEqualScale='N', symbolRougPoints=None, symbolFinePoints=None, symbolTendon=None, resultsToPlot=[])¶ Return in a 3D graphic the results to which a symbol is assigned. Symbol examples: ‘r‘: red solid line, ‘mo’: magenta circle, ‘b–’: blue dashes, ‘ks’:black square,’g^’ green triangle_up, ‘c*’: cyan star, … :param axisEqualScale: =’Y’, ‘y’,’yes’ or ‘Yes’ for equal aspect ratio
(defaults to ‘N’)Parameters: resultsToPlot – list of results to plot. Each result to be displayed is input with the following parameters: (matRes,symb,label), where:  matRes: is the matrix of dimension 1*number of elements in the
tendon with the value of the result for each of those elements symb: is the symbol to use for representing this result
 label: is the text to label this result

pntsInterpTendon
(nPntsFine, smoothness, kgrade=3)¶ Generates a cubic spline (default) or a spline of grade kgrade interpolation from the rough points and calculates its value and the value of its derivative in nPntsFine equispaced. Creates the following attributes:
 fineCoordMtr: matrix with coordinates of the interpolated points
[[x1,x2, ..],[y1,y2,..],[z1,z2,..]]  fineDerivMtr: matrix with the vector representing the derivative in each interpolated  tck: tuple (t,c,k) containing the vector of knots, the Bspline
coefficients, and the degree of the spline. fineScoord: curvilinear coordinate (cummulative length of curve
 for in each point)
 fineProjXYcoord: coordinate by the projection of the curve on the XY
plane. Matrix 1*nPntsFine whose first elements is 0 and the rest the cumulative distance to the first point

pntsStraightTendon
(eSize)¶ Interpolates coordinates in the straight line defined by two points in lstRoughPnt, spaced eSize. Creates attribute:
 fineCoordMtr: matrix with coordinates of the interpolated points
[[x1,x2, ..],[y1,y2,..],[z1,z2,..]]

materials.prestressing.prestressed_concrete.
angle_between
(a, b)¶ Return the angle between vectors a and b

materials.prestressing.prestressed_concrete.
set_axes_equal
(ax)¶ Make axes of 3D plot have equal scale so that spheres appear as spheres, cubes as cubes, etc.. This is one possible solution to Matplotlib’s ax.set_aspect(‘equal’) and ax.axis(‘equal’) not working for 3D.
 Input
 ax: a matplotlib axis, e.g., as output from plt.gca().