I would like to acknowledge the help of the following people:
Professor Gregory Fenves, who encouraged me to start writing this program as part of his course CE224 (Computer Aided Engineering) at the Civil Engineering Department of the University of California at Berkeley, for his comments and advice.
Professor Stephen A. Mahin, my research advisor at the University of California at Berkeley, for his great ideas and continuous support.