Arch bridge base

Base classes for arch bridge calculations.

based on Maria Garlock’s papers: file: L4_-_Arches_Jan_11_-_final.pdf file: L8-_Tied_Arches_Jan_10.pdf

class rough_calculations.arch_bridge_rough_base.ArchBridgeRoughModelBase(L, d)

Bases: object

Base class for arch bridge rough models

Variables
  • d – rise (depth) of the arch at midspan

  • L – horizontal distance between supports

getQunfHabtm(qunif)

Horizontal reaction at each abutment due to a uniform load.

Parameters

qunif – uniformly distributed load applied to the arch

getQunfVabtm(qunif)

Vertical reaction at each abutment due to a uniform load.

Parameters

qunif – uniformly distributed load applied on the deck

Arch bridge simple model

Simple analysis model for arch bridges.

based on Maria Garlock’s papers: file: L4_-_Arches_Jan_11_-_final.pdf file: L8-_Tied_Arches_Jan_10.pdf

class rough_calculations.arch_bridge_simple_model.ArchBridgeRoughModel(L, d)

Bases: rough_calculations.arch_bridge_rough_base.ArchBridgeRoughModelBase

Arch bridge simple model

getMmaxQconc(Qconc)

maximum bending moment in a parabolic three hinged arch produced by concentrated live forces placed at quarterspans The bending moment is maximum at the quarterpoints

getQconcCompStress(Qconc, A)

Approximation of the compressive stress in a section of the three hinged arch with area=A, due to a two concentrated loads in quarterpoints. for simplicity, it’s considered the compressive force at the midspan (H, that, in turn, i equal to the horizontal reaction at the abutment) as an approximation for the compressive force in the arch at any location

getQconcHabtm(Qconc)

Horizontal reaction at each abutment of a three hinged arch due to a two concentrated loads in quarterpoints

getQconcVabtm(Qconc)

Vertical reaction at each abutment of a three hinged arch due to two concentrated loads in quarterpoints

getQunfCompStress(qunif, A)

Approximation of the compressive stress in a section of the arch with area=A, due to a uniform load qunif. for simplicity, it’s considered the compressive force at the midspan (H, that, in turn, i equal to the horizontal reaction at the abutment) as an approximation for the compressive force in the arch at any location

Masonry vault

Based on the thesis: Capacité portante de ponts en arc en maçonnerie de pierre naturelle - Modèle d’évaluation intégrant le niveau d’endommagement. Alix Grandjean (2010). documenturl: https://infoscience.epfl.ch/record/142552/files/EPFL_TH4596.pdf

class rough_calculations.masonry_vault.FillingCharacteristics(a=0.5235987755982988, c=0.0, mp=0.33, mc=0.01, alpha=0.726, beta=6.095, swFill=18000.0, swSupStr=20000.0, fillThick=9, eqThickRoad=0.5)

Bases: object

alpha = 0.726
angPhi = 0.5235987755982988
beta = 6.095
cohesion = 0
eqThickRoad = 0.5
fillThick = 9
getKc()
getKp()

coefficient de poussée des terres

mc = 0.01
mp = 0.33
printResults()
swFill = 18000.0
swSupStr = 20000.0
class rough_calculations.masonry_vault.archGeometry(coefPolArch=[0, 0, 0, 0], XRot=[0, 0, 0, 0], arcThick=0, arcSpan=15, arcEffL=4)

Bases: object

Geometric definition of the arc:

Variables
  • coefPolArch=[f,j,k,r] – Coefficients of polynomial y=fx^4+jx^3+kx^2+rx+u (u=0)

  • XRot=[xA,xB,xC,xD] – X coordinates of the rotules A,B,C,D [m]

  • arcThick – arch thickness [m]

  • arcSpan – arch span [m]

  • arcEffL – effective arch width [m]

aux1(x1, x0)

Aux function.

aux2(x2)

Aux function.

calcGamma(x)

Angle of tangent to arc at x.

check(x_i, y_i)
checkAbscissa(x)
getDistxAB()
getDistxAC()
getDistxBD()
getGammaD()

angle at rotule D

getS()

Rise to span ratio.

getYKeystone()

Y coordinate in keystone of arch (at arcSpan/2)

getYRot()

YRot=[yA,yB,yC,yD]: Y coordinate of rotules A,B,C,D [m]

plot()

Draws the arc and the hinges in matplotlib.

printResults()
yAxis(x)

Polynomial intevrpolation for arc’s axis.

rough_calculations.masonry_vault.calcE6p27(X, qrep, L, LR, v, l, a, b, hA, hB, hC, hD, xA)

Grandeur E pour le changement de variable selon l’equation 6.27

rough_calculations.masonry_vault.calcF6p28(R, LR, a, b, eta, phiS, etaW, psiT, MA, MB, MC, RzB, RzD, hA, hB, hC, hD)

Grandeur F pour le changement de variable selon l’equation 6.28

rough_calculations.masonry_vault.calcG6p29(X, qrep, L, LR, v, l, a, b, hA, hB, hC, hD, xA, gammaD)

Grandeur G pour le changement de variable selon l’equation 6.29

rough_calculations.masonry_vault.calcH6p30(LR, a, eta, psi, phiS, etaW, MA, MB, MC, RzB, hA, hB, hC, hD, gammaD)

Grandeur H pour le changement de variable selon l’equation 6.30

rough_calculations.masonry_vault.calcHA6p19(n, X, qrep, L, LR, v, l, a, b, hA, hB, hC, hD, xA, etaW, MA, MB, MC, RzB, phiS)

Effort horizontal dans la rotule A selon l’equation 6.19

Parameters
  • n – Multiplicateur limite des charges utiles (voir 6.32)

  • qrep – charge repartie

rough_calculations.masonry_vault.calcHB6p21(n, X, qrep, L, LR, v, l, a, b, hA, hB, hC, hD, xA, etaW, MA, MB, MC, RzB, phiS, R)

Effort horizontal dans la rotule B selon l’equation 6.21

Parameters
  • n – Multiplicateur limite des charges utiles (voir 6.32)

  • qrep – charge repartie

  • R – Resultante de la force horizontale (voir 6.12 et A 12.1)

rough_calculations.masonry_vault.calcVA6p20(n, X, qrep, L, LR, v, l, a, b, hA, hB, hC, hD, xA, etaW, MA, MB, MC, RzB, phiS)

Effort vertical dans la rotule A selon l’equation 6.20

Parameters
  • n – Multiplicateur limite des charges utiles (voir 6.32)

  • qrep – charge repartie

rough_calculations.masonry_vault.calcVB6p22(n, X, qrep, L, LR, v, l, a, b, hA, hB, hC, hD, xA, etaW, MA, MB, MC, RzB, phiS, eta)

Effort vertical dans la rotule B selon l’equation 6.22

Parameters
  • n – Multiplicateur limite des charges utiles (voir 6.32)

  • qrep – charge repartie

rough_calculations.masonry_vault.calcn6p32(alpha, beta, d, v, E, F, G, H)

Multiplicateur de la charge utile.

rough_calculations.masonry_vault.diagInteraction(N, d, v, alpha, beta)

Moment de flexion qui correspond au axil N au diagramme d’interaction.

rough_calculations.masonry_vault.getAdmissibleAxialForce(S)

Normal axial force as in table 8.1.

rough_calculations.masonry_vault.lQtrans(a, delta, hRcle)

Longueur participante pour la charge transversale (voir eqs. 6.16 et 6.17).

class rough_calculations.masonry_vault.permLoadResult(gm, fc)

Bases: object

Permanent load resultants

fc = <rough_calculations.masonry_vault.FillingCharacteristics object>
getEta()

