Numerical approach for airframe assembly simulation
 Margarita V Petukhova^{1}Email author,
 Sergey V Lupuleac^{1},
 Yulia K Shinder^{1},
 Alexander B Smirnov^{1},
 Sergey A Yakunin^{1} and
 Bertrand Bretagnol^{2}
DOI: 10.1186/2190598348
© Petukhova et al.; licensee Springer. 2014
Received: 10 January 2014
Accepted: 25 March 2014
Published: 3 June 2014
Abstract
Purpose
The paper describes the methodology of contact problem solving that is used for simulation of aircraft assembly process.
Methods
The dimension of the problem is reduced after eliminating the unknowns outside the contact zone and the initial problem transforms into the problem of quadratic programming with linear constraints.
Results
The special computer code ASRP (Assembly Simulation of Riveting Process) was developed on the base of presented methodology. Now this code is utilized by Airbus. Some results of application of developed code are given in this paper.
Keywords
contact problem riveting process quadratic programming dimension reduction1 Introduction
 1.
The parts to be assembled are brought together and initial clamping is performed.
 2.
The holes in assembled parts are drilled sequentially and temporary fasteners are installed in these holes. After completion of this stage the initial gap needs to be closed.
 3.
The temporary assembly is examined and shimming is performed if needed.
 4.
The temporary fasteners are removed, the assembly is taken apart, the parts are cleaned and sealant layer is applied.
 5.
The assembly is fastened again by temporary fasteners.
 6.
Sequentially the temporary fasteners are removed, the holes are widened and permanent rivets are installed in their positions.
During the assembly process it is important to control both gap between joined parts and stresses caused by installed fasteners. On the one hand tight contact between parts should be achieved; on the other hand engineers should avoid cracks, composite layer separation and part destruction.
The main goal of the presented work is to develop special tool which allows engineers to perform simulations in order to evaluate displacements and stresses of aircraft parts on the assembly line. For this purpose ASRP software complex was developed for solving special class of contact problems that particularly arise during the simulation of riveting process. Let us denote this class as class R. The considered class R has specific features that were taken into account during construction of problem solving technique:

The area where contact may occur is known apriori and is relatively small regarding whole model. Further we will refer to it as junction area.

Tangential displacements are negligibly small in comparison with the normal ones in the junction area.

External loads are applied in the junction area or can be transferred there.

Friction is not taken into account.

Stress state of each considered body obeys linear theory of elasticity.

The problem is considered as stationary.

