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.