ABSTRACT

The Finite-Element (FE) method has transformed geomechanical analysis. A number of open source codes now encourage researchers to extend or modify the basic algorithms, yet most 3D codes are expressed in tens of thousands of lines of C, C++ or fortran, requiring a significant time investment from potential new developers. Few freeware FE programs offer the capability to include 3D finite deformation analysis. Researchers are faced with writing their own algorithms from scratch or mastering very lengthy codes which are typically understandable only by those close to the original development. However, high level computational environments, such as MATLAB, allow engineers, scientists and mathematicians to produce powerful numerical analysis scripts rapidly. By using lean, efficient algorithms and subfunctions, it is possible to write the main routine of an elasto-plastic finite deformation FE program within a single page. Once a program spills onto multiple pages the ability to easily visualise the program structure is lost and the opportunity for error detection is reduced. Transparent programs facilitate re-analysis, adjustment, improvement and experimentation, resulting in polished robust algorithms. These programming ‘gems’ should be clear, easy to read, check, edit and modify.This strategy is inspired by Trefethen’s cry for cleaner, shorter code, within the philosophy of ‘one page, ten digit, five second’ algorithms (Trefethen 2005).