Efficient software development is essential in every project. Legacy implementations can massively slow down development. For instance, missing knowledge, high code complexity and deprecated algorithms are indicators of prevailing legacy issues. Working with legacy issues costs additional time and, inevitably, money. These issues are also apparent
in long-lasting earthquake simulation projects.
This thesis focuses on software optimizations for earthquake source dynamics. Dynamic rupture models are presented to simulate friction forces inside an earthquake fault. Different types of friction models are investigated, which include linear slip weakening and rate and state friction laws. Object-oriented programming features are used to generalize these friction laws in an abstract software structure. As a reference the SeisSol simulation software project is presented to test and apply refactoring methods. SeisSol has legacy implementations of dynamic rupture computation written in Fortran. Within the scope of this
work an improved software structure is implemented in C++. Results of the implementation are verified by SCEC/USGS Benchmarks. Performance of both implementations are compared.
The results of this thesis show that SeisSol has legacy issues in source dynamics. 45% of existing friction laws are not operative. Feature complete friction laws are successfully integrated in C++. The new software architecture is future oriented and extensible for additional friction laws. Performance tests show that time spent in dynamic rupture computations represents 2% of all computing kernels. Thus, friction dynamics have less influence on overall performance. In conclusion, friction implementations in SeisSol suffered from a notable amount of legacy issues. To combat these issues refactoring approaches and an
improved software structure are provided. Since code structure is more accessible, future development effort is also reduced.
«
Efficient software development is essential in every project. Legacy implementations can massively slow down development. For instance, missing knowledge, high code complexity and deprecated algorithms are indicators of prevailing legacy issues. Working with legacy issues costs additional time and, inevitably, money. These issues are also apparent
in long-lasting earthquake simulation projects.
This thesis focuses on software optimizations for earthquake source dynamics. Dynamic rupture models...
»