Page 297 - The Combined Finite-Discrete Element Method
P. 297

280    COMPUTATIONAL ASPECTS

            to, say, the computer being accidentally turned off. In such cases, it is customary to save
            whole in-core database say 10 or 20 times during the run time. In this way, the maximum
            loss cannot exceed 10% or 5% of the total required run time. The job that has crushed
            once will therefore require only 10% or 5% longer run time than it would take if the
            crush did not occur.


            9.1.5  Maximising transparency

            Large scale combined finite-discrete element simulations are so diverse in applications
            that two different applications may not even look alike. The algorithms employed in
            application A may completely differ from algorithms employed in application B. Both
            applications may share the basic common concepts, such as contact detection, contact
            interaction, solver and discretisation. A general purpose combined finite-discrete element
            computer program should in theory handle a wide range of applications. This can be done
            in two ways:

            • Implement common algorithms in such a way that they fit all applications. However,
              large scale combined finite-discrete element simulations are very demanding on com-
              puter resources, and generalised implementation of common algorithmic procedures will
              neither minimise RAM nor CPU requirements. In fact, such an approach is more likely
              to maximise both. Thus the classic approach of ‘all tools in one computer program’ is
              not an option in large scale combined finite-discrete element simulations.
            • Produce a virtual workbench-like or library-like software environment, which would
              enable a relatively fast and automated process of building a specialised computer pro-
              gram for a given application, or even for a given problem.

            The end goals of reusability, transparency and CPU and RAM efficiency seem to contra-
            dict each other. Indeed, to achieve both in languages such as FORTRAN is impossible.
            A bold move towards one of the modern day languages is necessary. In terms of speed,
            transparency and speed of implementation, it is now widely recognised that modern lan-
            guages such as C or C++ offer unique advantages in comparison to languages such as
            FORTRAN (in terms of transparency) and in comparison to languages such as Java in
            terms of speed.


            9.2 VERY LARGE SCALE COMBINED FINITE-DISCRETE
                  ELEMENT SIMULATIONS

            Very often practical application of both discrete elements and the combined finite-discrete
            element method require systems comprising hundreds of millions of discrete elements.
            These simulations are termed very large scale combined finite-discrete element simula-
            tions. RAM requirements for such systems are at the upper limit of the most present
            day affordable single processor machines. The problems with RAM requirement are best
            illustrated by the fact that these systems may require tens, even hundreds of gigabytes
            of RAM space. With the virtual memory concept, this space must be addresses. Virtual
            memory can be viewed as an array with the first variable being at address 1, second
   292   293   294   295   296   297   298   299   300   301   302