Page 50 - The Combined Finite-Discrete Element Method
P. 50
ALGORITHMIC AND COMPUTATIONAL CHALLENGE 33
All these combined together result in a need for robust, CPU and RAM efficient algo-
rithmic solutions. These include algorithms such as
• contact interaction algorithms
• contact detection algorithms
• finite strain elasticity-plasticity
• temporal discretisation and integration
• transition from continua to discontinua algorithms
• coupled problems such as gas-solid interaction
• application-specific algorithms, visualisation, key diagnostics, etc.
A number of different algorithmic solutions for each of the algorithmic aspects listed
have been proposed in the scientific literature. Some of the solutions proposed have
subsequently been replaced by more efficient and robust solutions, and are therefore only
of historical interest.
To avoid confusion and make this book as short as possible, only algorithms that have
found wider acceptance and are superior in terms of accuracy, CPU efficiency, RAM
efficiency or robustness are given attention in this book. However, for those who want to
find out more, an extensive bibliography is given at the end of the book.
This book is not meant to be a literature survey. Instead, it is a summary of best
practices and state of the art algorithms available to researchers, students and practising
engineers. The algorithms are therefore presented in sufficient detail that enables almost
direct translation into a computer code. Very often, pseudo-codes and data structures, are
given. When pseudo-codes, and especially data structures, are given an effort is made
not to link the code to any computer language. Thus, for instance, pointers are not used,
making the implementation in C (which has pointers) and in FORTRAN (which does not
have pointers) possible.
Numerical examples in this chapter are meant to give the reader a general idea of what
the combined finite-discrete element method is about. Numerical examples when given
in the rest of the book are inserted only when these are necessary in an understanding of
the particular algorithmic solution.
The combined finite-discrete element method is now being applied to a wide range
of problems, with a large number of researchers and engineers working in the field.
It is hoped that this book will help both researchers who are further developing the
generic algorithmic solutions and also engineers and researchers applying the combined
finite-discrete element method to a specific engineering or scientific problem. For this
reason, a detailed version of implementation of the key algorithmic procedures is given
in Chapter 10. These are accompanied with necessary explanations, guidelines, things to
avoid, etc. These codes are intended to be used by any users of the book who want to
assemble their own application-specific computer programs, but also by engineers who
may wish to understand the implementation details behind commercial codes, such as the
meaning of a particular input parameter.