Computational Materials Science 34 (2005) 355–368 www.elsevier.com/locate/commatsci Efficiency of algorithms for shear stress amplitude calculation in critical plane class fatigue criteria A. Bernasconi a a,* , I.V. Papadopoulos b Dipartimento di Meccanica, Politecnico di Milano, Via La Masa 34, I-20156 Milano, Italy b European Commission, Joint Research Centre, IPSC, I-21020 Ispra (VA), Italy Received 7 July 2004; received in revised form 25 November 2004; accepted 24 January 2005 Abstract Fatigue criteria that belong to the critical plane class necessitate unambiguous definitions of the amplitude and mean value of the shear stress acting on a material plane. This is achieved through the construction of the minimum circle circumscribing the path described by the tip of the shear stress vector on each plane. By definition, the centre and the radius of this circle provide the mean shear stress and the shear stress amplitude, respectively. The search of the minimum enclosing circle is an optimisation problem for which efficient numerical solution schemes are required. Several algorithms exist for similar situations; however these are not necessarily related to the fatigue strength of metals. In this paper some algorithms are studied to assess their computational efficiency within the engineering framework of the application of fatigue criteria of the critical plane type. 2005 Elsevier B.V. All rights reserved. Keywords: Fatigue; Critical plane; Shear stress amplitude; Smallest enclosing circle; Computational efficiency; Finite element method 1. Introduction Amongst the numerous multiaxial fatigue theories, the critical plane approach gave rise to several proposals for both stress-life and strain-life methodologies. In the high-cycle fatigue field, this ap* Corresponding author. Tel.: +39 02 2399 8222; fax: +39 02 2399 8202. E-mail address: andrea.bernasconi@polimi.it (A. Bernasconi). proach consists of assuming as the measure of damage at a given point of a structure and along a given plane passing through this point, either the amplitude of the shear stress acting tangentially to this plane, or its combination (linear or non-linear) with the normal stress. Some of the most frequently cited theories based on this approach are due to Findley [1], McDiarmid [2] and Dang Van et al. [3,4]. During cyclic loading, at a chosen point of a structure and a fixed material plane passing 0927-0256/$ - see front matter 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.commatsci.2005.01.005 356 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 through this point, the normal stress vector acting on this plane does not change direction, i.e. it remains perpendicular to the material plane. This is indifferent to whether the load is proportional or non-proportional. Therefore, to calculate the amplitude and mean value of the normal stress one only needs to consider its algebraic value, which is a real valued periodic function of time. Conversely, not only the length, but also the direction of the shear stress vector acting tangentially to the fixed plane, may change with time. This poses a problem for correctly evaluating the shear stress amplitude and mean value. From the theoretical point of view, the radius of the Minimum Circumscribed Circle (MCC), encompassing the plane curve described by the tip of the shear stress vector on each material plane, is at present the preferred definition of the shear stress amplitude. Actually, this proposal is applicable to any periodic stress path, because it is free from the conceptual and numerical drawbacks typical to other approaches as will be shown later in this paper. The problem of finding the minimum circle circumscribing a plane curve had originally been addressed in its discrete form. Actually, the question of finding the smallest circle enclosing a given set of distinct points lying on a plane was formulated as early as 1857 by Sylvester [5], who also offered a solution using elementary geometrical methods in 1860 [6]. A geometrical solution was found independently by Chrystal in 1885 [7]. The problem reappeared in the sixties and early seventies in the field of Operations Research as a facilities location problem. For example reference, Toregas et al. [8]. In fatigue of materials, the concept of the MCC was first introduced by Dang Van et al. [3,4], in the early eighties. Later on, also in the field of fatigue, Papadopoulos [9] examined the problem in the n-dimensional Euclidean space presenting specific applications in the 5-dimensional stress-deviator space. Recently, the MCC concept found renewed attention in robotics, e.g. to find the optimum layout of a robot arm supposed to pick up items lying at varying distances from it [10]. From the short overview above, it is clear that finding the MCC is a common problem of many applications in various scientific fields and a cer- tain number of algorithms have been created to solve it. The main attribute of each algorithm is the amount of running time required to find the solution and a secondary attribute is its ease of implementation. In the field of mechanics, contemporary fatigue assessment of components and structures is performed by the finite element method, often associated with the application of a fatigue criterion of the critical plane type. This approach requires the examination of all the material planes passing through each point of a structure, and thus generates a considerable amount of calculations. For engineers dealing with the fatigue assessment of large structures or components the speed of the algorithm used to determine the shear stress amplitude on each plane is of paramount importance, and more efficient approaches are required. 2. Definition of the shear stress amplitude Let us consider a structure submitted to periodic loading. At a given point of the structure the applied stress tensor r varies periodically with time: rðtÞ ¼ rðt þ T Þ ð1Þ A material plane D passing through the point under consideration is identified by its unit normal vector n, see Fig. 1. The normal stress rN, which is the projection of the stress vector r Æ n over n, is a vector acting perpendicularly to the plane D: rN ðtÞ ¼ ðn rðtÞ nÞn ð2Þ The amplitude rN,a and the mean value rN,m of the normal stress can be easily found by considering its algebraic value rN, which is a real valued periodic function of time: rN ðtÞ ¼ n rðtÞ n Clearly, one has 1 max rN ðtÞ min rN ðtÞ rN ;a ¼ t2T 2 t2T 1 max rN ðtÞ þ min rN ðtÞ rN ;m ¼ t2T 2 t2T ð3Þ ð4Þ ð5Þ A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 rðtÞ ¼ ra f ðtÞ þ rm ; rm 6¼ kra 357 ð8Þ For proportional loading, Eq. (7), the shear stress vector derived from Eq. (6) becomes sðtÞ ¼ ½f ðtÞ þ k½ra n ðn ra nÞn ð9Þ The first factor in the right-hand side of the relationship (9) above is a scalar function and the second factor a constant vector. Therefore, in this case the shear stress vector does not change direction, and the curve W degenerates into a straightline segment lying on a line passing through the origin of zero shear stress. For a given plane D (i.e. for a given n) the problem is reduced to the evaluation of the amplitude and mean value of a real valued function of time given by sðtÞ ¼ kra n ðn ra nÞnk½f ðtÞ þ k ð10Þ Clearly, one has Fig. 1. A material plane and the normal and tangential components of the stress tensor projection. The shear stress vector s, is the projection of r Æ n over the plane D, Fig. 1: sðtÞ ¼ rðtÞ n ðn rðtÞ nÞn rm ¼ kra ð11Þ sm ¼ k kra n ðn ra nÞnk ð12Þ In the more general case of non-proportional loading the shear stress amplitude has to be defined as a particular measure of the shear stress path W. In the past, various researchers have used three different definitions of the shear stress amplitude. They are briefly examined in the following sections. ð6Þ Therefore, s acts tangentially to plane D, but not necessarily always in the same direction. For the property of periodic stress history the tip of the shear stress vector describes a closed curve W on D. The definitions of the shear stress amplitude and mean value are trivial problems only in the case of proportional loading. The stress tensor at a given point of a structure submitted to proportional periodic loading is written as rðtÞ ¼ ra f ðtÞ þ rm ; sa ¼ kra n ðn ra nÞnk ð7Þ where ra is a constant stress tensor, and f(t) is a periodic function of time with values between [1, 1] and zero mean value, i.e. Tf(t) dt = 0 and k is a scalar. Let us notice that if rm is not proportional to ra, i.e. rm 5 kra, then the particular loading given by Eq. (8) below is called affine loading: 2.1. The longest chord method A first possible definition of the shear stress amplitude consists of the longest chord, or diameter, of the curve W, i.e. the longest straight line one can draw between two points belonging to the curve W. The mid point of the diameter of the curve W identifies the mean shear stress vector sm, the modulus of which provides the mean shear stress value sm. The half-length of the diameter is the shear stress amplitude sa, see Fig. 2(a). Unfortunately, in some cases this solution is not unique. For instance, when the curve W is an acute-angled isosceles triangle, two distinct diameters exist, i.e. the two equal sides. This implies the existence of two different mean shear stress vectors and hence two possible mean shear stress values (see Fig. 3). 358 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 Fig. 2. Three possible definitions of the shear stress amplitude: (a) the longest chord; (b) the longest projection; (c) the minimum circumscribed circle. 2.2. The longest projection method This method consists of projecting the shear stress path W on every line of the plane D, emanating from the origin O on D. The shear stress amplitude sa is assumed to be equal to the half-length of the longest of the W projections. The mid-point of this longest projection of W defines the tip of the mean shear stress vector, see Fig. 2(b). Though this definition recalls the role of the resolved shear stress in the nucleation of fatigue cracks, it is afflicted by drawbacks similar to those in the previous method. This can again be shown with a shear stress path which is an acute-angled isosceles triangle. The two longest projections exist along lines parallel to the two equal sides of the triangular path W, breaking down the sought after uniqueness of the solution. 2.3. The minimum circumscribed circle method Based on the uniqueness of the Minimum Circumscribed Circle (MCC) encompassing a closed curve in a plane, this method defines the shear stress amplitude as the radius of the MCC and the mean shear stress as the vector pointing form A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 359 3.1. Points combination algorithms Fig. 3. Example of a load path having more than one mean shear stress vector, as defined by the longest chord method. the origin O to the centre of the MCC, see Fig. 3(c). The mean shear stress vector then has the property of minimising the maximum distance of the shear stress tip from the centre of the MCC: sm ¼ min max ksðtÞ s0 k 0 s t2T ð13Þ Therefore, the shear stress amplitude can be evaluated as sa ¼ max ksðtÞ sm k t2T ð14Þ This method is the only one, amongst the three existing, to allow for a unique mean shear stress value (and amplitude) for any possible shear stress path and thus for any periodic non-proportional or proportional loading [11]. 3. Numerical methods for finding the minimum circumscribed circle In practical applications of fatigue criteria, the analytical expression of the stress paths is generally unknown. Instead, a discrete stress time history is available, as might be obtained by a sequence of load cases in finite element calculations. The curve W is then approximated by a polygon whose vertices form a set of n points. The problem of finding the MCC of W is then equivalent to the computational geometry problem of finding the smallest circle enclosing all these points, for which some algorithms exists. The minimum circumscribed circle to a plane polygon with n vertices is either one of the circles with a diameter equal to a line segment joining any two vertices of the polygon or one of the circumcircles of all the triangles formed from every three vertices of the polygon. Accordingly, the group of methods examined in this section takes its name from the finite algorithm. This method examines all pairs of points (i.e. chords), and all triple sets of points (i.e. triangles), and chooses the smallest circle determined by them that still encloses the set of n points (i.e. the vertices of the polygon assumed to accurately approximate the curve W). The solution is exact (apart from numerical precision and cut-off errors), but the computational time can be high because it is necessary to build all possible circles and verify they contain all the other points. Let us assume that each one of the following calculations is an elementary operation (i.e. it counts one operation): • • • • drawing a circle of given diameter; drawing the circumcircle of a triangle; calculating the distance between two points; comparing two lengths (distances). Then the detailed complexity analysis of this algorithm is straightforward. The number of circles based on pairs of points is the number of combinations of n points by 2, denoted as C n2 . For each of these circles, the distance from the centre of the circle to the remaining n 2 points has to be calculated in order to verify the circle encloses these points, making the number of operations equal to ðn 2ÞC n2 . The number of circles based on triple sets of points is equal to the combinations of n points by 3, i.e. C n3 . Following the above method, and after checking the circle encloses all remaining points, we arrive at ðn 3ÞC n3 operations. Thus, we have a total of operations equal to nop ¼ ðn 2ÞC n2 þ ðn 3ÞC n3 ¼ ðn 2Þ n! n! þ ðn 3Þ 2!ðn 2Þ! 3!ðn 3Þ! ð15Þ 360 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 This further simplifies to 1 1 nop ¼ nðn 1Þðn 2Þ þ nðn 1Þðn 2Þðn 3Þ 2 6 ð16Þ The above result clarifies that the number of operations of this obvious Points Combination Algorithm (PCA) is a fourth order polynomial of the number of input points n. Translated into the Big-O notation this reads ‘‘the algorithm runs in O(n4) time’’. For an increased n to better approximate the shear stress path W, the number of operations can be too high, thus practically preventing the application of the method in the assessment of large structures. Clearly, it is not necessary to search through all possible circles and thus the method can be modified in order to reduce the number of calculations required. Weber et al. [12] proposed one such modification in order to reduce the calculation duration of the critical plane approach in fatigue. Their proposal is mainly a variant of the algorithm introduced by Elzinga and Hearn [13]. As usual, it is assumed that the curve W is approximated by a polygon of n vertices denoted as Pi, i = 1 to n. The algorithm consists of the following steps (see Fig. 4): Fig. 4. Construction of the MCC by the modified Point Combination Algorithm. 1. Consider all the line segments defined by each pair of n vertices (i.e. chords) and choose the longest one. Denote as P1 and P2 the points defining this longest chord and build the circle S0 of centre K0 with it as the diameter. The operations done so far are C n2 to calculate all the chords, plus C n2 1 comparisons to find the longest one, and one more operation to draw the circle with a diameter equal to the longest chord, hence a total of 2C n2 operations. 2. Check if the circle S0 contains all other n 2 points Pi, i = 3 to n; if it does, this is the MCC, otherwise from now on we know that the researched MCC has at least three points in common with the curve W (approximated by the n points Pi). The operations performed in this step are (n 2) calculations of distances from the centre K0 of S0 to the points Pi, i = 3 to n, plus (n 3) comparisons to find the longest of the distances K0Pi, i = 3 to n. One more comparison of the longest of the K0Pi distances against the radius of S0 is needed to check if S0 covers all remaining points. Hence the number of operations performed in this step is (n 2) + (n 3) + 1 = 2(n 2). If the MCC has been found at the end of this step then the MCC is located after precisely 2C n2 þ 2ðn 2Þ ¼ nðn 1Þ þ 2ðn 2Þ operations. Clearly, this is the least number of operations (best case) one can hope to perform to find the solution applying this algorithm. If the MCC is not found at step 2 then proceed to step 3. 3. Pick the point that is farthest from the centre of S0, already located in the previous step, label it P3 and build the circumcircle S1 of the triangle P1P2P3 the centre of which is labelled K1. Only one operation (i.e. drawing the circle S1) is performed in step 3. 4. Check if the circle S1 contains all the other n 3 points, that is calculate the n 3 distances K1Pi, i = 4 to n, find the longest one in (n 4) comparisons, call it K1P4, and check if K1P4 is smaller than the radius of the circle S1. If it is, S1 is the MCC, if not, pick the point P4 that is farthest from the centre of S1 and with points P1, P2, P3 and P4 go to the next step. All these steps require (n 3) + (n 4) + 1 = 2(n 3) operations. A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 5. The four points P1, P2, P3 and P4, taken three at a time, define four circles, the one of which determined by P1, P2 and P3 is already examined i.e. circle S1. Amongst the remaining three circles, one, denoted as S2, is the minimum circumscribed circle to the four points P1, P2, P3, P4. Therefore, three circumcircles are drawn (i.e. three operations) and for each circumcircle one check is done to see if the remaining point is covered (three more distance calculations). It is not excluded that all three circles cover the four points, in which case we need two more comparisons to find the smallest one. At most, eight operations are performed is this step. 6. If the circle S2 contains the remaining n 3 points, it is the MCC. As in step 4 2(n 3) operations are needed to perform this task. If S2 does not cover the remaining points, keep the three points that defined S2, add the point lying farthest from the centre of the circle S2 and with these four points go back to step 5. Clearly, the total number of operations of the above implementation of this algorithm depends on how many times would be needed to repeat steps 5 and 6 in finding the MCC. This is not a straightforward calculation. Let us assume that in step 5 above the smallest circle covering P1, P2, P3, P4 (i.e. S2) is the circumcircle of the triangle P2P3P4. If after the check in step 6, it turns out that S2 is not the MCC, then we disregard point P1 and we add the point lying farthest from the circle S2, labelled P5, to the three points P2, P3, P4. With points P2, P3, P4 and P5 we repeat step 5, which leads to the smallest covering circle of these four points. But this does not ensure that the disregarded point P1 is covered. Clearly, this situation arises any time that steps 5 and 6 are repeated. Therefore, one may wonder if this algorithm converges to the solution or if the possibility exists for the algorithm to be entrapped in an endless repetition scheme. However, it can be demonstrated that the circles built at each repetition of step 5 are monotonically increasing in radius. Then, since there are a finite number of three-point circles, the process is finite. The demonstration that the circles built at each repetition of step 5 361 are monotonically increasing in radius is very similar to the one provided in the paper by Elzinga and Hearn [13]. It is estimated that (n 3) repetitions of steps 5 and 6 are sufficient to reach the solution. Therefore the total number of operations for these two steps amounts to (8 + 2(n 3)) (n 3). Summing the number of operations for each step of this implementation of the Weber et al. algorithm, one has a total number of operations equal to nop ¼ 3½nðn 1Þ 3 ð17Þ Although it is possible for different implementations of this algorithm to lead to a different total number of operations than shown above, it is clear that the running time of this algorithm is O(n2) [14]. 3.2. The incremental algorithm The construction of the MCC is also required by the criterion of Dang Van [3], who proposed an incremental procedure [4]. The corresponding algorithm was inspired from methods employed in the incremental theory of plasticity. An explicit formulation of this Incremental Algorithm (IA) is provided below. As usual, the curve W is approximated by a polygon with n vertices numbered from 1 to n. Vertex number 1 is chosen arbitrarily on the curve W. The other vertices are numbered consecutively along W. Each vertex is described by a shear stress vector denoted as s(i), i = 1 to n. The steps to follow are (see Fig. 5): 1. Guess an initial value for the mean shear stress vector denoted as smð1Þ ; build a circle with centre at the tip of smð1Þ and radius R1. Actually, R1 is chosen equal to zero. 2. Calculate the distance D1 between the current mean shear stress vector smð1Þ and the first vertex s(1), D1 ¼ ksð1Þ smð1Þ k. 3. Increment the circle radius by j(D1 R1), 0 < j < 1. The new radius is R2 = R1 + j(D1 R1). 4. Displace the centre of the circle towards a new position, denoted as smð2Þ , along the direction of the vector ðsð2Þ smð1Þ Þ. The precise position of the new centre is calculated according to the ð2Þ rule, smð2Þ ¼ sð1Þ smð1Þ Þ. m þ ð1 jÞð1 R1 =D1 Þðs 362 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 gence of the incremental algorithm. They found that convergence could not be ensured if the radius increase (Rj+1 Rj) at each step is less than the displacement ksðjþ1Þ sðjÞ m m k of the centre of the circle. 3.3. Optimisation algorithms Fig. 5. Construction of the MCC by the Incremental Algorithm. 5. The current state is a circle of radius R2 with its centre at the tip of sð2Þ m . Calculate the distance D2 between the current mean shear stress vector smð2Þ and the second vertex s(2), D2 ¼ ksð2Þ smð1Þ k. 6. Build a new circle with radius R3 = R2 + j (D2 R2) and centred at the tip of the vector ð3Þ smð3Þ ¼ sð2Þ sð2Þ m þ ð1 jÞð1 R2 =D2 Þðs m Þ. 7. After j steps as above, the current state is a circle centred on the tip of sðjÞ m with radius Rj. Upon calculating the distance Dj ¼ ksðjÞ sðjÞ m k, one determines the subsequent circle with radius Rj+1 = Rj + j(Dj Rj) centred at the tip of the next mean shear stress vector ðjþ1Þ smðjþ1Þ ¼ sðjÞ sðjÞ m þ ð1 jÞð1 Rj =Dj Þðs m Þ. 8. The iterations stop when the increment of both the radius and the centre of the circles fall below fixed tolerances, i.e. Rj+1 Rj 6 er and sjþ1 m sjm k 6 es . The number of iterations depends on both the initial guess and the value of the constant j; the accuracy is dependent on the tolerance, it is higher for lower values of j and for a higher number of points n. Unfortunately, a decrease of j, and/or and increase of n, causes longer running times. In the numerical experiments presented in this paper and for the tolerances chosen, this algorithm ran in linear time, O(n). Weber et al. [12] studied the conver- As described in a previous paper [15], the problem stated in Eq. (13) belongs to the class of optimisation problems known as minimax, for the solution of which some algorithms are available in commercial mathematical software packages or programming libraries. Examples include the function fminimax contained in the Optimisation Package of Matlab [16], the Sequential Quadratic Programming routine developed by Zhou and Tits [17], or the Solvopt algorithm developed by Kuntsevich and Kappel [18]. Without entering into the details of the structure of these algorithms, the Matlab fminimax routine, which performs a Sequential Quadratic Programming, Quasi-Newton, line search was selected. As for the Incremental Algorithm, the efficiency of optimisation routines depends on the initial guess and the tolerances set for convergence. 3.4. Randomised algorithms Randomised algorithms are powerful calculation tools for many problems. A simple and efficient algorithm that solves the problem of finding the smallest disc enclosing a set of n points in a plane can be found in Ref. [10] and is summarised as follows: 1. The algorithm derives its name from its initial random permutation P1, P2, . . . , Pn of n points, the first two points of which, P1 and P2, are used to build the initial circle D1 having its diameter defined by P1 and P2, while the others are added one by one (see Fig. 6). 2. When adding the point Pi, with i = 3 to n, let us call Di the current circle. If the point Pi being added lies inside the current circle, i.e. Pi 2 Di (point P3 in Fig. 6), the next point is added and the current circle remains unchanged, i.e. Di = Di1; if the point Pi being added lies outside the circle, i.e. Pi 62 Di (point P4 in Fig. 6), A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 Fig. 6. Construction of the MCC by the Randomised Algorithm. the circle containing this and all the other points that have already been added, will have Pi on the boundary. This lemma can be easily proven, as reported in Ref. [10]. In this case the subset of i points is passed to a subroutine performing the operations described in the next step. The circle found by this subroutine will be the current circle Di. 3. Permute the subset of points P1, P2, . . . , Pi1 again (in the example of Fig. 6, this new permutation is P3, P1, P2), and add them one by one, keeping point Pi, denoted from now on as Q (i.e. Pi Q) on the boundary. The current circle is now the one having its diameter defined by the first point of the new permutation (P3 in Fig. 6) and Q. If while adding point Pj, with j = 2 to (i 1), it is found it lies inside the current circle Dj (point P1 of Fig. 6), then the current circle remains unchanged, i.e. Dj = Dj1; otherwise, if point Pj, in this case denoted as Q2 (i.e. Pj Q2), falls outside (point P2 of Fig. 6), the smallest circle containing the j 1 points that have already been added will have both Q and Q2 on its boundary. Once found, this circle will become the current circle Dj. To find it, as in the previous step, the subset of j points and point Q are passed to a second subroutine which will find the smallest circle containing the j 1 points and having Q and Q2 on its boundary. The operations performed by this second subroutine are described in the next step. 363 4. First build the circle having its diameter defined by points Q and Q2. Then add the third subset of remaining points P1,P2, . . . , Pj1, one by one, keeping Q and Q2 on the boundary of the circle. Therefore if the point being added, let us call it Pk, with k = 1 to (j 1), lies inside the current circle, this remains unchanged, i.e Dk = Dk1. Otherwise, if point Pk falls outside, the current circle is the one built over Q and Q2 and point Pk. It is clear that the circle containing all j 1 points and having Q and Q2 on its boundary, is one of the following: • The circle having its diameter defined by Q and Q2. • The circle passing through Q and Q2, and a third point, which is the last found outside the current circle. When step 4 is completed, the procedure returns to step 3. The circle found at step 4 now becomes the current circle for step 3. Point Pj+1 is added following the order of the permutation P1, P2, . . . , Pi1. When all points P1, P2, . . . , Pi1 have been processed, with the subroutine of step 4 being called whenever necessary, the procedure returns to step 2. The circle found at the end of step 3, which is the smallest circle containing points P1, P2, . . . , Pi1 and having point Q on its boundary, becomes the current circle for step 2. Now one adds the remaining points of the first random permutation P1, P2, . . . , Pn, processing point Pi+1. Whenever necessary, the subroutine of step 3 is called. The algorithm stops when the last point of the initial random permutation, i.e Pn, has been processed. The current circle found at the end of the procedure is the MCC. As in the case of PCA and, with the same meaning of the expression, the solution is exact. The running time obviously depends on the random permutation, but it can be proven [10] that the expected running time is O(n). 4. Examples The methods presented in the preceding sections were implemented in Matlab 6.5 script files and run on a Pentium IV, 1.8 GHz processor, 364 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 512 MB RAM, personal computer. Three different load paths were chosen as benchmark applications for the aforementioned methods. Each of them was built with an increasing number of points to test the dependence of both the running times and the number of operations required on the number of points. The value of the constant j for the incremental method was set to 0.05, and the initial guess for both this and the optimisation method was chosen as the mean value over time of the su and sv components. The tolerance was set to a value that allowed the same accuracy in the determination of the radius sa, and of the modulus ksmk, as found with the Points Combination Algorithm using six significant figures. 4.1. Shear stress components of different frequencies A first test load path, proposed in Ref. [15], has been employed to compare the efficiency of the numerical methods in finding the centre and the radius of the MCC. It is given by su ¼ 100 sinðxtÞ; sv ¼ 100 sinð2xt p=4Þ ð18Þ This stress path has the property of having four distinct points of contact with the enclosing circle and is represented in Fig. 7. All the algorithms led to the correct solution with the same accuracy. The values of the radius of the MCC, i.e. the shear Fig. 7. The first example load path, made of 30 points, and its MCC. stress amplitude sa, and the modulus of the centre vector, i.e. the modulus ksmk of the mean shear stress vector, as obtained using all methods are reported in Table 1 for an increasing number of input points. It is noticed that su,m = 0 because of the symmetry of the load path along the sv axis. The running times are compared by plotting them as a function of the number of input points as seen in Fig. 8. This verifies their runtime dependence on n. The dependence is linear, i.e. O(n), for the Incremental Algorithm, the fminimax routine, and the Randomised Algorithm. It can also be seen that the relationship is quadratic, i.e. O(n2), as predicted by Eq. (17), for the Points Combination Algorithm of Weber et al. [12]. The running times of the other PCA, the one that examines all pairs and triple sets of points, are reported on a broken axis due to its values being considerably higher than those achieved with the other methods. Fur- Table 1 Values of sa and ksmk as obtained for the first load path n sa ksmk 30 60 120 240 0.124737E+03 0.124879E+03 0.124983E+03 0.124983E+03 0.180570E+02 0.178393E+02 0.176776E+02 0.176776E+02 Fig. 8. The running times of the four algorithms as a function of the number of points of the first example load path (mean values for the Randomised Algorithm are over 1000 repetitions). A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 365 4.2. Fully non-symmetric load paths The first load path was proposed by Weber et al. [12] as a benchmark curve to test their method. It is made of 10 points. The corresponding su and sv coordinates are reported in Table 2. To increase the number of points, cubic spline interpolation was used, with periodic end conditions. This allowed for increasing the number of points without Fig. 9. The mean value of the number of iterations over 1000 samples, as required by the Randomised Algorithm, as a function of the number of points and the scatter band. thermore, due to its inefficiency this method is not considered in the following examples. For the case of the Randomised Algorithm, the possibility of having large differences in running times depending on the random permutation of points required that the routine was called 1000 times and the mean value of the running times reported. As shown in Fig. 9, the number of function evaluations of the Randomised Algorithm has a mean value increasing linearly with the number of input points; however, the scatter band can be wide enough to make maximum values as high as three times the mean value. Due to the symmetry of the load path, the search of the MCC could have been solely performed along the sv axis. However, the load path is still appropriate for testing the convergence of the different algorithms in the presence of more than three contact points between it and the MCC. In order to test the algorithms in the more general case where a MCC centre must be examined along both the su and sv axis, asymmetric load paths have been employed. Fig. 10. The second example load path and its MCC with a varying number of base points: n = 10 (a) and n = 40 (b). Table 2 Load path proposed by Weber et al. [12] Points 1 2 3 4 5 6 7 8 9 10 su sv 14 15 11 81/4 7 11 + 5(3)1/2 5 15 6 6 7 11 5(3)1/2 11 7/4 15 9 21 10 22 11 366 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 Table 3 Values of sa, su,m and sv,m obtained for the second load path n sa su,m sv,m 10 20 40 80 160 0.100000E+02 0.103454E+02 0.103565E+02 0.103827E+02 0.103851E+02 0.120000E+02 0.124503E+02 0.124402E+02 0.125021E+02 0.124996E+02 0.110000E+02 0.108670E+02 0.108827E+02 0.108830E+02 0.108800E+02 altering the asymmetry of the stress path. In Fig. 10 the original load path is drawn, together with the one obtained by interpolation made of 40 points. The value of the radius of the MCC, i.e. sa, and the coordinates of the centre of the MCC are reported in Table 3. The comparison of the running times reported in Fig. 11 highlights the change in the dependence of the running time of the fminimax routine on the number of points n. Notice that it is not linear as in the first example. This is probably due to the line search performed along both the su and sv axis. Furthermore, the best performance is once again obtained by adopting the Randomised Algorithm, particularly for high values of n. Also as before, the running times of the Randomised Algorithm reported in the graph are the mean values calculated over 1000 runs. The second non-symmetric load path, see Fig. 12, is defined by the following relations: Fig. 11. The running times of the four algorithms as a function of the number of points of the second example load path (mean values for the Randomised Algorithm are over 1000 repetitions). Fig. 12. The third example load path and its MCC. su ¼ 100 sinðxtÞ þ 50 cosð2xtÞ þ 50; ð19Þ sv ¼ 100 sinð2xt p=3Þ þ 50 sinðxtÞ: The value of the radius of the MCC, i.e. sa and the coordinates of the centre of the MCC are reported in Table 4; the running times are reported in Table 4 Values of sa, su,m and sv,m obtained for the third load path n sa su,m sv,m 30 60 120 240 0.139370E+03 0.139847E+03 0.140058E+03 0.140074E+03 0.393432E+02 0.392287E+02 0.393420E+02 0.393240E+02 0.238853E+02 0.234603E+02 0.236898E+02 0.236808E+02 Fig. 13. The running times of the four algorithms as a function of the number of points of the third example load path (mean values for the Randomised Algorithm are over 1000 repetitions). A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 Fig. 13. Again it is evident that the Randomised Algorithm is the best performer, even when the extreme values of the running times scatter band are considered. 5. Concluding remarks Let us first notice that the concept of the minimum circumscribed circle is a quick and unequivocal method of determining the shear stress amplitude for a number of loading conditions frequently used in multiaxial fatigue testing. The affine loading Eq. (8) is such an example. The shear stress acting on the plane D is given by sðtÞ ¼ ðra f ðtÞ þ rm Þ n ½n ðra f ðtÞ þ rm Þ nn ð20Þ This simplifies to sðtÞ ¼ f ðtÞ½ra n ðn ra nÞn þ ½rm n ðn rm nÞn ð21Þ Examining Eq. (21), one can understand that the path described by the tip of the shear stress vector is a line segment in the direction (ra Æ n (n Æ ra Æ n)n), and centred on the point (rm Æ n (n Æ rm Æ n)n). Therefore, the MCC to the shear stress path is centred at this point and has a radius equal to kra Æ n (n Æ ra Æ n)nk. So, for any affine loading, the concept of the MCC readily allows the finding of the mean shear stress and amplitude: sm ¼ krm n ðn rm nÞnk ð22Þ sa ¼ kra n ðn ra nÞnk ð23Þ For the case of proportional loading the MCC approach leads to the same solution as that presented in Section 2. It is known that proportional loading is a particular case of affine loading in which rm = kra. Introducing this in Eq. (22) we recover Eq. (12), which provides the mean shear stress acting on plane D in the case of proportional loading. Another class of multiaxial fatigue loading frequently used in fatigue testing is out-of-phase sinusoidal loading where stress components are given by rij ðtÞ ¼ rij;a sinðxt uij Þ þ rij;m 367 ð24Þ where uij is the phase lag between the rij component and a reference stress component. For instance if rxx is the reference stress, then obviously uxx = 0. Furthermore, uxy would be the phase difference between rxy and rxx, and so on. Because the loading path in the stress space has a centre of symmetry, which is given by the mean stress state rij,m, the mean shear stress on a material plane is derived only from rij,m: si;m ¼ rij;m nj ðnk rkl;m nl Þni ð25Þ Then the problem of finding the amplitude of the shear stress on this same plane, instead of being a minimax problem solvable by Eq. (13), reduces to a problem of a simple maximisation over time of the shear stress derived from the time dependent parts of the stress components. This result can be generalised also for non-sinusoidal loadings, provided that the load path in the stress space possesses a centre of symmetry. Turning our attention to the performance of the algorithms examined we notice that the Randomised Algorithm [10] and the Points Combination Algorithm by Weber et al. [12] can be considered the best performing methods for load paths made of up to 40 points. For a higher number of points, the Randomised Algorithm and the Incremental Algorithm are preferred due to their running time linearity. Of these two, the Randomised Algorithm is free from the uncertainties typical to incremental methods which in some situations may have poor convergence or even fail. These considerations proved the Randomised Algorithm to be the most efficient of the methods studied in this paper; moreover, randomised algorithms are simpler and shorter than deterministic ones. This aspect compensates for the uncertainty in running times, as it is believed that the probability of a more complex deterministic algorithm failing is higher than the probability that a randomised algorithm fails to produce the correct answer in time. Finally, as the number of analysis points on a structure increases, the more the total running time will depend on the mean value of the running times of the algorithm. 368 A. Bernasconi, I.V. Papadopoulos / Computational Materials Science 34 (2005) 355–368 Other approaches exist, thanks to the already mentioned vast choice of problems requiring a known MCC for their solution. The linear-time algorithm of Megiddo [19] and/or the class of genetic algorithms [20] are sometimes proposed; however, due to its simplicity, the authors believe that the Randomised Algorithm should be preferred in the engineering framework of the application of critical plane fatigue criteria. Finally, the methods presented herein refer only to the class of critical plane criteria, but it is worth mentioning that fatigue criteria based on the stress deviator [9] require the solution of the similar problem of finding the smallest enclosing hypersphere of a given set of points in the 5-dimensional Euclidean space. Some of the existing randomised algorithms for plane problems can be adequately adapted for these higher dimension problems [21], thus making them a powerful and versatile computational tool. References [1] W.N. Findley, A theory for the effect of mean stress on fatigue of metals under combined torsion and axial load or bending, J. Eng. Ind.-Trans. ASME 81 (1959) 301–306. [2] D.L. McDiarmid, A general criterion for high cycle multiaxial fatigue failure, Fatigue Fract. Eng. Mater. Struct. 14 (1991) 429–453. [3] K. Dang Van, A. Le Douaron, H.P. Lieurade, Multiaxial fatigue limit: a new approach, in: Proc. 6th Int. Conf. Fract. Advances in Fracture Research, Pergamon Press, Oxford, 1984, pp. 1879–1885. [4] K. Dang Van, B. Griveau, O. Message, On a new multiaxial fatigue limit criterion: theory and applications, in: M.W. Brown, K.J. Miller (Eds.), Biaxial and Multiaxial Fatigue, EGF 3, Mechanical Engineering Publications, London, 1989, pp. 479–496. [5] J.J. Sylvester, A question in the geometry of situation, Quarterly Journal of Pure and Applied Mathematics 1 (1857) 79. [6] J.J. Sylvester, On Poncelets approximate linear valuation of surd forms, Philos. Mag. Ser. 4 (20) (1860) 203–222. [7] G. Chrystal, On the problem to construct the minimum circle enclosing n given points in the plane, Proceedings of the Edinburgh Mathematical Society 3 (1885) 30–33. [8] C. Toregas, R. Swain, C. Revelle, L. Bergman, The location of emergency service facilities, Oper. Res. 19 (1971) 1363–1373. [9] I.V. Papadopoulos, Fatigue Polycyclique des métaux: Une nouvelle approche (Annexe A-1: La plus petite hypersphère circonscrite à une courbe donnée), Thèse de Doctorat, Ecole Nationale des Ponts et Chaussées, Paris, 1987, pp. 239–245. [10] M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf, Computational Geometry: Algorithms and Applications, Springer-Verlag, Berlin, Heidelberg, New York, 1998. [11] I.V. Papadopoulos, Critical plane approaches in high-cycle fatigue: on the definition of the amplitude and mean value of the shear stress acting on the critical plane, Fatigue Fract. Eng. Mater. Struct. 21 (1998) 269– 285. [12] B. Weber, B. Keunmeugne, J.C. Clement, J.L. Robert, Improvements of multiaxial fatigue criteria computation for a strong reduction of calculation duration, Comp. Mater. Sci. 15 (1999) 381–399. [13] D. Elzinga, D.W. Hearn, Geometrical solutions for some minimax location problems, Transport. Sci. 6 (1972) 96– 104. [14] Z. Drezner, S. Shelah, On the complexity of the Elzinga– Hearn algorithm for the 1-center problem, Math. Oper. Res. 12 (1987) 255–261. [15] A. Bernasconi, Efficient algorithms for calculation of shear stress amplitude and amplitude of the second invariant of the stress deviator in fatigue criteria applications, Int. J. Fatigue 24 (2002) 649–657. [16] MATLAB, The language of technical computing, ver 6.5, TheMathWorks Inc. [17] J.L. Zhou, A.L. Tits, Nonmonotone line search for minimax problems, J. Optimiz. Theory App. 76 (1993) 455–475. [18] A. Kuntsevich, F. Kappel, SolvOpt the Solver for Local Nonlinear Optimization Problems, Institute for Mathematics Karl-Franzens, University of Graz, 1997. [19] N. Megiddo, Linear-time algorithms for linear programming in R3 and related problems, SIAM J. Comput. 12 (1983) 759–776. [20] J.Y. Kang, B.I. Choi, H.J. Lee, S.R. Lee, J.S. Kim, K.J. Kim, Genetic algorithm application in multiaxial fatigue criteria computation, Int. J. Modern Phys. B 17 (2003) 1678–1683. [21] E. Welzl, Smallest enclosing disks (balls and ellipsoids), in: H. Maurer (Ed.), New Results and New Trends in Computer Science, Lecture Notes in Computer Science, vol. 555, Springer-Verlag, Berlin, Heidelberg, New York, 1991, pp. 359–370.