Résultante des charges permanentes sur l’overture active de l’arc (fig. 6.9) [N]

getEtaW()
getPhi()

résultante des charges permanentes solicitant la portion d’arc comprise entre les rotules A et C (fig. 6.9) [N]

getPhiS()

moment de flexion induit par la résultante phi de la charge permanente entre A et C, par rapport à la rotule C (fig. 6.9) [Nm]

getPsi()

résultante des charges permanentes solicitant la portion d’arc comprise entre les rotules D et B (fig. 6.9) [N]

getPsiT()

moment de flexion induit par la résultante psi de la charge permanente entre D et B, par rapport à la rotule D (fig. 6.9) [Nm]

getR()

résultant de la poussée laterale entre les rotules B et D [N]

getRzB()

moment de flexion induit par la résultant de la poussée laterale entre les rotules B et D, par rapport à la rotule B [Nm]

getRzD()

moment de flexion induit par la résultant de la poussée laterale entre les rotules B et D, par rapport à la rotule D [Nm]

gm = <rough_calculations.masonry_vault.archGeometry object>
printResults(fillChar)
class rough_calculations.masonry_vault.resistance(Nadmis, gm, fc, tl, plR, tlR)

Bases: object

getE()
getF()
getG()
getH()
getHA()

Effort horizontal dans la rotule A.

getHB()

Effort horizontal dans la rotule B.

getMadmis()

Moment de flexion admis (voir 5.17 et A 7.15) [Nm]

getMinimFunc(x)
getSafCoef()

Safety coefficient - Multiplicateur limite des charges utiles (voir 6.32)

getVA()

Effort vertical dans la rotule A.

getVB()

Effort vertical dans la rotule B.

minimize()
printResults()
class rough_calculations.masonry_vault.trafficLoad(delta=0.5235987755982988, fillThickKeys=1.5, Q=160000, qrep=5000.0)

Bases: object

Q = 160000
delta = 0.5235987755982988
fillThickKeys = 1.5
qrep = 5000.0
class rough_calculations.masonry_vault.trafficLoadResult(gm, tl)

Bases: object

Traffic load resultants

getX()

Punctual traffic load after longitudinal and transversal difussion (see 6.18) [Pa]

getlQt()
getqtrans()

Uniform traffic load [N/m] after transverse diffusion (see 6-15)

getvQt()
gm = <rough_calculations.masonry_vault.archGeometry object>
printResults()
tl = <rough_calculations.masonry_vault.trafficLoad object>
rough_calculations.masonry_vault.vQtrans(v, delta, hRcle)

Largeur participante pour la charge transversale (voir 6.5 et figure 6.13).

Vault

class rough_calculations.vaults_rough_calc.SphericalDome(sphRadius, alpha)

Bases: object

Rough calculation of a spherical dome

Variables
  • sphRadius – radius of curvature (spherical radius)

  • alpha – angle from the top of the dome to the bottom of the dome measured along the meridian [radians]

getHoopLinearForce(qVsurf, Phi)

Return the hoop force per unit length

Parameters
  • qVsurf – surface load over the dome

  • Phi – angle along meridian (from vertical), so that at the peak of dome Phi=0 and at the dome’s edge Phi=alpha [radians]

getHorizSupportReaction(qVsurf)

Return the horizontal linear reaction at the base of the dome due to a uniform surface load qVsurf over the dome

getMeridionalSupportReaction(qVsurf)

Return the meridional linear reaction at the base of the dome due to a uniform surface load qVsurf over the dome

getMeridonialLinearForce(qVsurf, Phi)

Return the meridonial force per unit length

Parameters
  • qVsurf – surface load over the dome

  • Phi – angle along meridian (from vertical), so that at the peak of dome Phi=0 and at the dome’s edge Phi=alpha [radians]

getPlanRadius()

Return the planar radius of the dome at the base

getRise()

Return the height (or rise) of the dome

getSpan()

Return the span of the dome

getSurfArea()

Return the surface area of the dome

getTensionForceRing(qVsurf)

Return the tension force in the base ring due to a uniform surface load qVsurf over the dome

getVerticalSupportReaction(qVsurf)

Return the vertical linear reaction at the base of the dome due to a uniform surface load qVsurf over the dome

class rough_calculations.vaults_rough_calc.hyparUmbrella(lx, ly, zMax, zSupp, thickness)

Bases: object

Rough calculation of a hyperbolic paraboloid umbrella :ivar lx: size of one tympan (one-fourth of the umbrella) in X direction :ivar ly: size of one tympan (one-fourth of the umbrella) in Y direction :ivar zMax: Z coordinate of the umbrella corner :ivar zSupp: Z coordinate of the umbrella central point (on the support) :ivar thickness: thickness of the shell :ivar k: warping of the hyperbolic paraboloid

getCmax(pz)

return the maximum compression force in edge of umbrella

Parameters

pz – vertical load per unit area of ground projection

getCompStress(pz)

return the maximum compressive stress in the hypar

Parameters

pz – vertical load per unit area of ground projection

getLedge()

return the maximum length of half an umbrella edge

getLvalley()

return the length of the valley in the umbrella

getNxy(pz)

return shearing force in the hypar shell

Parameters

pz – vertical load per unit area of ground projection

getTensStress(pz)

return the maximum tensile stress in the hypar

Parameters

pz – vertical load per unit area of ground projection

getTmax(pz)

return the maximum tension force in edge of umbrella

Parameters

pz – vertical load per unit area of ground projection

getZ(x, y)

return Z coordinate of point (x,y)

Cable stayed_bridge simple model

From the notes of María E. Moreyra Garlock in the context of the course ‘The Art of Structural Engineering: Bridges

class rough_calculations.cable_stayed_bridge_simple_model.CableStayedBridgeRoughModel(l1)

Bases: object

Cable stayed bridge simple model

getHCable(q, theta)

Horizontal reaction at tower due to the cable.

Parameters
  • q – uniform load on the bridge deck.

  • theta – angle of the cable with the deck.

getNCable(q, theta)

Axial force in a cable

Parameters
  • q – uniform load on the bridge deck.

  • theta – angle of the cable with the deck.

getVCable(q)

Vertical reaction at tower due to the cable.

Parameters

q – uniform load on the bridge deck.

T beam bridges

rough_calculations.T_beam_bridges_rough_calc.loadDistrCourbon(P, e, distGirdAx)

Estimates the distribution of the live loads among the longitudinal girders according to the Courbon’s theory. In this method the effect of the variation of span is not at all considered. All the longitudinal beams are considered identical.

Parameters
  • P – total live load

  • e – eccentricity (+ or -) from the axis of the bridge of the live load (or COG of loads in case of multiple loads)

  • n – number of longitudinal girders

  • distGirdAx – list with the distances (+ or -)of all the girders from the axis of the bridge

return list of reactions for each of the longitudinal girders

Beam deflection

rough_calculations.beam_deflection.deflCantBeamMend(l, EI, M)

Maximum deflection in a cantilever beam with a couple moment at the free end

rough_calculations.beam_deflection.deflCantBeamPconcentr(l, EI, P, a)

Maximum deflection in a cantilever beam with a concentrated load at any point

rough_calculations.beam_deflection.deflCantBeamQunif(l, EI, q)

Maximum deflection in a cantilever beam with a uniformly distributed load

rough_calculations.beam_deflection.deflSimplSupBeamMend(l, EI, M)

Maximum deflection in a beam simply supported at ends with a couple moment at the right end

rough_calculations.beam_deflection.deflSimplSupBeamPconcentr(l, EI, P, b)

Maximum deflection in a beam simply supported at ends with a concentrated load at any point

rough_calculations.beam_deflection.deflSimplSupBeamQunif(l, EI, q)

