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', stemBottomWidth=0.25, stemTopWidth=0.25, footingThickness=0.25, stemBackSlope=0.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.
defaultDimensions(totalHeight)

Computes default dimension from the total height.

defineWireframeModel(nodes)
draw(notes=None)

Draw the wall contour using pyplot.

getContourPoints()

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

getDepth(y)

Return stem section depth for height “y”).

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.

getToePosition()

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

getTotalHeight()

Return total height of the wall.

getWFHeelEndPosition()

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

getWFStemBottomPosition()

Returns the 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.

writeGeometry(outputFile)

Write wall geometry in LaTeX format.