Usually it is necessary to perform the number of numerical experiments (e.g. with different fastener arrangements or initial gaps) on the same mechanical model.
The developed ASRP complex considerably surpasses commercial FEM codes in speed and user convenience for simulation of aircraft assembly process.
The structure and features of this software are described in [1] and [2].
The present paper gives the detailed description of developed mathematical algorithm as well as application examples.
2 Main section
2.1 Methodology for gap computations
Let M be a number of finite element nodes in the model and ${\{{x}_{j}\}}_{j=1}^{M}$ is a set of finite element nodes. The unknowns are displacements in all the nodes ${\{{U}_{j}\}}_{j=1}^{M}$. Here we assume that the set ${\{{x}_{j}\}}_{j=1}^{M}$ includes the nodes of upper, middle and lower panels.
where $K={\{{k}_{i}j\}}_{i,j=1}^{M}$ is global stiffness matrix, $F={\{{f}_{j}\}}_{j=1}^{M}$ is vector of loads.
where ${\mathrm{\Gamma}}_{Uh}$ is a part of the boundary where displacements are specified.
Here A is linear operator determining the relative displacement of parts in normal direction, $G({x}_{j})$ is a function of normal initial gap in the node ${x}_{j}$; ${\mathrm{\Gamma}}_{Ch}$ is junction area that is the set of nodes that can come into contact.
To finalize problem statement we pose conditions on contact stresses: in the contact points the normal stresses are contradirectional and have the same value. For class R the friction between parts is not taken into account, so tangential stresses in contact points are zero. Thus we consider socalled unilateral contact problem. As it was shown in [3], the solution of this problem provides good agreement with aircraft assembly experiment.
If we solve the problem belonging to denoted class R we can reduce its dimension by eliminating all unknowns outside the junction area. It will lead to significant decrease of computational time without loss of accuracy. Similar approach of dimension reduction was used in [4]. Also we recall the condition of tangential displacement inifinitesimality that allows us considering nodetonode contact model. Thus we need to compute only normal displacements of nodes in junction area.
Further in the paragraph we are to formulate the reduced minimization problem (with unknowns in junction area) equivalent to (4) and (5).
Reduced rigidity matrix characterizes the response of computational nodes to the applied load. To be more precise, ${K}_{C}^{1}={\{{k}_{ij}\}}_{i,j=1}^{l}$ is inverse matrix to ${K}_{C}$ and ${k}_{ij}$ is a displacement of j th node caused by the unit load applied to i th computational node. Let us consider a method for computing matrix ${K}_{C}$.
We divide whole displacement vector into two parts: $U=\left(\begin{array}{c}{U}_{C}\\ {U}_{R}\end{array}\right)$, where ${U}_{C}$ is vector of displacements in junction area, ${U}_{R}$ is vector of displacements in all other nodes.
Calculating Schur complement for the block ${K}_{RR}$ (see [5]) we obtain reduced rigidity matrix ${K}_{C}$ instead of block ${K}_{CC}$.
Reduced rigidity matrix is computed once for considered junction during data preparation stage. Then this matrix is stored and can be used for series of computations because changes of initial gap or applied loads do not affect ${K}_{C}$. This computational decomposition is relevant for simulation of riveting process as it is aimed at solving variety of problems with different fastener configurations and different relative positions of joined parts.
Most of the research work devoted to simulation of riveting process is done for the case when the contact problem is solved only in the neighborhood of one or several fasteners, i.e. local modeling is performed. Presented methodology allows us to perform global modeling, which means to calculate displacements and contact forces taking into account that contact may occur anywhere in the junction area. Dimension reduction technique is well known as substructuring or superelement creation (for example, see [4]) and turned out to be very efficient when applied to considered type of contact problems.
where ${A}_{C}=\{{U}_{C}\mid A\cdot {U}_{C}\le G\}$.
It is not difficult to prove that vector $U={({U}_{C}\phantom{\rule{0.25em}{0ex}}{U}_{R})}^{T}$ is a solution of minimization problem (4) and (5) if and only if ${U}_{C}$ is a solution of the problem (8) and ${U}_{R}$ is determined by equation (9).
Problem (8) is a quadratic programming problem (QPP). The method for its solution is discussed in the next section.
to the system (1), (2) and solve the obtained system of linear equations. Or alternatively we add contact forces to the vector of loads F and also solve the system (1), (2) to obtain U. Knowing field of displacements, it is easy to obtain all information about deformedstress state of our system (including strains and stresses).
Also it is possible to use more refined finite element model to find field of stresses within considered algorithm. To do so we interpolate the computed displacements and/or contact forces to the refined mesh and then compute stresses using linear static analysis.
2.2 Quadratic programming problem solving
2.2.1 Problem statement
In this section we consider the algorithm used for solving QPP (8) and its adaptation to the peculiarities of contact problems from class R.
where ${U}_{Ci}^{T}$ is a vector of displacements in contact nodes of i th part.
where ${K}_{Ci}$ is reduced rigidity matrix of i th part.
From (12) one can see that matrix ${K}_{C}$ has block diagonal structure.
Matrix A that defines admissible set in problem (8) has a simple structure: each row of matrix A contains one or two nonzero elements. It is due to the fact that nodetonode contact is considered. Thus constraint matrix A can be considered as sparse matrix.
2.2.2 Algorithm description
We made a review of algorithms for solving QPP: interior point methods, gradient projection methods and active set methods. The last group meets our goals as iteration process finishes after finite number of steps and algorithms allow to simply vary initial approximation. One of the most popular algorithms for solving QPP is described in [6, 7]. It is known as GoldfarbIdnani algorithm with Powell modification and is used in this project (further it is called GIP). GoldfarbIdnani active set method is proved to be fast and efficient; furthermore the Powell modification is favorable for illconditioned problems. This method is also implemented in wellknown libraries such as IMSL Numerical Library and Scilab for solving quadratic programming problem.
The main idea of considered algorithm is:

To start at the point of unconstrained minimum of the problem. If it satisfies the constraints (there is no contact in junction area), then this is desired solution.

If the constraints are violated, the iteration procedure starts. At each iteration step the current point is forced to satisfy one of violated constraints in a way:${(A\cdot {U}_{C})}_{i}={G}_{i},\phantom{\rule{1em}{0ex}}i=\overline{1,n}.$(13)

It is done until the point is in admissible set and this means that solution is obtained.

If it is not possible to satisfy any constraint during iteration step, rollback is performed: point is shifted in such a way that one of the current active constraints is violated again.
It is worth mentioning that iteration step is made in both primary and dual spaces (not only the point is shifted but also Lagrange multipliers).
According to described procedure it can be clearly seen that solution can be found faster if less nodes in contact zone are involved into contact interaction. The greater contact area is, the more steps are required to satisfy each constraint, the longer time algorithm works.
2.2.3 Implemented modifications
In order to speed up the computations we propose several modifications of described algorithm that make use of input data structure given in Section 2.2.1 and take into account algorithm specifics.
 1.
Making use of the block structure of matrix ${K}_{C}$.
 2.