Maximum deflection in a beam simply supported at ends with a uniformly distributed load

rough_calculations.beam_deflection.getFlechaVigaBiapQUnif(l, EI, q)

Beam deflection at mid-span for a simple supported beam under uniform load.

Parameters
  • l – span.

  • EI – bending stiffness.

  • q – load per unit length (uniform).

Beam

Base for beam formulas.

class rough_calculations.ng_beam.Beam(E: float = 1.0, I: float = 1.0, l: float = 1.0)

Bases: object

Base class for beam formulas.

Variables
  • E – elastic modulus.

  • I – moment of inertia of the beam section.

  • l – beam length.

EI()

Return the tangent stiffness.

computeCurvature(xi, M)

Compute curvature values.

Parameters
  • xi – abcissae.

  • M – bending moment function.

computeIncDeflection(x0, x1, M)

Compute increment of deflection between x0 and x1.

Parameters
  • x0 – interval beginning.

  • x1 – interval end.

  • M – bending moment function.

computeIncDeflectionValues(xi, M)

Compute increment of deflection between x0 and x1.

Parameters
  • xi – sample points.

  • M – bending moment function.

  • EI – bending stiffness.

computeIncTheta(x0, x1, M)

Compute increment of rotation between x0 and x1.

Parameters
  • x0 – interval beginning.

  • x1 – interval end.

  • M – bending moment function.

computeIncThetaValues(xi, M)

Compute the increment of rotation values in sample points.

Parameters
  • xi – sample points.

  • M – bending moment function.

computeThetaValues(xi, M)

Compute the increment of rotation values in sample points.

Parameters
  • xi – sample points.

  • M – bending moment function.

n = 20
samplePoints(x0, x1)

Return a list of sample points.

Parameters
  • x0 – interval beginning.

  • x1 – interval end.

  • n – number of divisions.

Cantilever

Cantilever formulas.

class rough_calculations.ng_cantilever.Cantilever(E: float = 1.0, I: float = 1.0, l: float = 1.0)

Bases: rough_calculations.ng_beam.Beam

Cantilever formulas.

getBendingMomentUnderConcentratedLoad(P, a, x)

Return the bending moment under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

  • x – position of the section.

getBendingMomentUnderUniformLoad(q, x)

Return the bending moment under uniform load.

Parameters
  • q – value of the uniform load.

  • x – position of the section.

getDeflectionUnderConcentratedLoad(P, a, x)

Return the deflection under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

  • x – position of the section.

getDeflectionUnderUniformLoad(q, x)

Return the deflection under uniform load.

Parameters
  • q – value of the uniform load.

  • x – position of the section.

getFundamentalBendingFrequencies(numModes, linearRho)

Return the fundamental bending frequencies of the beam.

Parameters
  • numModes – number of oscillation modes to compute.

  • linearRho – mass density per unit length.

getReactionUnderConcentratedLoad(P)

Return the reaction under concentrated load.

Parameters

P – value of the concentrated load.

getReactionUnderUniformLoad(q)

Return the reaction under uniform load.

Parameters

q – value of the uniform load.

getShearUnderConcentratedLoad(P, a, x)

Return the shear under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

  • x – position of the section.

getShearUnderUniformLoad(q, x)

Return the shear value at x.

Parameters
  • q – value of the uniform load.

  • x – position of the section.

Concrete slab

class rough_calculations.ng_concrete_slab.ConcreteSlab(l, L, thickness)

Bases: object

Concrete slab preliminary structural calculations

class rough_calculations.ng_concrete_slab.FourSidesPinnedConcreteSlab(l, L, thickness)

Bases: rough_calculations.ng_concrete_slab.ConcreteSlab

Four sides pinned concrete slab preliminary structural calculations

getMMax(p)

Returns maximum bending moment under the load p

Parameters

p – Total load over the slab.

Note

Formulas from Yvon Lescouarc’h ingénieur.

predimThickness(p)

Returns thickness for a four side supported slab

Parameters

p – Total load over the slab (N/m2).

Note

Formulas from Yvon Lescouarc’h ingénieur.

Column internal forces

rough_calculations.ng_column_loads.getColumnTributaryArea(L1, L2, L3, L4)

Tributary area of a column from the neighbour spans see «Números gordos en el proyecto de estructuras» page 44

Prestressed concrete

Rough calculations related to prestressed concrete (geometry, losses of prestress, …)

rough_calculations.ng_prestressed_concrete.loss_elastic_shortening_concr(Ac, Ic, Ec, Ep, Ap, ec_p, sigma_p_0, M_sw)

return a rough estimation of the loss of prestress in a section due to elastic shortening of concrete.

Parameters
  • Ac – cross-section area of concrete

  • Ic – moment of inertia of the concrete cross-section

  • Ec – modulus of elasticity of concrete

  • Ep – modulus of elasticity of prestressing steel

  • Ap – area of prestressing steel

  • ec_p – eccentricity of tendon (with respect to COG of concrete section)

  • sigma_p_0 – initial stress in tendon

  • M_sw – bending moment in the section due to self weight

rough_calculations.ng_prestressed_concrete.loss_friction(s, sigma_p_0, alpha_unit, mu, unint_dev)

return a rough estimation of the loss of prestress due to friction.

Parameters
  • s – cable length from start to section considered

  • sigma_p_0 – initial stress in tendon

  • alpha_unit – mean angular deviation per unit length. E.g.: Assimilating the parabolic profile of the cable to a circular profile the angular deviation is constant in the beam length and can be expressed as: 8*eccentricity_mid_span/Lbeam**2

  • unint_dev – unintentional angular deviation per unit length

class rough_calculations.ng_prestressed_concrete.prestressingWire(p0, p1, p2, x0, xL, y)

Bases: object

alpha(x)
curvature(x)
getForce(x, P)
getIntegratedU(P)
getL()
getPoint(x)
getU(x, P)
trace = None
x0 = 0.0
xL = 1.0
y = 0.0
z(x)
rough_calculations.ng_prestressed_concrete.sigma_concr_tendon_lev(Ac, Ic, Ec, Ep, Ap, ec_p, sigma_p_0, M_sw)

return a rough estimation of the stress in concrete at the level of the tendon.

Parameters
  • Ac – cross-section area of concrete

  • Ic – moment of inertia of the concrete cross-section

  • Ec – modulus of elasticity of concrete

  • Ep – modulus of elasticity of prestressing steel

  • Ap – area of prestressing steel

  • ec_p – eccentricity of tendon (with respect to COG of concrete section)

  • sigma_p_0 – initial stress in tendon

  • M_sw – bending moment in the section due to self weight

Punching shear

Rough design of concrete slabs under punching loads according to the

publication: “Números gordos en el proyecto de estructuras” by Juan Carlos Arroyo et al. ISBN: 97884932270-4-3. Cinter 2009.

https://books.google.es/books?id=tf5-tgAACAAJ

rough_calculations.ng_punching_shear.concrete_resisted_punching_load(concrete, d, a, b, criticalPerimeterLength=None)
Approximate design value of punching shear resistance of a slab without

punching shear reinforcement, computed at the critical perimeter defined to occur at d/2 from the column faces (HL.3 números gordos)

Parameters
  • concrete – concrete material.

  • d – effective depth of the floor deck

  • a,b – dimensions of the column

  • criticalPerimeterLength – length of the critical perimeter.

rough_calculations.ng_punching_shear.designPunchingLoad(qk, A)
Rough estimation of the punching shear load over a column

(HL.3 números gordos).

Parameters
  • qk – characteristic value of the total uniform load on the slab.

  • A – column tributary area.

