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
Esempio n. 2
0
#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)