Open Design Optimization Platform (ODOP)  Coil spring design app; mechanical springs; compression spring, extension spring, torsion spring
The Extension Spring design type is a fullfeatured mathematical model enabling the engineering design of round wire helical coil extension springs.
This section presents material unique to the Extension Spring design type. The more general material available at Spring Design Topics provides important supplemental information.
 /
Force_2 /
 /: ODOP:Spring Names
F  / :
 / : extension
O  / : spring
 / :
R  / :
 / :
C Force_1 / :
 /: :
E  / :<>: L_Stroke
 / : :
Initial_ _ _/ : :
Tension  : :
____:_______:________
L_Free : :
L_1 L_2
Deflect_1 Deflect_2
D E F L E C T I O N
The forcedeflection points and associated names are:
length  force  outside diameter  inside diameter  stress  factor of safety  

free:  L_Free  OD_Free  ID_Free  
point 1:  L_1  Force_1  Stress_1  
point 2:  L_2  Force_2  Stress_2  FS_2  
max safe: 
point 1 = minimum operating load point 2 = maximum operating load
The following diagrams may be of some assistance in interpreting the various dimensions of an extension spring.
Extension Spring Dimensions
< L_Free >
< L_Body >

. ____________________ . _v_
/   `\
    OD_Free
\   /
`._____________________________.' ___
^

> < End_Extension
> < L_End
L_Extended_End > <
< L_Free >
< L_End >< L_Body >< End_Extension >< L_Extended_End >
Name  Description  

Wire_Dia  wire diameter  
OD_Free  outside diameter in the free condition  
Coils_T  total number of coils, including inactive coils  
Initial_Tension  initial tension of extension spring (free condition)  
End_Extension  A length added to the spring by a straight wire extension between the body of the spring and the ends. The value of End_Extension is the sum for both ends of the spring.  
Force_1  load at point 1 (minimum operating load)  
Force_2  load at point 2 (maximum operating load) 
Name  Description  

Mean_Dia  mean diameter of spring coil in free condition; (OD_free + ID_Free)/2  
ID_Free  inside diameter in free condition  
Coils_A  number of active coils (turns)  
Rate  spring constant  force per unit deflection  
Deflect_1  deflection at Force_1  
Deflect_2  deflection at Force_2  
L_Body  length of body in free condition (without ends)  
L_Free  length in free condition (with ends)  
L_1  spring length at minimum operating load (Force_1)  
L_2  spring length at maximum operating load (Force_2)  
L_Stroke  net deflection between point 1 and point 2  
Weight  weight of spring; wire density * wire volume  
Spring_Index  spring index; the ratio: Mean_Dia/Wire_Dia  
Stress_Initial  stress produced by initial tension  
Stress_1  torsional stress at point 1  
Stress_2  torsional stress at point 2  
Stress_Hook  bending stress in the hook at load point 2  
FS_2  static factor of safety at point 2; The ratio of allowable stress at point 2 to the calculated stress induced by the load at point 2 (Stress_Lim_Stat/Stress_2).  
FS_Cycle_Life  factor of safety based on the Soderberg endurance limit calculation. This figure uses the allowable endurance stress (Stress_Lim_Endur) to include fatigue considerations. Refer to additional discussion in the Cycle_Life topic.  
FS_Hook  factor of safety in hook based on Stress_Hook and Stress_Lim_Bend  
Cycle_Life  expected cycle life based on a calculation using the "modified Goodman method". This value is approximate. Refer to additional discussion in the Cycle_Life topic.  
Stress_Init_Lo  lower limit of initial stress for proper manufacturability  
Stress_Init_Hi  upper limit of initial stress for proper manufacturability  
Energy  change in elastic potential energy between point 1 and point 2 
For additional information:
Name  Description  

