In CORSIM (CORridor SIMulation) 4.32, a simplified gravity model was implemented in the freeway network to convert user input turning percentages to origin-destination (O-D) trip percentages. During the conversion, there were no O-D volume calculations or iterations to balance the destination volumes. The unbalanced destination volumes were directly converted to the turning percentages, which were different from the ones the user specified. These deficiencies in CORSIM 4.32 were corrected in the 5.0 and later versions with the procedures and methodologies described. First a linear system is introduced to obtain the O-D volumes from the entrance volumes and the ramp turning percentages, which are specified by the CORSIM user. The gravity model in CORSIM is different from the traditional gravity model in that a CORSIM user can specify certain O-D trips (in percentages) as constraints. Therefore, the O-D trip table is split into a user-specified O-D trip table and a table for the gravity model calculation. The traditional gravity model calibrates the second O-D trip table. After the O-D volumes in the second table are balanced, the joined table gives the desired results. These procedures and models replace the old CORSIM gravity model and are incorporated into CORSIM 5.0 and later versions. Because CORSIM traffic volumes from surface street interfaces are not considered in the new gravity model calculation, a procedure to manually validate and correct the O-D trip calculation is proposed. Finally, the proposed procedures were validated by cases in the CORSIM test library and by four sample cases.