Computation in Civil EngineeringJulie Fogarty, California State University-Sacramento
Most of the undergraduate civil engineering curriculum is spent doing hand calculations based on theories that lead to closed-form and relatively simple equations. As problems become more realistic and complex, we turn to computational methods to find solutions. Students are typically only exposed to one course on computational methods in their undergraduate careers and possibly one numerical methods course in their graduate careers leaving their confidence and ability to use computational tools lacking.
As students begin to use computational tools to solve problems, such as structural analysis software that they'll be exposed to in engineering practice, they struggle to develop appropriate models and interpret the results. Many of them view the structural analysis programs as mysterious black boxes that produce the correct answer with minimal effort on their part.
To address this lack of connection between the theory learned in class and capabilities of a structural analysis software, students complete assignments and a project using MATLAB to develop a simple structural analysis program that uses the direct stiffness method in their first graduate level structural analysis course. Students are first exposed to this method using hand calculations in their undergraduate structural analysis course. After developing the code, they verify the accuracy of their program with known solutions from hand calculations for a simpler problem and comparison with commercial structural analysis programs. In their second graduate structural analysis course, they modify the existing program to incorporate the use of the finite element method for analysis of structures. Again, they verify the accuracy of their program using a simple known solution. Aside from developing their own structural analysis program using MATLAB, students are also exposed to commercial software that is developed from the same theories. Verification tests are run using the different software to compare and contrast their reliability and once satisfied, students use one of these programs to analyze a more complex problem of their choosing. Despite these assignments, students still submit solutions that are blatantly wrong either due to poor modeling choices or lack of understanding of what computations are going on behind the scenes of the user interface.