Structural elements

Tensegrity

class model.geometry.tensegrity.tensegrityPrism(nSidPol, RbaseC, RtopC, Hprism=0, Lstruts=0)

Bases: object

This class is aimed at constructing the model of a rotationally symetric tensegrity prism with n-polygons on two parallel planes, twisted over angle alfa with respect to each other. The twist angle is obtained by the theorem of Tobie and Kenner as: alfa=pi/2-pi/n. The origin of the cartesian coordinate system is placed at the center of the base circle, with the z-axis in the axis of the cylinder and joint n+1.

Variables
  • nSidPol – number of sides of the regular n-polygon

  • RbaseC – radius of the base circle circunscribing the n-polygon

  • RtopC – radius of the top circle circunscribing the n-polygon

  • Hprism – heigth of the prism (defaults to 0, change its value only if we want to fix the height of the prism, otherwise Hprism is calculated as a function of the given length of the struts)

  • Lstruts – length of the stuts (defaults to 0, only change this value if we want to fix the length of the struts and calculate the height of the prism as a function of Lstruts)

  • alpha – twist angle

genJointsCoor()

return the cart. coord. of the joinst of a rotationally symetric tensegrity prism with n-polygons on two parallel planes, twisted over angle alfa with respect to each other. The twist angle is obtained by the theorem of Tobie and Kenner as: alfa=pi/2-pi/n. The origin of the cartesian coordinate system is placed at the center of the base circle, with the z-axis in the axis of the cylinder and joint n+1. ‘jt’ corresponds to joints in the top circle ‘jb’ corresponds to joints in the base circle

genLineLinkedJoints()

Return the joints id linked by each line (strut or cable) ‘strut’ corresponds to compression bars ‘sadd’ corresponds to saddle strings (cables forming the n-polygons) ‘diag’ corresponds to diagonal strings

Trusses

class model.geometry.truss_generators.FanTruss(lowerChordAxis, upperChordAxis, trussModule)

Bases: model.geometry.truss_generators.WarrenTruss

Fan truss.

computeJointPositions()

Compute the positions of the truss joints.

createDiagonalsGeometry()

Creates the geometry of the truss diagonals.

createPostsGeometry()

Creates the geometry of the Truss.

class model.geometry.truss_generators.TrussBase(lowerChordAxis, upperChordAxis, trussModule)

Bases: model.geometry.truss_generators.TrussGeometry

Base class for truss generators.

createChordsGeometry()

Creates the geometry of the truss chords.

createCoordTransformation(coordTransfType='linear')

Creates a coordinate transformation for the truss elements.

createGeometry(feProblem)

Creates the geometry of the Truss.

createKeyPoints(feProblem)

Create the key points for the Truss.

createSelfWeightLoads(grav)

Create the self weight loads for the elements of the truss.

Parameters
  • rho – material density

  • grav – gravity acceleration (vector).

createSets()

Defines the sets for the truss.

fillDownwards()

Updates the sets of the truss.

genMesh(feProblem)

Creates the elements.

class model.geometry.truss_generators.TrussGeometry(lowerChordAxis, upperChordAxis, trussModule)

Bases: object

Base class for truss overall geometry.

Variables
  • name – name of the truss (automatically assigned).

  • lowerChordAxis – axis of the lower chord.

  • upperChordAxis – axis of the upper chord.

  • moduleWidth – width of each truss

fixNodes(modelSpace)

Fix the supported nodes.

getDeflection(axis=2, globalCreepFactor=1.5)

Return the deflection of the truss

Parameters
  • axis – axis for the deflection displacement.

  • globalCreepFactor – creep factor.

getLowerChordBackEndPoint()

Return the back end of the lower chord.

getLowerChordDirection()
getLowerChordFrontEndPoint()

Return the front end of the lower chord.

getNormalVector()

Get a vector normal to the truss plane.

getReactions()
getUpDirection()
getUpperChordBackEndPoint()

Return the back end of the upper chord.

getUpperChordDirection()
getUpperChordFrontEndPoint()

Return the front end of the upper chord.

populateChords(lowerChordX, upperChordX)

Create the positions along the chords.

span()

Return the span of the truss.

class model.geometry.truss_generators.WarrenTruss(lowerChordAxis, upperChordAxis, trussModule)

Bases: model.geometry.truss_generators.TrussBase

Warren truss.