Making use of simple structure of matrix A. The number of nonzero elements in matrix A is not greater than 2n, therefore the number of multiplication may be decreased by a factor of ten: perform $O(n)$ operations instead of $O({n}^{2})$.
 3.
Choosing the most appropriate constraint. At each iteration step the next constraint to be satisfied is being chosen. In original version of algorithm the first most violated constraint is taken into consideration. It makes sense to introduce more complicated procedure of constraint choosing. We rely on the fact that if force is applied to computational node, then it means that fastening element is installed in this point in terms the riveting process. Usually if the fastening element is installed, the gap in this point is closed and condition (13) is fulfilled. Hereby, we are to choose the constraint that links the nodes where maximal force is applied.
 4.
Saving results from previous computations. When simulating the riveting process it is usually necessary to test different fasteners’ configurations, i.e. to solve quite similar problems where only vector F may vary. If the fastener configuration changes slightly it is reasonable to start not from the point of unconstrained minimum but from the solution obtained for previous problem.
 5.
Solving the dual QPP. Combining dual and primal approaches prevents from increasing of computational time with contact area extension. See [8] for details.
2.2.4 Results
The next bar chart in Figure 6 illustrates the computation time needed to solve test problem if 153 fasteners are installed using modified GIP algorithm. We consider several load cases with different initial approximations such as:

Unconstrained minimum (blue column).

Solution obtained for 93 fasteners installed (red column).

Solution obtained for 113 fasteners installed (green column).

Solution obtained for 133 fasteners installed (violet column).
According to the bar chart we may conclude that if we use obtained solution of previous problem we skip iterations that have already been made. Thus if external forces, for example, change from configuration of 133 to 153 fasteners we may reduce computational time from 24 to 6 seconds. This ‘warm start’ technology is quite profitable when making series of computations.
2.3 Applications
2.3.1 Wingtofuselage assembly simulation
2.3.2 Fuselagetofuselage assembly simulation
Also we present an example of fuselagetofuselage assembly simulation.
3 Conclusions
Developed approach is the most efficient for simulation of aircraft parts’ riveting. The need to perform series of similar computations and a priori known narrow junction area are the main features that allow reducing computational time and resources.
The collaboration between St. Petersburg Polytechnic University and Airbus Company in the area of airframe assembly process simulation continues since 2006. Recently ASRP complex was entitled TRL 5 level by Airbus Company. TRL is the abbreviation for Technology Readiness Level. TRL 5 means that the technology has passed the thorough testing of prototyping in representative environment. Basic technology elements integrated with reasonably realistic supporting elements. Prototyping implementations conform to target environment and interfaces (see http://esto.nasa.gov/files/trl_definitions.pdf).
Described methodology was fruitfully applied to simulation of real airframe junctions. In particular ASRP complex was successfully tested on airframe junctions for latest Airbus aircraft models like A350 and A320 NEO.
Declarations
Acknowledgements
We would like to thank Jacques Bouriquet, Nicolas Prioul, Claude Gimenez (AIRBUS) and professor Eugene Victorov (Saint Petersburg State Polytechnic University) for their invaluable assistance.
Authors’ Affiliations
References
 Lupuleac S, Kovtun M, Rodionova O, Marguet B: Assembly simulation of riveting process. SAE Int J Aerosp 2010, 2: 193–198.View ArticleGoogle Scholar
 Lupuleac S, Rodionova O, Smirnov A, Shubnikov V, Bretagnol B: Software complex for riveting process simulation. SAE Technical Paper 2011, 2011–01–2772Google Scholar
 Lupuleac S, Petukhova M, Shinder Y, Bretagnol B: Methodology for solving contact problem during riveting process. SAE Int J Aerosp 2011, 4: 952–957.View ArticleGoogle Scholar
 Pedersen P: A direct analysis of elastic contact using super elements. Comput Mech 2006, 37: 221–231. 10.1007/s0046600507070MATHView ArticleGoogle Scholar
 Wriggers P: Computational Contact Mechanics. 2nd edition. Springer, Berlin; 2006.MATHView ArticleGoogle Scholar
 GoldFarb D, Idnani A: A numerically stable dual method for solving strictly quadratic programs. Math Program 1983, 27: 1–33. 10.1007/BF02591962MATHMathSciNetView ArticleGoogle Scholar
 Powell MJD: On the quadratic programming algorithm of Goldfarb and Idnani. Math Program Stud 1985, 25: 46–61. 10.1007/BFb0121074MATHView ArticleGoogle Scholar
 Lupuleac S, Shinder Y, Petukhova M, Yakunin S, Smirnov A, Bondarenko D: Development of numerical methods for simulation of airframe assembly process. SAE Int J Aerosp 2013, 6: 101–105.View ArticleGoogle Scholar
Copyright
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.