rough_calculations.ng_punching_shear.maximum_punching_shear_load(concrete, d, a, b)

Estimate of the maximum punching shear resistance along the section at the intersection of the support contour with the deck (HL.3 números gordos).

(This is the maximum punching shear load you can transfer to the

column through the contact surface. This is the same type of limitation that the maximum shear forde that the strut can support in a )

If the shear load to resist is greater, then we need to.

  • increment the support dimensions (the cheaper solution)

  • increment the slab thickness (the better solution)

  • increase the concrete strength

Parameters
  • concrete – concrete material (N/m2)

  • d – effective depth of the slab (m)

  • a,b – dimensions of the column (m)

Result is expressed in N

rough_calculations.ng_punching_shear.punching_shear_reinforcement_area(concrete, steel, Vd, d, a, b, h, criticalPerimeterLength=None)
Estimate the needed punching shear reinforcement area

computed at the critical perimeter defined to occur at 2d from the column faces (HL.3 números gordos)

Parameters
  • concrete – concrete material.

  • steel – steel material.

  • Vd – Desing value of the punching shear (N)

  • d – effective depth of the floor deck (m)

  • h – slab depth (m).

  • a,b – dimensions of the column (m)

  • criticalPerimeterLength – length of the critical perimeter.

Reinforced concrete section

class rough_calculations.ng_rc_section.RCSection(tensionRebars, concrete, b, h, memberType=None)

Bases: object

Reinforced concrete section.

Variables
  • b – section width.

  • h – section depth.

  • concrete – concrete material.

  • tensionRebars – main reinforcement.

d()

Return the effective depth of the reinforcement.

Parameters

thickness – height of the rectangular section.

getAc()

Return the concrete area.

getAs()

Return the tension reinforcement area.

getCompressionReinforcementArea(dp, Nd, Md)
Return the required compression reinforcement area according

to expression for U’ in section 15.5 3º of the book: Hormigón Armado Jiménez Montoya et al. ISBN: 84-252-1825-X

Parameters
  • dp – effective cover of the compression reinforcement.

  • Nd – axial force (negative if compression).

  • Md – bending moment (positive if the returned area in compression).

getDimensionlessMomentRatio(MEd)

Return the ratio: MEd/(fcd*b*d^2).

getDimensionlessReinforcementRatio()

Return the ratio: As*fyd/(Ac*fcd).

getMR(Nd=0.0, Md=0.0, z=None)

Return the resisting moment of the section.

Parameters
  • Nd – axial force.

  • Md – bending moment.

  • z – inner lever arm (if None z= 0.9*d).

getMinReinfAreaInBending()
getMinReinfAreaInTension()

Return the minimun amount of bonded reinforcement.

getTensionReinforcementArea(Ap, dp, Nd, Md)
Return the required tension reinforcement area according

to expression for U’ in section 15.5 3º of the book: Hormigón Armado Jiménez Montoya et al. ISBN: 84-252-1825-X

Parameters
  • Ap – area of the compression reinforcement.

  • dp – effective cover of the compression reinforcement.

  • Nd – axial force.

  • Md – bending moment (positive if the returned area in compression).

getVR(Nd, Md)

Get the the shear resistance carried by the concrete.

Parameters
  • Nd – design axial force.

  • Md – design bending moment.

setReinforcement(tensionRebars)
writeResultCompression(outputFile, Nd, AsTrsv)

Results for compressed rebars.

Parameters

AsTrsv – Rebar area in transverse direction.

writeResultFlexion(outputFile, Nd, Md, Vd)
writeResultStress(outputFile, M)

Cheking of stresses under permanent loads (SIA 262 fig. 31)

writeResultTraction(outputFile, Nd)

Retaining wall

Routines for basement walls design.

class rough_calculations.ng_basement_wall.BasementWall(name='prb', concreteCover=0.04, stemBottomWidth=0.25, stemTopWidth=0.25, footingThickness=0.25, concrete=None, steel=None)

Bases: rough_calculations.ng_retaining_wall.RetainingWall

Basement retaining wall (propped cantilever).

genMesh(nodes, springMaterials)

Generate finite element mesh.

getSectionIntStem()

Returns RC section for reinforcement at stem interior.

writeResult(pth: str, includeGraphicsPath=None, convertToEPS=False)

Write reinforcement verification results in LaTeX format.

Parameters
  • pth – output path.

  • includeGraphicsPath – path for the includegraphics LaTeX command.

  • convertToEPS – if true, create a postscript version of the graphic output.

Diaphragm wall

class rough_calculations.predim_diaphragm_wall.DiaphragmWallRoughModel(digHeight, phreaticLevel, distAnch, firstExcavHeight, distLastAnchExc, unifLoad, distLoadWall)

Bases: object

Class intended to pre-design a diaphragm wall.

Variables
  • digHeight – maximum digging height [m]

  • phreaticLevel – phreatic level above maximum effective digging height [m]. It will be =0 or negative if phreatic level below maximum excavation level

  • distAnch – maximum distance between anchors [m] (= 0 or negative if no anchors)

  • firstExcavHeight – height of the first phase of excavation (cantilever) [m]

  • distLastAnchExc – distance from the last anchor to the bottom of excavation [m]

  • unifLoad – uniform load on the ground [kN/m2]

  • distLoadWall – distance from the back of the wall to the starting point where uniform load in applied [m]

getEffectDigHeight()

Return the maximum effective digging height

getFffectDistAnch()

Return effective distance between anchors

getWallEmbedmentDepth()

Return a pre-designed embedment depth [m]

getWallThickness()

Return a pre-designed diaphragm wall thickness [m]

printResult()
rough_calculations.predim_diaphragm_wall.side_line(pnt1, pnt2, pnt)

function to determine which side of the line from pnt1=(x1,y1) to pnt2=(x2,y2) a point pnt=(x,y) falls on.

All the points that return a value <0 lie on one side of the line and those that return a value >0 lie in the other side (if =0 -> in the line)

Basement wall

Routines for cantilever retaining walls design.

class rough_calculations.ng_retaining_wall.Envelope(yValues)

Bases: object

Store internal forces envelope.

filterRepeatedValues()

Filter repeated values.

getAbsMaximum()

Return the greatest value positive or negative

getMaximum()

Return the maximum of the positive envelope

getMinimum()

Return the minimum of the negative envelope

update(values)

Update envelopes.

Parameters

values – values to update the current envelope.

class rough_calculations.ng_retaining_wall.FootingReinforcement(wallGeom, concreteCover, steel)

Bases: rough_calculations.ng_retaining_wall.ReinforcementMap

Footing reinforcement.

bottomFootingIndex = 7
drawSchema(defStrings)

Footing scheme drawing in LaTeX format.

getSectionFootingBottom()

Returns RC section for reinforcement at footing bottom.

getSectionFootingBottomLongitudinal()

Returns RC section for longitudinal reinforcement at footing bottom.

getSectionTopFooting()

Returns RC section for reinforcement on footing top.

getShearForceAtFootingStemCorner()

Return the shear force at the vertical plane that passes through the corner formed by the footing top surface and the stem internal face.

longBottomFootingIndex = 8
longTopFootingIndex = 9
skinFootingIndex = 10
topFootingIndex = 3
writeResult(outputFile)

Write reinforcement verification results in LaTeX format.

class rough_calculations.ng_retaining_wall.InternalForces(y, ndEnvelope, mdEnvelope, vdEnvelope, NdFooting, MdFooting, VdFooting)

Bases: object

Internal forces for a retaining wall.

Variables
  • ndEnvelope – stem axial force design values.

  • mdEnvelope – stem bending moment design values.

  • vdEnvelope – stem shear force design values.

  • NdFooting – footing axial load design value.

  • MdFooting – footing bending moment design value.

  • VdFooting – footing shear force design value.

