horizontal_nodal¶
-
compas_tna.equilibrium.
horizontal_nodal
(form, force, alpha=100, kmax=100, callback=None)[source]¶ Compute horizontal equilibrium using a node-per-node approach.
- Parameters
form (compas_tna.diagrams.FormDiagram) – The form diagram.
force (compas_tna.diagrams.ForceDiagram) – The force diagram.
alpha (float, optional) – Weighting factor for computation of the target vectors (the default is 100.0, which implies that the target vectors are the edges of the form diagram). If 0.0, the target vectors are the edges of the force diagram.
kmax (int, optional) – Maximum number of iterations. Default is
100
.callback (callable, optional) – A callback function to be called at every iteration of the parallelisation algorithm. The callback should take the current iterand, the coordinates of the form diagram, and the coordinates of the force diagram as input parameters. Default is
None
.
- Returns
None
Notes
This function will update the form and force diagram instead of returning a result. The relationship between force densities (
q
), horizontal forces (h
), and lengths (l
) is the following:\[\begin{split}Q_{i} &= \frac{F_{i, thrust}}{L_{i, thrust}} \\ &= \frac{H_{i, form}}{L_{i, form}} \\ &= scale * \frac{L_{i, force}}{L_{i, form}}\end{split}\]