Variables
  • lowerChordJointsPos – (list) truss lower chord joint positions.

  • upperChordJointsPos – (list) truss upper chord joint positions

  • lowerChordPoints – (list) truss lower chord key points.

  • upperChordPoints – (list) truss upper chord key points.

  • lowerChordLines – (list) truss lower chord lines.

  • upperChordLines – (list) truss upper chord lines.

  • diagonalLines – (list) truss diagonals.

  • posts – (list) vertical lines at the ends of the truss.

  • lowerChordMaterial – material for the lower chord elements.

  • upperChordMaterial – material for the upper chord elements.

  • diagonalLines – material for the diagonals.

  • diagonalArea – area of the diagonals cross-section.

  • postsMaterial – material for the posts.

computeJointPositions()

Compute the positions of the truss joints.

createDiagonalsGeometry()

Creates the geometry of the truss diagonals.

createPostsGeometry()

Creates the geometry of the truss posts.

Retaining wall geometry

Geometry of retaining walls.

class model.geometry.retaining_wall_geometry.CantileverRetainingWallGeometry(name='prb', stemHeight=2.5, stemBottomWidth=0.25, stemTopWidth=0.25, footingThickness=0.25, bToe=0.5, bHeel=1.0, stemBackSlope=0.0, jointSpacing=7.0)

Bases: object

Geometry of a cantilever retaining wall.

Variables
  • name – (string) Identifier.

  • stemHeight – (float) Height of the stem.

  • 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.

  • bToe – (float) Toe length.

  • bHeel – (float) Heel length.

  • jointSpacing – joint spacing (defaults to 7.0 m).

defaultDimensions(totalHeight)

Computes default dimension from the total height.

defineStemWireframeModel(points, lines)

Create the midlines of the stem.

Parameters
  • points – point handler of the FE preprocessor.

  • lines – line handler of the FE preprocessor.

defineWireframeModel(nodes)
draw(notes=None)

Draw the wall contour using pyplot.

Parameters

notes – notes to insert in the plot.

getArea()

Return the area of the retaining wall.

getBackfillAvobeHeelArea(beta, zGround=0.0)

Return the area of the backfill that rests on the wall heel.

Parameters
  • beta – slope of the backfill.

  • zGround – level of the backfill in its contact with the stem with respect the top of the stem.

getBackfillAvobeHeelAvgHeight(beta, zGround=0.0)

Return the average height of the backfill that rests on the wall heel.

Parameters
  • beta – slope of the backfill.

  • zGround – level of the backfill in its contact with the stem with respect the top of the stem.

getBackfillAvobeHeelContour(beta, zGround=0.0)

Return the contour of the backfill that rests on the wall heel.

Parameters
  • beta – slope of the backfill.

  • zGround – level of the backfill in its contact with the stem with respect the top of the stem.

getContourPoints()

Return a list with the points that form the wall contour.

getFootingMidPlane()

Returns the midplane of the footing.

getFootingWidth()

Return total width of the footing.

getFoundationCenterPosition()

Returns the position of the foundation center (for excentricity computation).

getFoundationDepth(toeFillDepth)

Return wall foundation depth.

Parameters

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

getFoundationPlane()

Returns the foundation plane.

getHeightOfBackfillAboveHeel(beta, zGround=0.0)
Return a vertical segment from the top corner of the heeel to

the intersection with the backfill surface.

Parameters
  • beta – slope of the backfill.

  • zGround – level of the backfill in its contact with the stem with respect the top of the stem.

getSectionDepth(y)

Return stem section depth for height “y”).

Parameters

y – height of the section measured from the stem top.

getStemContourPoints()

Return a list with the points that form the stem contour.

getToePosition()

Returns the position of the toe (for overturning moment computation).

getTotalHeight()

Return total height of the wall.

getVirtualBack(beta, footingIncluded=True, zGround=0.0)

Return a vertical segment passing through the heel of the wall.

Parameters
  • beta – slope of the backfill.

  • zGround – level of the backfill in its contact with the stem with respect the top of the stem.

getWFHeelEndPosition()

Returns the position of the heel end in the wireframe model.

getWFStemBottomPosition()

Returns tself.stemTopWidth/2.0he position of the stem bottom in the wireframe model.

getWFStemHeigth()

Return the height of the stem in the wireframe model.

getWFStemTopPosition()

Returns the position of the stem top in the wireframe model.

getWFToeEndPosition()

Returns the position of the toe end in the wireframe model.

getXYVertices()

Return the contour X,Y coordinates in two separate lists to be used with pyplot.

getYStem(h)

Return the depth corresponding to the height argument.

Parameters

hCoupe – height with respect to the footing top surface.

setStemBackSteps(steps)
Set the step in the stem back defined as a list of (depth, width)

pairs.

Parameters

steps – list of (depth, width) pairs.

writeGeometry(outputFile)

Write wall geometry in LaTeX format.