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 3D-coordinate 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 3D-coordinate 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 cross-section 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 X-axis
the X coordinates of the tendon,- =’Y’ to represent in the diagram X-axis
- the Y coordinates of the tendon,
- =’XY’ to represent in the diagram X-axis
- 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 B-spline
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().