MdMax(y)

Max. bending moment (envelope) at height y.

Parameters

y – height to compute the shear force at.

MdMaxEncastrement(footingThickness)

Bending moment (envelope) at stem base.

Parameters

footingThickness – thickness of the footing.

MdMaxMidStem(footingThickness)

Max. bending moment (envelope) at the middle of the stem.

Parameters

footingThickness – thickness of the footing.

MdMin(y)

Min bending moment (envelope) at height y.

Parameters

y – height to compute the shear force at.

MdMinMidStem(footingThickness)

Min. bending moment (envelope) at the middle of the stem.

Parameters

footingThickness – thickness of the footing.

NdMax(y)

Max. axial force (envelope) at height y.

Parameters

y – height to compute the shear force at.

NdMaxEncastrement(footingThickness)

Bending moment (envelope) at stem base.

Parameters

footingThickness – thickness of the footing.

NdMin(y)

Max. axial force (envelope) at height y.

Parameters

y – height to compute the shear force at.

NdMinEncastrement(footingThickness)

Bending moment (envelope) at stem base.

Parameters

footingThickness – thickness of the footing.

VdMax(y)

Max. shear (envelope) at height y.

Parameters

y – height to compute the shear force at.

VdMaxEncastrement(footingThickness, epaisseurEncastrement)

Shear force (envelope) at stem base.

Parameters

epaisseurEncastrement – thickness of the stem bottom.

VdMaxMidStem(footingThickness)

Max. shear (envelope) at the middle of the stem.

Parameters

footingThickness – thickness of the footing.

VdMin(y)

Min. shear (envelope) at height y.

Parameters

y – height to compute the shear force at.

VdMinMidStem(footingThickness)

Min. shear (envelope) at the middle of the stem.

Parameters

footingThickness – thickness of the footing.

clone()

Return a copy of this object.

getYStem(hCoupe)

Return the depth corresponding to the height argument.

Parameters

hCoupe – height with respect to the footing midplane.

interpolate()
writeGraphic(fileName)
Draws a graphic of internal forces (envelopes) in

the wall stem.

Parameters

fileName – name of the output file.

class rough_calculations.ng_retaining_wall.ReinforcementMap(concreteCover=0.04, steel=None, rebarFamilyTemplate=None)

Bases: dict

Simplified reinforcement for a cantilever retaining wall.

Variables
  • concreteCover – concrete cover for rebars.

  • steel – reinforcement steel type.

  • rebarFamilyTemplate – reinforcement template.

getBasicAnchorageLength(index, concrete)

Returns basic anchorage length for the reinforcement at “index”.

Parameters
  • index – key of the reinforcement bar in this map.

  • concrete – concrete material.

getReinforcement(index)

Return reinforcement at index.

Parameters

index – index of the reinforcement to get.

setReinforcement(index, reinforcement)

Set reinforcement.

Parameters
  • index – index of the reinforcement to set.

  • reinforcement – reinforcement to set.

class rough_calculations.ng_retaining_wall.RetainingWall(name='prb', concreteCover=0.04, stemHeight=2.5, stemBottomWidth=0.25, stemTopWidth=0.25, stemBackSlope=0.0, footingThickness=0.25, bToe=0.5, bHeel=1.0, concrete=None, steel=None, title=None, smoothPrecastFoundation=False)

Bases: model.geometry.retaining_wall_geometry.CantileverRetainingWallGeometry

Cantilever retaining wall.

Variables
  • b – wall lenght (defaults to 1.0).

  • numberOfStemSets – number of element sets along the stem height.

  • stemBottomWidth – (float) Stem width at his contact with the footing.

  • stemTopWidth – (float) Stem width at his top.

  • stemBackSlope – (float) Stem back slope expressed as H/V ratio.

  • footingThickness – (float) Thickness of the footing.

  • smoothPrecastFoundation – true if the wall has a precast foundation with a smooth contact with the soil.

b = 1.0
clearFEProblem()
createBackfillPressures(pressureModel, Delta=0.0, beta=0)

Create backfill earth pressures over the wall.

Parameters
  • pressureModel – (obj) earth pressure model for the backfill.

  • Delta – angle of the earth pressure with respect to the stem back face.

  • beta – slope inclination of backfill.

createConcreteSectionDistribution()

Define spatial distribution of reinforced concrete sections from the properties assingned to the elements.

createDeadLoad(heelFillDepth, toeFillDepth, rho=2000, grav=9.80665)

Create the loads of earth self weigth.

Parameters
  • heelFillDepth – depth of the fill that rests on the wall heel.

  • toeFillDepth – depth of the fill that rests on the wall toe.

  • rho – density of the concrete material.

  • grav – gravitational acceleration.

createEarthPressureLoadOnHeelEnd(pressureModel, Delta=0.0)
Create the loads of the earth pressure over the vertical face

at the end of the heel.

Parameters
  • pressureModel – (obj) earth pressure model.

  • Delta – angle of the earth pressure with respect to the stem back face.

createEarthPressureLoadOnStem(pressureModel, vDir=<xc.Vector object>, Delta=0.0)

Create the loads of the earth pressure over the stem.

Parameters
  • pressureModel – (obj) earth pressure model.

  • vDir – (xc.Vector) direction for the pressures.

  • Delta – angle of the earth pressure with respect to the stem back face.

createEarthPressureLoadOnToeEnd(pressureModel)

Create the loads of the earth pressure over the vertical face at the end of the toe.

Parameters

pressureModel – (obj) earth pressure model.

createFEProblem(title)

Create finite element problem.

createFrontFillPressures(pressureModel, Delta=0.0)

Create front fill earth pressures over the wall.

Parameters
  • pressureModel – (obj) earth pressure model for the backfill.

  • Delta – angle of the earth pressure with respect to the stem back face.

createLinearElasticFEModel(prbName, kS)

Create a linear elastic FE model.

Parameters
  • prbName – name of the finite element problem.

  • kS – subgrade reaction modulus.

createLoadOnTopOfStem(loadVector)

Create a load acting on the node at the top of the stem.

Parameters

loadVector – (vector) vector defining the load.

createPressuresFromLoadOnBackfill(loadOnBackfill, Delta=0.0)
Create the pressures on the stem and on the heel dues to

a load acting on the backfill.

Parameters
  • loadOnBackfill – (obj) load acting on the backfill.

  • Delta – angle of the earth pressure with respect to the stem back face.

createSelfWeightLoads(rho=2500, grav=9.80665)

Create the loads of the concrete weight.

Parameters
  • rho – density of the concrete material.

  • grav – gravitational acceleration.

createVerticalLoadOnHeel(loadOnBackfill)

Create the loads over the heel dues to a load acting on the backfill.

Parameters

loadOnBackfill – (obj) load acting on the backfill.

drawSchema(pth)

Retaining wall scheme drawing in LaTeX format.

Parameters

pth – path for the output file.

genMesh(springMaterials)

Generate finite element mesh.

Parameters

springMaterials – spring materials for foundation winkler model.

getAdmissiblePressureSafetyFactor(R, sg_adm)

Return the factor of safety against bearing capacity of the soil.

Parameters
  • R – force on the bearing plane.

  • q_adm – (float) admissible bearing pressure.

getBearingPressure(R)

Return the bearing pressure.

Parameters

R – force on the bearing plane.

getBearingPressureSafetyFactor(R, foundationSoilModel, toeFillDepth, gammaR=1.0, q=0.0, NgammaCoef=2.0)

Return the factor of safety against bearing capacity of the soil.