Spring_Type  character string used only as a label  
Prop_Calc_Method  Property Calculation Method controls how material properties and allowable stresses are determined. See also: Materials.  
1  indicates values come from materials table; allowable stresses will be calculated as a function of Wire_Dia.  
2  indicates tensile and allowable % are supplied by the user; allowable stresses are calculated.  
3  indicates allowable stresses are supplied directly by the user.  
Material_Type  selects an entry in the material table. Is used to determine allowable stresses when Prop_Calc_Method is 1. Otherwise is ignored.  
ASTM/FedSpec  character string used only as a label to further identify the origin of material property data  
Process  character string used to identify the manufacturing process. It is normally controlled by the material selected from the material table. Values are usually Cold_Coiled or Hot_Wound. See also: Hot_Factor_Kh (below).  
Life_Category  This value reflects the user's input about shot peening and required cycle life. It is input to the calculation of FS_CycleLife. See also: Cycle_Life  
Density  wire density; weight per unit volume  
Torsion_Modulus  torsional modulus (G); a.k.a. shear modulus or modulus of rigidity  
Hot_Factor_Kh  empirical correction factor applied to hot wound modulus  
Tensile  tensile strength  
%_Tensile_Endur  allowable fraction of tensile strength for torsion endurance (cyclic load); See also: Cycle_Life  
%_Tensile_Stat  allowable fraction of tensile strength for torsion static load  
%_Tensile_Bend  allowable fraction of tensile strength for bending in end  
Stress_Lim_Endur  allowable stress limit; cyclic application (torsion)  
Stress_Lim_Stat  allowable stress limit; static application (torsion)  
Stress_Lim_Bend  allowable stress limit; static application (bending)  
SI_Range  Stress_Initial range; provides user control over the constraints on Stress_Initial  
Readily_Obtainable (default)  When a known ferrous Material_Type is in use, the values of SI_Lo_Factor and SI_Hi_Factor corresponding to good manufacturability are obtained from the builtin materials table.  
Special_Request  When a known ferrous Material_Type is in use, extended values of SI_Lo_Factor and SI_Hi_Factor are utilized. Check with the spring manufacturer regarding capabilities and cost.  
User_Specified  The user may specify values for SI_Lo_Factor and SI_Hi_Factor.  
SI_Lo_Factor  used in calculation of minimum constraint on initial stress  
SI_Hi_Factor  used in calculation of maximum constraint on initial stress  
End_Type  used to determine calculations for end dimensions and Hook_Deflect_All; Set to User_Specified for independent control of dimensions (below). See also: Extension spring end types  
End_ID  inside diameter of hook or loop  
Extended_End_ID  inside diameter of hook or loop at other end  
L_End  distance from body to inside of hook; See also: Extension spring dimensions  
L_Extended_End  distance from body to inside of hook at other end; See also: Extension spring dimensions  
Hook_Deflect_All  number of coils allowed for hook deflection  
Catalog_Name  name of the catalog containing the most recently selected catalog entry  
Catalog_Number  catalog number of the most recent catalog entry 
For additional information:
Other values calculated and displayed in the Reports include:
Name  Description  

Wire Length  total length of wire required to manufacture the spring, not including any waste  
Safe Load  load supported by the spring at a stress of Stress_Lim_Stat.  
Weight  weight of 1,000 springs  
Stress Ratio  ratio of minimum stress to maximum stress (Stress_1/Stress_2)  
Kw1  stress correction factor due to curvature  
torsion stress @end (Sb)  torsion stress in hook or loop (greatest at location Sb)  
bending stress @end (Sa)  bending stress in hook or loop (greatest at location Sa; Stress_Hook) 
While most extension spring constraints have constant levels, a few are of the "Functionally Determined Constraint Level" (FDCL) variety. As described in the Function Constraints (FDCL) section of the Online Help entry on "Terminology", rather than having constraint levels that are expressed as simple constants, these express a desired relationship between selected variables.
In the default extension spring start point ("Startup"), Force_1 MIN is a function of Initial_Tension. The constraint relationship says that Force_1, the force at the first load point, should be greater than the value of Initial_Tension.
Manufacturing considerations require that the initial tension of an extension spring fall within an empirical minimum to maximum range. The software calculates this range and using the constraint defaults established in the extension spring startup, the software will search for designs that fall within this range.
The SI_Range selection in extension spring Calculation Inputs provides the terms "Readily Obtainable" and "Special Request" that refer to the ranges of initial stress achievable in standard practice. The "Special Request" range permits a lower minimum and higher maximum values. Internally, the SI_Range selection gets empirical constants SI_Lo_Factor and SI_Hi_Factor from the material table and computes Stress_Init_Lo and Stress_Init_Hi. These values then become the MIN and MAX constraint levels for Stress_Initial and thus limit Initial_Tension to the appropriate range of values.
In summary, extension springs have three "Functionally Determined Constraint Levels" (FDCL) configured in the default startup design.
Constraint on:  Is current value of:  

