## 3 Results and Discussion
### Design Sensitivity Analysis  
The Jacobian matrix of the system of equations quantifies the trends in the MBD system. This matrix is crucial for estimating the solution during the predictor phase. Thus, it heavily influences the convergence rate of the solution. To find a converged solution as quickly as possible, the MBD solver must track the behavior of the subroutine, which is the relationship between inputs and outputs. This is a typical task for sensitivity analysis. In the case of the modal force subroutine, the sensitivity analysis consists of the evaluation of the partial derivatives:  
\[\frac{\partial f_{i}}{\partial q_{j}}, \tag{26}\]  
where \(f_{i}\) indicates the modal force components for the mode shape of number \(i\). Not all generalized coordinates \(\mathbf{q}\) of the whole MBD system affect the subroutine directly. Usually, the subroutine uses only selected subset of generalized coordinates which are available through the measurements \(\mathbf{L}\) of the system state provided by a functional interface:  
\[\mathbf{f(L(q))}. \tag{27}\]  
Thus, the term (26) takes the following form:  
\[\frac{\partial f_{i}}{\partial q_{j}}=\frac{\partial f_{i}}{\partial L_{j}} \frac{\partial L_{j}}{\partial q_{j}}. \tag{28}\]  
The analytical relationship between the generalized coordinates and the measurements is known, so the partial derivative can be calculated analytically. The other partial derivative can be calculated using either the finite forward difference method, the automatic differentiation method, the direct differentiation method or the adjoint variable method. The finite forward difference method approximates the partial derivative by the finite difference. This method is the most broadly used technique, as it is easily implemented and treats the derived function as a black box. However, it has two major disadvantages. Figure 2: The MBD model of piston–liner interaction. Crankshaft assembly is connected to the engine block via revolute joint with motion applied. Other revolute joints are between the crankshaft assembly-connecting rod and the connecting rod–piston pin. The piston pin is connected to the piston via joint primitives. The gas force is applied at the center of the piston bowl and the modal force is applied on the entire piston flexible body. The engine block is represented as a ground. First, the subroutine must be evaluated \((j+1)\) times to estimate the \(j\) partial derivatives. Second, the accuracy of this method is strongly related to the perturbation step size used. The analytical methods, namely, the automatic differentiation method, the adjoint variable method or the direct differentiation method, offer other approaches to acquire the solution to the design sensitivity analysis. The automatic differentiation method is comprised of a set of techniques that can decompose the complex algorithm into elementary operations (subtraction, addition, division, multiplication, etc.) and elementary functions (sin, cos, exp, log, etc.). This decomposition enables the chain rule to be applied so that the derivative of a composite function (two or more elementary functions) may be computed. This process is applicable even on very complex functions [40]. The adjoint variable method introduces an additional set of differential equations that comprise the adjoint variables. These equations are derived according to the variational theory, and they can be solved using numerical integration [41]. Solving a sequence of adjoint relationships yields the design sensitivity vector, which directly corresponds to the sensitivity of the performance measures in terms of design variable variations [42]. Moreover, the direct differentiation method is another analytical technique to determine the gradient information. Compared with the adjoint variable method, the direct differentiation method is more advantageous for a smaller number of design variables (a detailed comparison of these two methods is given in Refs. [43; 44]).