Skip to content

Supports

How to hold a structure. Every call takes a node, or a list of nodes (the objects create_node returned, or ids as text such as 'N1'). Without a support the structure is a mechanism and cannot be solved.

Support: add a pin, a roller or a fixed support (which call for which)

Add, or create, a support at a node with one call. Portuguese terms in brackets, as users write them.

Support Call Restrains
Pin (hinged; apoio duplo, apoio fixo, articulado) model.pin(n) ux, uy. Rotation is free
Roller (apoio simples, apoio móvel) model.roller(n, free='x') uy only; the node can slide in x
Fixed (encastramento, apoio encastrado) model.fix(n) ux, uy and the rotation

A pin is not a fixed support: pin leaves the rotation free, fix restrains it. A pinned support is not a hinge in a bar: for that see Hinges in Nodes and bars.

Supports on nodes

Support: add a simply supported beam (pin + roller)

Add a pin at one end and a roller at the other:

sec = model.create_rc_section('S1', b=0.3, h=0.5)
n1 = model.create_node(0.0, 0.0)
n2 = model.create_node(5.0, 0.0)
model.create_bar_element(sec, n1, n2)
model.pin(n1)                  # pin at one end
model.roller(n2, free='x')     # roller at the other, free to slide in x

free='y' makes the roller slide in y instead (it restrains ux).

Support: add a cantilever (fix)

Add a fixed support (encastramento) at a node, the built-in end of a cantilever, with fix:

model.fix('N1')                # the other end stays free

Support: add to several nodes at once

model.pin(['N1', 'N2', 'N3'])

Support: add in a plate model (slabs, grillages)

There is no roller in a plate model. pin restrains the vertical displacement w only, fix restrains w and both rotations, symm(n, axis='x') is a symmetry support, and create_support(n, w=True, tx=True, ty=False) sets each degree of freedom.

Support: add any other combination

model.create_support(n, ux=True, uy=True, tz=False) restrains exactly the degrees of freedom set to True.

Support: edit (replace one)

Change the support of a node, for example from a pin to a fixed support. A node has one support: the new call replaces the old one.

model.fix('N1')                # was a pin

Support: remove

Delete the support of a node:

model.delete_support('N1')            # only the support of a node

Supports on an edge of a region

For a wall or slab region, address the edge by index or by name instead of looking up nodes: model.support_edge('W1', 'bottom', kind='pin'). Kinds: 'pin', 'fix', 'roller-x', 'roller-y', 'symm-x', 'symm-y'. To add, change or free an edge, see Edges in Slabs and walls.