Parameters
  • R – force on the bearing plane.

  • foundationSoilModel – soil model for the Brinch-Hansen analysis.

  • toeFillDepth – (float) depht of the soil filling over the toe.

  • gammaR – partial factor for bearing resistance.

  • q – (float) overburden uniform load over the foundation plane.

  • NgammaCoef – Coefficient to compute Ngamma value with the Brinch-Hansen formulas (see FrictionalCohesiveSoil class).

getEccentricity(R)

Return the eccenctricity of the loads acting on the retaining wall.

Parameters

R – (SlidingVectorsSystem3d) resultant of the loads acting on the retaining wall.

getEnvelopeInternalForces(envelopeNd, envelopeMd, envelopeVd, envelopeNdHeel, envelopeMdHeel, envelopeVdHeel)
getFoundationReinforcement()

Return the reinforcement of the foundation in the form of LongReinfLayers objects that will be used the check the reinforcement of the finite elements.

getFoundationRotation()

Returns the rotation of the foundation.

getFoundationSections()

Create the XC section material for the foundation.

getHeelEndNode()

Return the node at the heel end.

getHeelEndNodePosition()

Return the position of the node at the heel end.

getHeelInternalForces()

Return the minimum axial force and the maximum bending moment and shear force at the wall heel.

getMononobeOkabeDryOverpressure(backfillModel, kv, kh, delta_ad=0, beta=0, Kas=None, g=9.80665)

Return overpressure due to seismic action according to Mononobe-Okabe

Parameters
  • backfillModel – back fill terrain model

  • kv – seismic coefficient of vertical acceleration.

  • kh – seismic coefficient of horizontal acceleration.

  • delta_ad – angle of friction soil - structure.

  • beta – slope inclination of backfill.

getOverturningSafetyFactor(R, gammaR)

Return the factor of safety against overturning.

Parameters
  • R – (SlidingVectorsSystem3d) resultant of the loads acting on the retaining wall.

  • gammaR – (float) partial resistance reduction factor.

getReactions()

Return the reactions on the foundation.

getSlidingSafetyFactor(R, gammaR, foundationSoilModel, ignoreAdhesion=True)

Return the factor of safety against sliding.

Parameters
  • R – (SlidingVectorsSystem3d) resultant of the loads acting on the retaining wall.

  • gammaR – partial resistance reduction factor.

  • foundationSoilModel – (FrictionalCohesiveSoil) soil model.

  • ignoreAdhesion – if true don’t consider the adhesion of the foundation to the soil.

getStemInternalForces()
getStemReinforcement()

Return the reinforcement of the wall stem in the form of LongReinfLayers objects that will be used the check the reinforcement of the finite elements.

getStemSections(y)

Create the XC section material for the foundation.

Parameters

y – distance from the top of the stem.

getStemTopNode()

Return the node at the top of the stem.

getStemYCoordinates()
getToeEndNode()

Return the node at the toe end.

getToeEndNodePosition()

Return the position of the node at the toe end.

numberOfStemSets = 4
performGEOVerifications(combinations, foundationSoilModel, toeFillDepth, gammaRSliding, gammaRBearing, sg_adm=None, ignoreAdhesion=True, NgammaCoef=2.0)

Perform stability limit state analysis.

Parameters
  • combinations – load combinations to use in the analysis.

  • foundationSoilModel – model of the foundation soil.

  • toeFillDepth – depth of the fill that rests on the wall toe.

  • gammaRSliding – partial factor for sliding resistance.

  • gammaRBearing – partial factor for bearing resistance.

  • sg_adm – admissible stress of the terrain (optional).

  • ignoreAdhesion – if true don’t consider the adhesion of the foundation to the soil for sliding resistance.

performSLSAnalysis(combinations)

Perform serviceability limit state analysis.

Parameters

combinations – load combinations to use in the analysis.

performStabilityAnalysis(combinations, foundationSoilModel, toeFillDepth, sg_adm=None, ignoreAdhesion=True, NgammaCoef=2.0)

Perform stability limit state analysis.

Parameters
  • combinations – load combinations to use in the analysis.

  • foundationSoilModel – model of the foundation soil.

  • toeFillDepth – depth of the fill that rests on the wall toe.

  • sg_adm – admissible stress of the terrain (optional).

  • ignoreAdhesion – if true don’t consider the adhesion of the foundation to the soil for sliding resistance.

  • NgammaCoef – Coefficient to compute Ngamma value with the Brinch-Hansen formulas (see FrictionalCohesiveSoil class). See also D.4 in EC7 part 1.

performULSAnalysis(combinations)

Perform ultimate limit state analysis.

Parameters

combinations – load combinations to use in the analysis.

resultComb(nmbComb)

Solution and result retrieval routine.

setSLSInternalForcesEnvelope(wallInternalForces)
Assigns the serviceability limit state infernal forces envelope

for the stem.

Parameters

wallInternalForces – container for the wall internal forces.

setULSInternalForcesEnvelope(wallInternalForces)
Assigns the ultimate limit state infernal forces envelope

for the stem.

Parameters

wallInternalForces – container for the wall internal forces.

transferReinforcementToFEModel()

Transfer the reinforcement definition in foundationReinforcement and stemReinforcement to the corresponding properties of the model elements.

writeDef(pth: str, outputFile, includeGraphicsPath: str, convertToEPS=False)

Write wall definition in LaTeX format.

Parameters
  • pth – output path.

  • outputFile – LaTeX output file.

  • includeGraphicsPath – path for the includegraphics LaTeX command.

  • convertToEPS – if true, create a postscript version of the graphic output.

writeResult(pth: str, includeGraphicsPath=None, convertToEPS=False)

Write reinforcement verification results in LaTeX format.

Parameters
  • pth – output path.

  • includeGraphicsPath – path for the includegraphics LaTeX command.

  • convertToEPS – if true, create a postscript version of the graphic output.

writeStrengthResults(outputFile)

Write reinforced concrete strength results.

Parameters

outputFile – LaTeX output file.

class rough_calculations.ng_retaining_wall.StemReinforcement(wallGeom, concreteCover, steel)

Bases: rough_calculations.ng_retaining_wall.ReinforcementMap

Stem reinforcement.

drawSchema(defStrings)

Stem data for wall scheme drawing in LaTeX format.

extStemBottomIndex = 1
extStemIndex = 2
getSectionExtStemBottom()

Returns RC section for exterior reinforcement at stem bottom.

getSectionIntStemBottom()

Returns RC section for interior reinforcement at stem bottom.

getSectionStem(y, reinforcementIndex)

Returns RC section of the stem.

Parameters
  • y – depth of the section.

  • reinforcementIndex – index of the reinforcement for the section.

getSectionStemLongExt()

Returns RC section for longitudinal reinforcement in stem exterior.

getSectionStemLongInt()

Returns RC section for longitudinal reinforcement in stem interior.

getSectionStemTop()

Returns RC section for reinforcement at stem top.

getStemMemberType()

Return the member type of the stem (‘wall’ or ‘short wall’) depending on the joint spacing.

getYExtReinfChange()

Returns the depth where the exterior reinforcement of the stem chantes.

intStemBottomIndex = 4
intStemIndex = 5
longExtStemIndex = 11
longIntStemIndex = 12
topSkinIndex = 13
topStemIndex = 6
writeResult(outputFile)

Write stem reinforcement verification results in LaTeX format.

class rough_calculations.ng_retaining_wall.WallSLSResults(internalForces, rotation, rotationComb)

Bases: rough_calculations.ng_retaining_wall.WallULSResults

Results for the serviceability limit state checking.

writeOutput(outputFile, name)

Write results in LaTeX format.