Force_1  MIN  Initial_Tension  
Stress_Initial  MIN  Stress_Init_Lo  
Stress_Initial  MAX  Stress_Init_Hi 
One additional "Functionally Determined Constraint Level" (FDCL) that can be enabled by the user is:
Constraint on:  Is current value of:  

Stress_Hook  MAX  Stress_Lim_Bend 
The software calculates the bending stress (Sa) and torsional stress (Sb) in a conventional machine hook of an extension spring. The bending stress, a function of hook radius, reaches a maximum at a point (a) on the hook that is 90 degrees prior to the contact point of an attachment pin or other means of loading the spring. The torsional stress, a function of the bend radius where the spring body transitions into the hook, reaches a maximum at a point (b). The current version of of the software will base the torsional stress calculation on a bend radius of twice the wire diameter.
These stresses are listed in REPORT 2. A warning message will be produced if either of the stresses is high enough to exceed the corresponding allowable stress value. Note that the limiting stress component (bending stress at point (a) versus torsional stress at point (b)) is a function of spring index.
Hook or loop ends on an extension spring are loaded in both bending and torsion. Depending on the radius of the bend that tilts the last coil upward to form the hook or loop, either the bending or torsional stresses may be the first to induce failure. Note that fatigue failure in the end of an extension spring may also be induced by stress concentration caused by tooling marks. Refer to the sources listed in the online Help Spring Design References topic for additional details.
ODOP:Spring uses bending stresses in the calculation of FS_Hook. FS_Hook is not constrained in the default extension spring start point ("Startup"). In order to establish such a constraint, use the numeric entry fields. For example:
CHANGE FS_Hook MIN 1.0
CHANGE Stress_Hook MAX Stress_Lim_Bend
Stress_Lim_Bend is based on %_Tensile_Bend, a percentage of the selected material's tensile strength. This percentage is determined based on the desired cycle life conditions established by Life_Category.
Torsional stresses in the end of an extension spring are calculated and listed in Report 2. The Report 2 tab will flag these stresses if they exceed the value of Stress_Lim_Endur. Note that the value listed for Cycle_Life is based on stresses in the body coils; it does not apply to the hooks, loops or other forms of attachment.
ODOP:Spring currently implements five end types for extension springs. In addition, the user can define specialized end conditions. These end types are represented by the Calculation Input End_Type which for extension springs has the following possible values:
Extension  

1  FULL_LOOP 
2  75%_LOOP 
3  FULL_HOOK 
4  75%_HOOK 
5  CLOSE_WOUND_COIL 
6  USER_SPECIFIED 
For an extension spring, the end type directly impacts calculation of Hook_Deflect_All, End_ID, Extended_End_ID, L_End and L_Extended_End. Other variables are impacted indirectly.
Full_Loop implies a loop matching the diameter of the coil body. The distance from the last body coil to the inside of each hook (loop) is equal to the inside diameter of the body.
75%_Loop implies a shortened hook (loop) where the inside of the hook (loop) falls 75% of an inside diameter from the end of the body. Hook stresses are calculated based on body diameter in the hook (loop).
When End_Type is set to one of the standard (non User_Specified) selections, the quantities described above as "directly impacted" will be set by the program from values contained in internal tables. When the value of End_Type is User_Specified, the constants described above as "directly impacted" may be set by the user with the numeric entry field.
More precise treatments of extension spring end types are available in the resources listed in the Spring Design References section of the documentation.