## 3 Results
### Computational Aspects  
To facilitate the use of the algorithms, the RICATI application was created, which incorporates the algorithms with a user-friendly interface for the introduction of values from a database. The tool also presents graphic results that allow conclusions to be obtained without having to directly interpret a table with hundreds of thousands of numerical data points [26]. In order to achieve an efficient software tool, the enhancements carried out in this work are related to the way of storing the matrices involved in the resolution of the dynamic equation, as well as the use of suitable methods for solving the associated static problem. In particular, the sparsity and symmetry of the stiffness matrix are exploited, improving the efficiency of the implementation, dramatically reducing the memory storage requirements, and making use of iterative methods based on Krylov projection methods. The execution time spent for solving the static problem is also dramatically reduced. For this purpose, the SPARSKIT library by [PERSON] is used [27]. Therefore, a high-performance implementation has to take into account the features of current architectures, for example, cache memory. These features are particularly important when rebuilding the traditional algorithms to a block-oriented implementation. Block-oriented algorithms reduce drastically the data flow between main memory and secondary memory enhancing the performance of the final implementation. These good features are obtained by using standard libraries in the implementations. In particular, for this paper,several computational kernel from BLAS library [28; 29], especially BLAS 3, are identified and used. RICATI executes the algorithms based on the data of two cantons with the number of spans indicated for each canton. As a result, an interactive graphic interface is provided that allows the behavior of the catenary to be observed before the passage of the pantograph. RICATI is structured into four basic components, as shown in Figure 8:  
1. Interface: The interface allows all of the data associated with the assembly to be entered. The set of parameters is stored in a database so that they can be retrieved, modified, or copied to obtain different calculations or perform simulations. The interface is structured in blocks according to the kind of data that they contain: 1. General parameters: Generic data values are introduced regarding integration, speed, and data common to the whole catenary. 2. Values for the catenary damping frequency: The critical damping percentage is established for two reference frequencies. 3. Section data: Geometry of the overlapping span. 4. Cross-section properties: Mechanical properties of the profile, wire, and flanges. 5. Pantographs: Data of the pantograph to be used in the interaction. Up to four pantographs can be used. The pantographs are coded in such a way that they can be used in different calculations without the need to re-introduce all of their characteristics. 6. Canton spans: Number of spans in each canton and for each span, length and height of the support above the nominal value, and distance from the flange to the left support. 2. Interaction Algorithms: The dynamic library containing the algorithms for calculating the pantograph-catenary interaction. As a result, among other values, a table is generated indicating at each instant, according to the defined integration time step, and for each pantograph, the vertical position of two catenary points preset in the calculation, the height of the contact point, and the effort in each canton and plate. 3. Graph management: As a result, an interactive graphical interface is displayed in which different graphs can be obtained by independently selecting the abscissa (distance, time) and ordinate (efforts, elevation) axes, and allowing different graphs to overlap, in addition to the magnification of the area of the graphs marked by the user, as shown in Figure 9. 4.