thegrumpys / odop

Open Design Optimization Platform (ODOP) - Coil spring design app; mechanical springs; compression spring, extension spring, torsion spring
https://www.springdesignsoftware.org
MIT License
4 stars 5 forks source link

Improve default constraint levels for spring design types #543

Closed grumpyinca closed 2 years ago

grumpyinca commented 3 years ago

Spring_Index In prior releases, Spring_Index is not constrained by default. When enabled, the min and max constraints default to 4.0 and 10.0 respectively. To align with manufacturing best practices, by default, Spring_Index should be constrained to a range of 4.0 to 25.0.

Each of the Demo and Tutorial sessions should be tested for unintended consequences.

Extension spring FS_2 Max Depending on factors like spring index, the limiting factor for extension springs can be bending stress in the hooks. By default, the initialState constraint on FS_Hook is not enabled. Once it is enabled, depending on spring index, it may require a factor of safety in the body coils that exceeds the default for FS_2 Max (currently1.6). In order to achieve a feasible design, the user is required to understand the situation and make the appropriate adjustment.

One way to resolve this difficulty is to simply increase the default value of FS_2 Max to a greater value, likely something between 1.8 and 2.0. Deciding on the correct value may require a survey of catalog springs starting with the built-in MS24586 catalog.

ID_Free Min The current default minimum value of 0.1 inches for all three spring types has been a problem for a small number of users trying to work with designs for very small springs. As a non-zero default value is considered important as a barrier to creating situations with a negative inside diameter, simply disabling the constraint does not seem appropriate. Let's try changing the default value to 0.01 inches (0.1 mm) and continue to monitor results.

L_Stroke Min The current default minimum value of 0.05 inch (1 mm) for compression and extension springs has caused problems for several users. As a non-zero default value is considered important as a barrier to creating situations with a negative stroke, simply disabling the constraint does not seem appropriate. Let's try changing the default value to 0.01 inches (0.2 mm) and continue to monitor results.

Considering that we do not want previously feasible designs saved with the older default constraints to become infeasible after migration, added (enabled) or tightened constraints should not be migrated. While it is less of a concern, for consistency, disabled or loosened constraints probably should not be migrated either.

grumpyinca commented 2 years ago

As long as we have initialState files open for edit, this seems to be a good time to improve the tooltip wording for Life_Category. Change "Select cycle life target. Selects %_Tensile_Endur from material table." to "Select cycle life target. Uses %_Tensile_Endur from material table. Enable FS_CycleLife MIN for non-static.".

1fifoto commented 2 years ago

Merged into master, closing

grumpyinca commented 2 years ago

Per discussion, change "Select cycle life target. Uses %_Tensile_Endur from material table. Enable FS_CycleLife MIN for non-static." to "Select cycle life target. Confirm that FS_CycleLife MIN constraint is enabled to utilize the selected %_Tensile_Endur for the material.".