k_mm = 0.0017 * 1e-3 #wobble coefficient per millimeter length of cable [1/mm] k_m = 0.0017 #wobble coefficient per meter length of cable [1/m] sigmap0max_mm = 1239 #Initial stress of cable [MPa] sigmap0max_m = 1239e6 #Initial stress of cable [Pa] # Interpolation n_points_rough = 5 #number of points provided to the interpolation algorithm n_points_fine = 101 #number of points interpolated #Anchorage slip deltaL_mm = 5 #anchorage draw-in (provided by manufacturer) [mm] deltaL_m = 5e-3 #anchorage draw-in (provided by manufacturer) [m] #Exact parabola from model.geometry import geom_utils a, b, c = geom_utils.fit_parabola(x=np.array([0, lBeam_mm / 2.0, lBeam_mm]), y=np.array([eEnds, eMidspan_mm, eEnds])) x_parab_rough, y_parab_rough, z_parab_rough = geom_utils.eq_points_parabola( 0, lBeam_mm, n_points_rough, a, b, c, angl_Parab_XZ) #Tendon [mm] definition, layout and friction losses tendon_mm = presconc.PrestressTendon([]) tendon_mm.roughCoordMtr = np.array( [x_parab_rough, y_parab_rough, z_parab_rough]) #Interpolated 3D spline tendon_mm.pntsInterpTendon(n_points_fine, smoothness=1, kgrade=3) # Losses of prestressing due to friction lssFrict_mm = tendon_mm.getLossFriction(coefFric=mu, k=k_mm, sigmaP0_extr1=sigmap0max_mm, sigmaP0_extr2=0.0) # Losses of prestressing due to anchorage slip (loss due to friction must be
#TENDONS #Material prestressingSteel = tm.defSteel02(preprocessor=preprocessor, name="prestressingSteel", E=Ep, fy=fy, b=0.001, initialStress=fpi) #Geometry n_points_rough = 5 #number of points provided to the interpolation algorithm n_points_fine = 91 #number of points interpolated #Exact parabola from model.geometry import geom_utils a, b, c = geom_utils.fit_parabola(np.array([0, span / 2.0, span]), np.array([eEnds, eMidspan, eEnds])) x_parab_rough, y_parab_rough, z_parab_rough = geom_utils.eq_points_parabola( 0, span, n_points_rough, a, b, c, 0) #Tendon1 definition, layout tendon1 = presconc.PrestressTendon([]) tendon1.roughCoordMtr = np.array([x_parab_rough, y_parab_rough, z_parab_rough]) #Interpolated 3D spline tendon1.pntsInterpTendon(n_points_fine, 1) #Plot #tendon1.plot2D(XaxisValues='X',fileName='plot.png',symbolRougPoints='r*',symbolFinePoints='g+',symbolTendon='g-') corCooTr = modelSpace.newLinearCrdTransf(trfName='corCooTr', xzVector=xc.Vector([0, -1, 0])) nodes.defaultTag = 101 tendon1Set = tendon1.creaTendonElements(preprocessor=preprocessor, materialName='prestressingSteel',
Ep=195e3 #elastic modulus of prestressing steel [MPa] #Prestressing process mu=0.25 #coefficient of friction between the cables and their sheating k=0.0017*1e-3 #wobble coefficient for milimiter length of cable sigmap0max=1239 #Initial stress of cable [MPa] # Interpolation n_points_rough=5 #number of points provided to the interpolation algorithm n_points_fine=101 #number of points interpolated #Anchorage slip deltaL=5 #anchorage draw-in (provided by manufacturer) [mm] #Exact parabola from model.geometry import geom_utils a,b,c=geom_utils.fit_parabola(x=np.array([0,lBeam/2.0,lBeam]), y=np.array([eEnds,eMidspan,eEnds])) x_parab_rough,y_parab_rough,z_parab_rough=geom_utils.eq_points_parabola(0,lBeam,n_points_rough,a,b,c,angl_Parab_XZ) #Tendon prestressed from extremity 1 (left-end) #Tendon definition, layout and friction losses tendon1=presconc.PrestressTendon([]) tendon1.roughCoordMtr=np.array([x_parab_rough,y_parab_rough,z_parab_rough]) #Interpolated 3D spline tendon1.pntsInterpTendon(n_points_fine,smoothness=1,kgrade=3) # Losses of prestressing due to friction lssFrict1=tendon1.getLossFriction(coefFric=mu,k=k,sigmaP0_extr1=sigmap0max,sigmaP0_extr2=0.0) # Losses of prestressing due to anchorage slip (loss due to friction must be # previously calculated lssAnch1=tendon1.getLossAnchor(Ep=Ep,anc_slip_extr1=deltaL,anc_slip_extr2=0.0) #Tendon prestressed from extremity 2 (right-end)