class rough_calculations.ng_retaining_wall.WallStabilityResults(wall, combinations, foundationSoilModel, toeFillDepth, sg_adm=None, gammaRSliding=1.0, gammaRBearing=1.0, ignoreAdhesion=True, NgammaCoef=2.0)

Bases: object

Results of the wall stability analysis.

getDegreeOfUtilizationForAdmissiblePressure()

Return the degree of utilization obtained in the verification of resistance to sliding.

getDegreeOfUtilizationForBearingResistance()

Return the degree of utilization obtained in the verification of bearing resistance.

getDegreeOfUtilizationForOverturning()

Return the degree of utilization obtained in the verification of resistance to overturning.

getDegreeOfUtilizationForSliding()

Return the degree of utilization obtained in the verification of resistance to sliding.

getWorstCombinationForAdmissiblePressure()

Return the worst case for the verification of admissible pressure.

getWorstCombinationForBearingResistance()

Return the worst case for the verification of bearing resistance.

getWorstCombinationForOverturning()

Return the worst case for the verification for overturning.

getWorstCombinationForSliding()

Return the worst case for the verification of resistance to sliding.

writeOutput(outputFile, name)

Write results in LaTeX format.

Parameters
  • outputFile – output file.

  • name – wall name.

class rough_calculations.ng_retaining_wall.WallULSResults(internalForces)

Bases: object

Results for the ultimate limit state checking.

rough_calculations.ng_retaining_wall.filterRepeatedValues(yList, mList, vList)
Filter values that are repeated

in the list.

Parameters
  • yList – list of y coordinates.

  • mList – list of corresponding bending moments.

  • vList – list of corresponding shear forces.

Simple beam

Simple beam formulas.

class rough_calculations.ng_simple_beam.SimpleBeam(E: float = 1.0, I: float = 1.0, l: float = 1.0)

Bases: rough_calculations.ng_beam.Beam

Beam pinned in both ends.

computeDeflection(x, M)

Compute the deflection in x due to bending moment M.

Parameters
  • x – abscissa.

  • M – bending moment function.

computeDeflectionValues(xi, M)

Compute the increment of rotation values in sample points.

Parameters
  • xi – sample points.

  • M – bending moment function.

  • n – number of divisions.

getBendingMomentUnderConcentratedLoad(P, a, x)

Return the bending moment under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

  • x – position of the section.

getBendingMomentUnderUniformLoad(q, x)

Return the bending moment under uniform load.

Parameters
  • q – value of the uniform load.

  • x – position of the section.

getBendingMomentUnderUniformLoadPartiallyDistributed(q, a, b, x)
Return the bending moment at x when the beam is submitted to a

uniform partially distributed load.

Parameters
  • q – value of the uniform load.

  • a – distance from the left support to the beginning of the load.

  • b – length of the partial uniform load.

  • x – position of the section.

getDeflectionUnderConcentratedLoad(P, a, x)

Return the deflection under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

  • x – position of the section.

getDeflectionUnderUniformLoad(q, x)

Return the deflection under uniform load.

Parameters
  • q – value of the uniform load.

  • x – position of the section.

getFundamentalBendingFrequencies(numModes, linearRho)

Return the fundamental bending frequencies of the beam.

Parameters
  • numModes – number of oscillation modes to compute.

  • linearRho – mass density per unit length.

getReaction1UnderConcentratedLoad(P, a)

Return the reaction at left support under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

getReaction1UnderUniformLoadPartiallyDistributed(q, a, b)

Return the reaction on the left support when the beam is submitted to a uniform partially distributed load.

Parameters
  • q – value of the uniform load.

  • a – distance from the left support to the beginning of the load.

  • b – length of the partial uniform load.

getReaction2UnderConcentratedLoad(P, a)

Return the reaction at right support under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

getReaction2UnderUniformLoadPartiallyDistributed(q, a, b)

Return the reaction on the right support when the beam is submitted to a uniform partially distributed load.

Parameters
  • q – value of the uniform load.

  • a – distance from the left support to the beginning of the load.

  • b – length of the partial uniform load.

getReactionUnderUniformLoad(q)

Return the reaction under uniform load.

Parameters

q – value of the uniform load.

getShearUnderConcentratedLoad(P, a, x)

Return the shear under concentrated load.

Parameters
  • P – value of the concentrated load.

  • a – position of the load.

  • x – position of the section.

getShearUnderUniformLoad(q, x)

Return the shear value at x.

Parameters
  • q – value of the uniform load.

  • x – position of the section.

getShearUnderUniformLoadPartiallyDistributed(q, a, b, x)
Return the shear force at x when the beam is submitted to a

uniform partially distributed load.

Parameters
  • q – value of the uniform load.

  • a – distance from the left support to the beginning of the load.

  • b – length of the partial uniform load.

  • x – position of the section.

Simple bending reinforcement

Simplified routines for design reinforced concrete elements.

rough_calculations.ng_simple_bending_reinforcement.AsSimpleBending(M, fcd, fsd, b, d, c_depth=0.85)
Return the required reinforcement for a rectangular section

subjected to simple bending.

Parameters
  • M – bending moment to resist.

  • fcd – concrete design compressive strength (absolute value).

  • fsd – steel design yield strength.

  • b – section width.

  • d – section depth.

  • c_depth – depth of the concrete rectangular compression block (see figure 12 SIA 262:2013 or figure 39.5b of clause 39.5 b of EHE).

rough_calculations.ng_simple_bending_reinforcement.Mlim(fcd, b, d)
rough_calculations.ng_simple_bending_reinforcement.Mu(As, fcd, fsd, b, d, z=None, c_depth=0.85)

Return the ultimate bending moment of a rectangular section.

Parameters
  • As – reinforcement area.

  • fcd – concrete design compressive strength.

  • fsd – steel design yield strength.

  • b – section width.

  • d – section effective depth.

  • z – inner lever arm (if None z= 0.9*d).

  • c_depth – depth of the concrete rectangular compression block (see figure 12 SIA 262:2013 or figure 39.5b or clause 39.5 b of EHE)

rough_calculations.ng_simple_bending_reinforcement.neutralFiberDepth(M, fcd, b, d, c_depth=0.85)

Return the depth of the neutral fiber in a rectangular section.

Parameters
  • M – bending moment.

  • fcd – concrete design compressive strength.

  • b – section width.

  • d – section effective depth.

  • c_depth

    depth of the concrete rectangular compression block (see figure 12 SIA 262:2013 or figure 39.5b or

    clause 39.5 b of EHE)

Tied arch simple model

class rough_calculations.tied_arch_simple_model.TiedArchBridgeRoughModel(L, d)

Bases: rough_calculations.arch_bridge_rough_base.ArchBridgeRoughModelBase

Tied Arch bridge simple model

Variables
  • d – rise (depth) of the arch at midspan

  • L – horizontal distance between supports

getAxialForceArch(qunif)

Compressive axial force in the arch due to a uniform load.

Parameters

qunif – uniformly distributed load applied on the deck

getQunfCompStress(qunif, A)

Approximation of the compressive stress in a section of the arch with area=A, due to a uniform load qunif.

getTensionDeck(qunif)

Tension in the deck tie due to a uniform load.

Parameters

qunif – uniformly distributed load applied on the deck

Pile cap

Two pile cap design according to clause 58.4.1.2.1 of EHE-08.

class rough_calculations.ng_pile_cap.TwoPileCap(pileDiameter, mainReinfDiameter, reinfSteel, h=None, b=None, l=None, d=None, a=0.0, corbelLength=0.25)

Bases: object

Cap for a group of two piles.

