BlockResearchGroup / compas_ags

Design and Analysis of 2D structures using algebraic graphic statics
https://blockresearchgroup.github.io/compas_ags/
MIT License
15 stars 9 forks source link

Update function does not check for equilibrium #128

Closed ricardoavelino closed 3 years ago

ricardoavelino commented 3 years ago

This PR changes the main function update_diagrams_from_constraints and now it does not check for equilibrium. It will be responsibility of the UI to check if the final result is indeed in equilibrium. The update will run for max_iter iterations

An update is still done to the "check" functions. They will take two tolerance arguments tol_force=0.01 and tol_angle=0.1 which will be used to check maximum angle length (or force) deviation and maximum angle deviation since these values have very different sensitivities. These check functions are not used in the equilibrium computation.

Note: This PR was significantly changed from its initial state.

juney-lee commented 3 years ago

I think these tolerance settings should live in the global 'IGS' settings in compas-IGS. Refer to https://github.com/BlockResearchGroup/compas-RV2/blob/main/src/compas_rv2/ui/Rhino/RV2/dev/RV2init_cmd.py.

ricardoavelino commented 3 years ago

Yes, I agree. but we need a place to enter it as an argument of the function... that is what this PR does. The definition of the value for this tolerance should indeed come from IGS

ricardoavelino commented 3 years ago

After discussion with @juney-lee this PR was modified and now the bidirectional function update_diagrams_from_constraints does not check for the equilibrium at each iteration, it just runs max_iter times