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.