Page 308 - The Combined Finite-Discrete Element Method
P. 308
10
Implementation of some of
the Core Combined
Finite-Discrete Element
Algorithms
Combined finite-discrete element simulations are computationally much more complex
than the more familiar finite element methods, and this must be taken into account
both in terms of software design and implementation. In this chapter, some problems
associated with the implementation of the combined finite-discrete element method are
addressed. This is done through listing and explaining the implementation of the core
combined finite-discrete element algorithms such as contact detection, contact interaction
and deformability.
Originally the combined finite-discrete element method was implemented in an object
oriented fashion using C++. However, because many readers may not be familiar with
C++, a much simpler C-based implementation of these core algorithms is described in
this chapter.
10.1 PORTABILITY, SPEED, TRANSPARENCY AND REUSABILITY
10.1.1 Use of new data types
C enables the definition of new data types. This is used, for instance, for object-orientated
programming. However, very often one may wish to use the combined finite-element
program in a single precision mode for one problem (or machine), and in double precision
mode for another problem (or machine). This flexibility can save both programming and
CPU time and reduce memory requirements.
10.1.2 Use of MACROS
Combined finite-discrete element simulations are CPU intensive, thus it is very important
that the features of the C language that speed up C programs are used when implementing
The Combined Finite-Discrete Element Method A. Munjiza
2004 John Wiley & Sons, Ltd ISBN: 0-470-84199-0