Variables
  • pileDiameter – Diameter of the pile.

  • mainReinfDiameter – diameter of the main reinforcement.

  • h – depth of the pile cap.

  • l – length of the pile cap.

  • b – width of the pile cap.

  • d – distance between piles.

  • a – width of the supported column.

  • corbelLength – length of the corbel (minimum distance from the pile contour to the pile cap contour).

getAlpha()

Return the angle between the concrete compressed struts and the horizontal according to figure 58.4.1.2.1.1.a of EHE-08.

getBottomReinforcementReqArea(Nd)

Return the required area for the main reinforcement.

Parameters

Nd – design value of the axial load.

getEffectiveDepth()

Return the effective depth of the pile cap.

getHorizontalStirrupsReqArea()

Return the area of the required horizontal reinforcement. (ver números gordos HC.9 page 33).

getShearReinforcementReqArea()

Devuelve el área de reinforcement necesaria para los cercos verticales de un encepado de DOS pilotes (ver números gordos HC.9 page 33).

getSuitableDepth()

Return a suitable value for the depth of the pile cap.

getSuitableDistanceBetweenPiles()

Return a suitable value for the distance between piles.

getSuitableLength()

Return a suitable value for the length of the pile cap.

getSuitableWidth()

Return a suitable value for the width of the pile cap.

getTensionOnBottomReinforcement(Nd)

Returns the tension in the inferior reinforcement of the pile cap.

Parameters

Nd – design value of the axial load.

getTopReinforcementReqArea(Nd)
Return the required area for the main reinforcement according

to clause 58.4.1.2.1.2 of EHE-08.

Parameters

Nd – design value of the axial load.

Pile

Two pile cap design according to clause 58.4.1.2.1 of EHE-08.

class rough_calculations.ng_pile_cap.TwoPileCap(pileDiameter, mainReinfDiameter, reinfSteel, h=None, b=None, l=None, d=None, a=0.0, corbelLength=0.25)

Bases: object

Cap for a group of two piles.

Variables
  • pileDiameter – Diameter of the pile.

  • mainReinfDiameter – diameter of the main reinforcement.

  • h – depth of the pile cap.

  • l – length of the pile cap.

  • b – width of the pile cap.

  • d – distance between piles.

  • a – width of the supported column.

  • corbelLength – length of the corbel (minimum distance from the pile contour to the pile cap contour).

getAlpha()

Return the angle between the concrete compressed struts and the horizontal according to figure 58.4.1.2.1.1.a of EHE-08.

getBottomReinforcementReqArea(Nd)

Return the required area for the main reinforcement.

Parameters

Nd – design value of the axial load.

getEffectiveDepth()

Return the effective depth of the pile cap.

getHorizontalStirrupsReqArea()

Return the area of the required horizontal reinforcement. (ver números gordos HC.9 page 33).

getShearReinforcementReqArea()

Devuelve el área de reinforcement necesaria para los cercos verticales de un encepado de DOS pilotes (ver números gordos HC.9 page 33).

getSuitableDepth()

Return a suitable value for the depth of the pile cap.

getSuitableDistanceBetweenPiles()

Return a suitable value for the distance between piles.

getSuitableLength()

Return a suitable value for the length of the pile cap.

getSuitableWidth()

Return a suitable value for the width of the pile cap.

getTensionOnBottomReinforcement(Nd)

Returns the tension in the inferior reinforcement of the pile cap.

Parameters

Nd – design value of the axial load.

getTopReinforcementReqArea(Nd)
Return the required area for the main reinforcement according

to clause 58.4.1.2.1.2 of EHE-08.

Parameters

Nd – design value of the axial load.

Isolated footing

class rough_calculations.ng_isolated_footing.IsolatedFooting(B, Nk=10000.0, Sadm=150000.0, FiArmPilar=0.012, Lpilar=0.5)

Bases: object

Rough design of isolated footing.

Variables
  • B – Footing side dimension (m)

  • Nk – Characteristic value of axial load in pillar (N).

  • FiArmPilar – Column main rebars diameter (m)

  • Lpilar – Column depth (m)

getLaTeXHeader()
getLaTeXResults()
getNearSlopeReductionFactor(beta, d)
Coefficient of reduction of bearing capacity for pinned supported

footing near a slope. Expression proposed by Corté and Garnier (1994)

Parameters
  • beta – slope angle

  • d – horizontal distance between the slope and the nearest

foundation edge.

getReport()

Suspension bridge simple model

class rough_calculations.suspension_bridge_simple_model.SuspensionBridgeRoughModel(sag, da, Lm, Lb)

Bases: object

Suspension bridge simple model

getCableAxialForceAtMidSpan(q)

Returns the axial force of the cable at the tower

getCableAxialForceAtTower(q)

Returns the axial force of the cable at the tower

getCableSlopeAtTower(q)

Returns the slope (angle) of the cable at the tower

getHb(q)

Horizontal reaction at tower due to the back span.

getHm(q)

Horizontal reaction at tower due to the main span.

getVanchor(q)

Vertical reaction at anchor.

getVb(q)

Vertical reaction at tower due to the main span.

getVm(q)

Vertical reaction at tower due to the main span.

Minimal dimension of abutment support

dimension of abutment support to avoid the risk of bridge deck falling during a quake. See “Évaluation parasismique des ponts-routes existants (2005)” Office féderal des routes page 48).

https://doi.org/10.3929/ethz-a-005077557

rough_calculations.ng_min_dim_of_abutment_support.getBminPontAppuiFixe(l, a, soilClass, quakeZone, bridgeClass)

Returns the minimal dimension of abutment support to avoid the risk of bridge deck falling during a quake. See “Évaluation parasismique des ponts-routes existants” Office féderal des routes page 49). l: Deck length. (Distance between free and fixed abutments). a: expansion joint gap soilClass: A, B, C, D or E. quakeZone: ZI, ZII, ZIIa, ZIIIb bridgeClass: COI, COII, COIII

rough_calculations.ng_min_dim_of_abutment_support.getBminPontFlotant(dAbutFixedPoint, soilClass, quakeZone, bridgeClass)

Returns the minimal dimension of abutment support to avoid the risk of bridge deck falling during a quake. See “Évaluation parasismique des ponts-routes existants” Office féderal des routes page 48).

Parameters
  • dAbutFixedPoint – Distance between the abutment and the fixed point.

  • soilClass – A, B, C, D or E.

  • quakeZone – ZI, ZII, ZIIa, ZIIIb

  • bridgeClass – COI, COII, COIII

rough_calculations.ng_min_dim_of_abutment_support.getLg(soilClass)
Length lg for securing against falling, depending on the foundation

ground class. Accoding to table 6.2 of the OFROU document. For a length greater than de distance “lg” the soil mouvement can be considered as completely uncorrelated.

Parameters

soilClass – A, B, C, D or E.

rough_calculations.ng_min_dim_of_abutment_support.getUgd(soilClass, quakeZone, bridgeClass)

Returns the design value for soil displacement.

Parameters
  • soilClass – A, B, C, D or E.

  • quakeZone – ZI, ZII, ZIIa, ZIIIb

  • bridgeClass – COI, COII, COIII

Earth pressure

class rough_calculations.ng_earth_pressure.KreyEarthPressurUnderConcentratedLoad(P, a, phi)

Bases: object

P = None
Q = None
a = None
b = None
getLateralPressure(y, z)
getRatioY(y, z)
getRatioZ(y, z)
getZLimInf()
getZLimSup()
p_max = None
phi = None

Profile mechanical properties

rough_calculations.profile_mechanical_prop.Iprofile(h, b, tw, tf, r)

print(mechanical properties of an I-shaped profile)

  • Z: strong axis

  • Y: weak axis

Parameters
  • h – height

  • b – widht

  • tw – web thickness

  • tf – flange thickness

  • r – radius