# Survey of Finite Element Method-Based Real-Time Simulations
## 2 Real-Time Simulation and Means to Achieve It  
In different fields, different interpretations of the term \"real-time simulation\" may be encountered, and, hence, it is worthwhile to address this aspect at the very beginning. According to the standard DIN ISO/IEC 2382 [1], the term denotes such an operation of a computing system that provides the results within a prescribed period of time. In contrast to the most frequent, intuitive understanding of the term, the processing time can actually differ from real (i.e., wall clock time_. The demanded processing time could be longer, but also in certain cases even shorter than real time, and this primarily depends on the application requirements. The intuitive understanding of the term would imply that the time needed for computation and presentation of the results (usually on a screen) is the same as the wall clock time, or shorter since the process can be put on idle in order to get synchronized with the wall clock time. However, it should be noticed that in many applications the simulation would still serve the purpose even if it performed somewhat slower than wall clock time.  
Speaking of FEM-based real-time simulation of deformable structures, there are several means to influence the speed of simulation:  
* Use of powerful computer components, including the possibility of changing the strategy how the computer components are used;
* Faster algorithms, code optimization, and particularly parallelization of computation;
* Development of various formalisms and formulations for structural analysis.  
Although the influence of each of the above mentioned means to speed up the computation is relatively obvious, the authors still find a parallel with the objective of trying to set a faster time in a racing car around a circuit rather neat and illustrative. In this parallel, better hardware obviously means providing the driver with a faster car. This is a kind of \"brute force\" approach and, despite the [PERSON]'s law of hardware development [2], it certainly has its limits with the current technology. Software optimization would be equivalent to improving the driver's skills. Now, the question is where the analogy with the third group of means exactly resides. This one is actually most interesting. The analogy implies that this group of means bends the classical rules so that the circuit start and finish line remain the same, but not necessarily the circuit itself (i.e., one may construct his/her own circuit). If one could come up with a shorter circuit containing less/milder curves that still leads from the same start (input data) to the same finish line (results), then this could easily turn out to be the decisive advantage.  
This survey will not consider the developments belonging to the software optimization. Regarding hardware development, only one important and novel aspect will be mentioned at this point, without detailed discussion. Namely, despite the fact that the hardware development resulted in striking computational power, a very promising approach actually consists in adjusting the way of how the hardware is used. Instead of the standard approach that implies the use of central processing unit (CPU) for computation, the tendency is to use graphics processing units (GPU) for this purpose. The reason is to be sought in the fact that modern GPUs contain a number of stream processors that offer massive computational power [3; 4]. This approach demands to resolve problems such as transferring the data necessary for computation to the GPU [5].  
The focus of this survey will be on the third group. The objective is to give an overview of different directions stemming from various ideas how to approach the problem and the resulting art of performing a suitable trade-off between the simulation accuracy and numerical efficiency. The proposed ways to reduce the computational power, the associated advantages and drawbacks, together with possible fields of application will be discussed.