form_update_from_force

compas_ags.ags.form_update_from_force(form, force, kmax=100)

Update the form diagram after a modification of the force diagram.

Parameters:
form: :class:`FormDiagram`

The form diagram to update.

forceForceDiagram

The force diagram on which the update is based.

kmax: int, optional

Maximum number of least-square iterations for solving the duality form-force. The default value is 20.

Returns:
form: FormDiagram

The form diagram with updated force densities.

force: ForceDiagram

The updated force diagram.

Notes

Compute the geometry of the form diagram from the geometry of the form diagram and some constraints (location of fixed points). Since both diagrams are reciprocal, the coordinates of each vertex of the form diagram can be expressed as the intersection of three or more lines parallel to the corresponding edges of the force diagram. Essentially, this boils down to solving the following problem:

\[\mathbf{A}\mathbf{x} = \mathbf{b}\]

with \(\mathbf{A}\) the coefficients of the x and y-coordinate of the , \(\mathbf{x}\) the coordinates of the vertices of the form diagram, in Fortran order (first all x-coordinates, then all y-coordinates), and \(\mathbf{b}\) ….