Jtam-A4.dvi JOURNAL OF THEORETICAL AND APPLIED MECHANICS 55, 1, pp. 3-15, Warsaw 2017 DOI: 10.15632/jtam-pl.55.1.3 DETERMINATION OF THE POSITION OF THE CONTACT POINT OF A TIRE MODEL WITH AN UNEVEN ROAD SURFACE FOR PURPOSES OF VEHICLE DYNAMICAL ANALYSIS Szymon Tengler, Andrzej Harlecki University of Bielsko-Biala, Department of Mechanics, Bielsko-Biała, Poland e-mail: stengler@ath.bielsko.pl Two algorithms which allow one to take an uneven road surface into account in the vehicle dynamics analysis are presented in the article. Their essence is to determine the position of the contact point of the tire model with the uneven road surface. According to the concept of the authors, the names of the algorithms are to refer to the essence of the matter of the procedures assumed. The first of them – named Plane – can be used while considering the continuous model of the surface obtained by use of “the bicubic interpolation” taken from computer graphics, and the second one – named 4Points – in the case of the discrete model of this surface, developed especially for needs of themethods presented. In the work, it is assumed that only continuous changes of the road profile, without its possible abrupt changes, e.g. in form of a transversely placed threshold of sharp edges, can be considered. Therefore, themappingof the roadsurface, obtained in the case of including its bothmodels, is smooth. The developed algorithms are used to analyze dynamics of a technical rescue vehicle which can drive in terrain conditions. Keywords: dynamical analysis, uneven road surface, contact point 1. Introduction While analyzing vehicle dynamics, forces and reaction torques acting on models of their tires from the road surface must be considered appropriately. In real conditions, tire contact with an uneven surface takes place within the definite area. When the tire is modeled, the contact surface is usually limited to a point (Hirschberg et al., 2002, 2007; Rill, 2013). The authors of this work followed also that procedure, assuming that the modeled tire – considered in form of a deformable rim – contacts with the mapping surface of the road surface in a definite point. Theproposedmethod is based on the use of homogenous transformationmatrices taken from robotics with dimensions 4×4, which enable one tomake transformations between the assumed coordinate systems (Craig, 1989). If the position of any point A in the given coordinate system {j}, expressed by position vector {j}rA of dimensions 3× 1 is known, then the position of this point in the coordinate system {i} can be determined by the position vector {i}rA of dimensions 3× 1 (Fig. 1) using only one arithmetic operation, namely multiplication {i}r∗A = {i} {j} T{j}r∗A (1.1) where: {i}r∗A are position vectors of dimensions 4×1, named vectors of homogenous coordinates, determining thepositionofpointA in the system{i}and{j}, respectively; {i} {j} T– transformation matrix of dimensions 4×4 from the coordinate system {j} to the system {i}; {i} {j} R – rotation 4 S. Tengler, A. Harlecki matrix of dimensions 3×3 from the coordinate system {j} to the system {i} (elements of this matrix are dot products of the versors) {i}r∗A = [ {i}rA 1 ] {j}r∗A = [ {j}rA 1 ] {i} {j} T= [ {i} {j} R {i}rj 0 0 0 1 ] {i} {j} R=    X̂j · X̂i Ŷj · X̂i Ẑj · X̂i X̂j · Ŷi Ŷj · Ŷi Ẑj · Ŷi X̂j · Ẑi Ŷj · Ẑi Ẑj · Ẑi    Fig. 1. Determination of theA point position in the coordinate system {i} and {j} 2. Modeling of an uneven road surface In order to map the real profile of an uneven road surface, the authors assumed its two models – continuous and discrete. In the case of each of them, the mapping surface of the road surface is smooth. Therefore, the abrupt changes of its profile, e.g. in form of a transversely placed thresholdwith sharp edges, cannot be taken into account. In the continuousmodel, themapping surface is obtained by the use of “the bicubic interpolation” (Keys, 1981). In the discretemodel, developed especially for the needs of themethod presented, the uneven road surface is modeled in form of themapping surfacemade of triangles or rectangles. The detailed description of both models assumed is presented in (Tengler, 2012; Tengler and Harlecki, 2015). Each of the road surfacemodel can be characterized by an equation of the assumedmapping surface in the form of z= z(x,y) (2.1) In further considerations, it is assumed that in any point P of this surface of coordinates xP ,yP ,zP determined in any immovable coordinate system {0} assumed, being a reference sys- tem (Fig. 2a), the normal versor ê to this surface is known. According to the suggestions presented in work byHirsching et al. (2007), in the case of the continuous model of the road surface in the neighborhood of point P (Fig. 2b), it is assumed that there are four auxiliary points of the coordinates determined in the reference system {0} as P(x +)(xP +∆,yP ,z(xP +∆,yP)) P (x−)(xP −∆,yP ,z(xP −∆,yP)) P(y +)(xP ,yP +∆,z(xP ,yP +∆)) P (y−)(xP ,yP −∆,z(xP ,yP −∆)) (2.2) Then, the normal versor can be determined according to the following formula ê= r(x)×r(y) |r(x)×r(y)| (2.3) Determination of the position of the contact point... 5 Fig. 2. Normal versor ê to the mapping surface in pointP(xP ,yP ,zP) where: r(x) is the vector with the origin in pointP(x −) and the end in pointP(x +), r(y) – vector with the origin in point P(y −) and the end in point P(y +), ∆ [m] – short distance (in the work it was assumed∆=0.01m). In the case of the discrete model of the road surface based on the triangles or rectangles implemented, the normal vesor ê can be determined on the basis of the known basic geometrical relationships. 3. Algorithms of iterative determination of the contact point position As it is known, in any point of the mapping surface, a plane tangent to it can be placed. In this method, as it was done by Hirschberg et al. (2002, 2007), Rill (2013), Unrau and Zamov (1997), it is assumed that the tire ismodeled in form of a deformable rim obtained as a result of longitudinal cut of this tire in its symmetry plane. This rim in the deformable part adheres to themapping surface – even so for the needs of themodel it is assumed that its contact with this surface takes place in the definite point (it is the contact point C). In a non-deformable form, this rim is a circle with the symmetry center O, overlapping with the symmetry center of the non-deformed tire. In the contact pointC, there is also planeΠ – tangent to themapping surface (Fig. 3).On thebasis of the suggestions byUnrau andZamov (1997), in addition to the reference system {0} mentioned already, two local coordinate systems – {w} and {r} are assumed. The movable system {w} is connected with the rim. Its origin is placed in theO symmetry center of the non-deformed rim, the versor Ŷw overlaps with its axis of rotation (and therefore, also with the axis of rotation of the modeled tire), and the versor X̂w remains parallel to the plane Π during the whole time of vehicle motion. The origin of the immovable system {r} overlaps with the contact point C, its versor Ẑw is normal to plane Π – and also to the mapping surface (angle γ between it and versor Ẑw is an inclination angle of the tire), whereas the versor X̂r lying in this plane remains pararlel to the versor X̂w of the {w} system during the vehicle motion. While modeling the interaction of the road surface on the tire, it is assumed that in the contact point C the following forces and reaction torques are applied: Fx – longitudinal reaction force,Fy – lateral reaction force,Fz – the reaction force normal to themapping surface (planeΠ),Mx – the overturning torque,My – rolling resistance torque,Mz – aligning torque. Their directions are consistent with the directions of versors of the {r} system. Values of these forces and torques are calculated by the use of formulas offered by the so called Pacejka tire model (Pacejka et al., 1989; Pacejka and Bakker, 1993; Pacejka, 2005) taken into account in the method proposed. In this work, a version of the Magic Formula – Pacejka 89 tire model is used due to a lower number of coefficients needed to identify the tire than in other versions of the Pacejka tiremodel. A precise way of determining the values of forces and reaction moments 6 S. Tengler, A. Harlecki acting on the tire with the information on the assumed coefficients characterizing the tiremodel was presented in the doctoral dissertation by Rill (2013). Fig. 3. Location of the local systems {w} and {r} While performing analysis of the vehicle dynamics, it is assumed that the position of the {w} system origin is known at any time of itsmotion (as known, identical with theO symmetry center of the non-deformed rim) and orientation of its versor Ŷw in the {0} reference system.The authors of the article also made the same assumption in (Hirschberg et al., 2002). Additionally, the position of the contact point C being the beginning of the {r} system and orientation of versors in the {0} reference systemmust be known. Iterative determination of this position and orientation is a subject of the algorithms presented in this work. When a distance of origins of the systems {w} and {r} is known, values of forces and reaction torques acting on the tire from the road surface can be determined by the use of the Pacejka tire model. Knowledge about orientation of versors of the {r} system in the {0} reference systemwill allow one to find directions of action of these forces and torques – this information is needed to make analysis of the dynamics of the vehicle in question while using the Pacejka tire model mentioned or other tiremodels, relying on the similar assumptions regarding theway of applying forces and torques. Two algorithms intended for determination of the position of the contact pointC and orien- tation of the vectors of the {r} coordinate system are proposed. In accordance with intention of the authors, the names of the algorithms are to refer to the essence of the procedure assumed in each case. ThePlane algorithm is designed for the continuousmodel of the road surface, whereas the 4Points algorithm for the discrete model of this surface. 3.1. Algorithm Plane Determination of the position of the contact point C by the algorithm Plane refers to per- forming a definite number of iterations. Execution of the first of them is presented in Fig. 4. In the neighborhood of theO symmetry center of the non-deformed rim (Fig. 4a) the point of originPS of coordinatesxS,yS,zS defined in the {0} reference system is selected. In thiswork, it has been assumed that it is pointO. Then, coordinates of theC0 point, being an orthogonal projection to the mapping surface, are determined in this system C0 =(xC0,yC0,zC0)= (xO,yO,z(xO,yO)) (3.1) Determination of the position of the contact point... 7 Fig. 4. Algorithm Plane – the first approximation of the position of the contact pointC The next step is to determine the planeΠ0 tangent to themapping surface in the pointC0. A point-normal equation of this plane can be presented in the following form e(0)x x+e (0) y y+e (0) z z+ δ (0) =0 (3.2) where: e (0) x ,e (0) y ,e (0) z are components of the ê (0) versor normal to the mapping surface in theC0 point determined in the {0} reference system, and δ(0) =− ( e(0)x xC0 +e (0) y yC0 +e (0) z zC0 ) The pointC′1(xC′1 ,yC′1 ,zC′1 ) inwhich the straight line l(0) going through theO points pierces the planeΠ0 perpendicularly is determined next. Its coordinates in the {0} reference system can be determined by the position vector (Fig. 4b) as rC′1 = rO−d0ê (0) (3.3) where: d0 = |e (0) x xO+e (0) y yO+e (0) z zO +δ (0)| is the distance between pointsO andC′1. As a result, these coordinates can be presented as C′1(xC′1 ,yC′1 ,zC′1 )=C′1(xO−e (0) x d0,yO−e (0) y d0,zO −e (0) z d0) (3.4) Then, the coordinates of point C1, being the first approximation of the contact point C, are determined C1(xC1,yC1,zC1)=C1(xC′1 ,yC′ 1 ,z(xC′ 1 ,yC′ 1 )) (3.5) To determine the n-th approximation of the position of the contact pointC, the algorithm can be generalized to i=1, . . . ,n iterations writing formulas (3.4) and (3.5) as C′i(xC′ i ,yC′ i ,zC′ i )=C′1(xO−e (i−1) x di−1,yO−e (i−1) y di−1,zO −e (i−1) z di−1) Ci(xCi,yCi,zCi)=Ci(xC′i ,yC′ i ,z(xC′ i ,yC′ i )) (3.6) The n-th value is determined by the criterion √ (xCn−1 −xC′n) 2+(yCn−1 −yC′n) 2+(zCn−1 −zC′n) 2 ¬ ε (3.7) where ε is the assumed acceptable absolute error of calculations. 8 S. Tengler, A. Harlecki The versor X̂ (n) r of the {r} system in the reference system {0} can be determined by the formula (Fig. 3) X̂(n)r = Ŷw× ê (n) |Ŷw× ê (n)| (3.8) and then other versors as Ŷ (n)r = X̂r × ê (n) Ẑ(n)r = ê (n) (3.9) 3.2. Algorithm 4Points As it has been found out, algorithmPlane is used in the case of the continuousmodel of the road surface. However, in the case of the discretemodel when some fragments of the surface are flat, determination of the position of the contact pointC by its usemay not be accurate enough. Such a situation is presented in Fig. 5. Fig. 5. AlgorithmPlane – the determined positions of the contact pointC: (a) at the beginning of running of the modeled tire over unevenness, (b) after covering a distance∆x While considering the position of the modeled tire presented in Fig. 5a, it can be noticed that the contact pointC is orthogonal projection of the symmetry centerO of the non-deformed rim on a flat fragment of the road surface. It can be stated that condition (3.7), determining completion of calculations, is met after the first iteration because already then the following holds √ (xCn−1 −xC′n) 2+(yCn−1 −yC′n) 2+(zCn−1 −zC′n) 2 =0<ε Here, an undesirable effect is too late reaction of the rim to the changeable surface profile. Since algorithm Plane does not allow one to take the rim contact with the road fragment of the curvilinear profile (marked in the figure) into account early enough, so the direction of the normal reaction force Fz (acting on the rim in accordance with the Ẑw versor direction) turns out to be incorrect. It can be stated that this direction “does not keep upwith the new situation on the road”. The normal reaction force changes its direction after themodeled tire has covered the∆x distance (Fig. 5b) – so too late – and this change is rather rapid. Therefore, it has been required to develop an algorithm which would enable one to determine an appropriate position of the contact point C ensuring that the shape changes of the mapping surface are considered Determination of the position of the contact point... 9 early enough, what would provide a more accurate direction of the Fz normal reaction force, because closer to the real one. At the beginning of realization of the new algorithm named 4Points in the planes X̂wẐw and ŶwẐw of the {w} system, there are four auxiliary pointsO (x+),O(x −),O(y +),O(y −) assumed, respectively (Fig. 6). Fig. 6. Algorithm 4Points – positions of the auxiliary points The coordinates of them in the {w} system can be determined by the position vectors of the homogenous coordinates wr∗ O(x +) = [ wr O(x +) 1 ] wr O(x +) =    ∆x 0 −∆z    wr∗ O(x −) = [ wr O(x −) 1 ] wr O(x −) =    −∆x 0 −∆z    wr∗ O(y +) = [ wr O(y +) 1 ] wr O(y +) =    0 ∆y −∆z    wr∗ O(y −) = [ wr O(y −) 1 ] wr O(y −) =    0 −∆y −∆z    (3.10) where∆x,∆y,∆z [m] – distances resulting from tire size (in the work the following values were assumed:∆x=0.17, ∆y=0.07, ∆z=0.1). Then, the vectors of the homogenous coordinates determining the position of the auxiliary points in the {0} reference system can be determined as 10 S. Tengler, A. Harlecki r∗ O(x +) =Tw wr∗ O(x +) r ∗ O(x +) = [ r O(x +) 1 ] r O(x +) =    x O(x +) y O(x +) z O(x +)    r∗ O(x −) =Tw wr∗ O(x −) r ∗ O(x −) = [ r O(x +) 1 ] r O(x −) =    x O(x −) y O(x −) z O(x −)    r∗ O(y +) =Tw wr∗ O(y +) r ∗ O(y +) = [ r O(y +) 1 ] r O(x +) =    x O(y +) y O(y +) z O(y +)    r∗ O(y −) =Tw wr∗ O(y −) r ∗ O(y −) = [ r O(y −) 1 ] r O(y −) =    x O(y −) y O(y −) z O(y −)    (3.11) whereTw is the known transformationmatrix from the system {w} to the reference system {0}. In the further procedure, the auxiliary pointsO(x +),O(x −),O(y +),O(y −) are projected onto themapping surface (Fig. 7a), and next the homogenous vectors determining the coordinates of their projections O′(x+),O′(x−),O′(y+),O′(y −) in the {0} reference system are determined as r∗ O′(x+) = [ r O′(x +) 1 ] r O(x +) =    x O′(x +) y O′(x +) z O′(x +)   =    x O(x +) y O(x +) z(x O(x +),yO(x+))    r∗ O′(x−) = [ r O′(x −) 1 ] r O(x −) =    x O′(x −) y O′(x −) z O′(x −)   =    x O(x −) y O(x −) z(x O(x −),yO(x−))    r∗ O′(y+) = [ r O′(y +) 1 ] r O(y +) =    x O′(y +) y O′(y +) z O′(y +)   =    x O(y +) y O(y +) z(x O(y +),yO(y+))    r∗ O′(y−) = [ r O′(y −) 1 ] r O(y −) =    x O′(y −) y O′(y −) z O′(y −)   =    x O(y −) y O(y −) z(x O(y −),yO(y−))    (3.12) On the basis of formula (2.3), the versor normal to the planeΠ, including the projections of the auxiliary points, can be determined as ê= r (x) O′ ×r (y) O′ |r (x) O′ ×r (y) O′ | (3.13) where: r (x) O′ = r O′(x +)−rO′(x−) is the vector of origin in pointO ′(x+) and the end in pointO′(x−), r (y) O′ = r O′(y +) −rO′(y−) is the vector of origin in pointO ′(y+) and end in pointO′(y−). On the basis of the determined normal versor ê and one of any selected auxiliary points O′(x+), O′(x−), O′(y+), O′(y −), the plane Π mentioned is sought for, the point-normal equation of which has form exx+eyy+ezz+ δ=0 (3.14) where: ex,ey,ez are the components of the versor ê normal to the plane Π determined in the {0} reference system, δ=−(exxO′(x+) +eyyO′(x+) +ezzO′(x+)) if the selected point is O ′(x+). Determination of the position of the contact point... 11 Fig. 7. Algorithm 4Points – determination of the orthogonal projections of the auxiliary points on the mapping surface The sought contact pointC is determinedas apoint inwhich the straight line l going through the pointO pierces the plane Π perpendicularly (Fig. 7b). Its coordinates in the {0} reference system are determined as the components of the position vector rC = rO−d0ê (3.15) where d0 = |exxO+eyyO+ezzO+ δ| is the distance between pointsO andC. As a result, the coordinates of the contact pointC can be determined as C(xC,yC,zC)=C(xO−exd0,yO−eyd0,zO−ezd0) (3.16) Using this algorithm for the case illustrated in Fig. 5a, the position of the contact point C can be determined as presented in Fig. 8. The corrected direction of the reaction force Fz is presented in this figure. Fig. 8. Algorithm 4Points – determination of the position of the contact pointC and the corrected direction of the normal reaction forceFz The versor directions of the {r} system are determined in a similar way as in the case of algorithm Plane, that is according to relationships (3.8) and (3.9). 4. Computer simulations A technical rescue vehicle which can drive in terrain conditions has been used in analysis. Its physical model in form of a multibody system of an open structure built by the use of 12 S. Tengler, A. Harlecki joint coordinates defining the relative position of the modeled components and amathematical model corresponding to it developed on the basis of Lagrange equations formalism by the use of homogenous transformation matrices (Grzegożek et al., 2003), was presented in the doctoral dissertation (Tengler, 2012). Program Blender (www.blender.org) has been used to model the uneven road surface and to develop a model of the vehicle used in computer animations. The models obtained in such a way have been imported to the author’s own program to perform computer animations. The import procedure was described in details in (Tengler and Harlecki, 2015). In each considered case the modeled vehicle moves in the direction consistent with the ver- sor X̂ of the {0} reference system. The vehicle initial speed is 5km/h, and simulation duration time 6s. Example I The assumed continuous model of the road surface in form of a grid of control points is presented in Fig. 9. The boundary values of the coordinates of those points in the {0} reference system are following: xmin =−2, xmax =49, ymin =−8, ymax =8, zmin =−0.8, zmax =1.2. Fig. 9. The control point grid in the case of the continuous model of the road surface Some examples of the calculation results which concern determination of the vertical course of thegravity center displacementof thevehiclemodel (towards theversor Ẑ of the{0} references system) – taking algorithm Plane into account – are presented in Fig. 10 Fig. 10. The course of the vertical displacement of the vehicle gravity center in the case of considering the continuousmodel of the road surface This diagram is compared with the vertical course of this center determined by algorithm 4Points. The results obtained are almost identical. Therefore, it may be concluded that in the case of a smoothunevenness, the selection of thealgorithmhas a slight influenceon the computer simulation results. Determination of the position of the contact point... 13 Example II The assumed discrete model of the road surface in form of the grid of the control points is presented in Fig. 11. It consists of two flat fragments adjacent to a bump. Since there are no inclination of the surface in the direction consistentwith versor Ŷ of the {0} reference system, its modelwasmadebyuseof rectangles placedas shown in thefigure.Theassumedboundaryvalues of the grid points coordinates are following: xmin = −2, xmax = 11.5, ymin = −2, ymax = 2, zmin =0, zmax =0.2. Fig. 11. The discrete model of the road surface made by the use of rectangles Within the computer animation performed, passing of the vehicle over the unevenness has been simulated (Fig. 12). Fig. 12. Some screen shots made during computer animation: (a) unevenness presented in example I, (b) unevenness presented in example II Some examples of the calculations results which concern determination of the vertical di- splacement course of the gravity center of the vehicle model considering algorithm 4Points are presented in Fig. 13a. Two phases of motion can be differentiated here when the first front wheels and then rear wheels of the vehicle drive over the bump.By analyzing the results in Fig. 13a, it can be noticed that when algorithm 4Points is used, the displacement of the gravity center of the vehicle while its going up to the bump takes place earlier than in the case of using algorithm Plane, see the dashed line visible before the solid line (Fig. 13b). An analogous situation can be observed during going down from the bump. In this case algorithm 4Points is more “sensitive” to the unevenness profile change behind the wheels – the dashed line is visible behind the solid line (Fig. 13c). Therefore, the thesis is confirmed that in the case of overcoming the unevenness where the road fragments are flat, better results are obtained when bymaking use of algorithm 4Points. 14 S. Tengler, A. Harlecki Fig. 13. The course of the vertical displacement of the vehicle gravity center when the discrete model of the road surface made by the use of rectangles is considered 5. Summary The presented algorithms are of general significance and that is why they can be used in the case of considering more advanced tire models. In order to sum up this article, it should be emphasized that the development of the presented algorithms has only been a part of the task undertaken by the authors. These algorithms with tire models are included into an advanced mathematicalmodel of the selected terrain vehicle, developedwith a view toperforminganalysis of its dynamics. This model with the prepared models of the road surface and the developed computerprogramsconstitute aprototypeof a technical rescuevehicle.According to theauthors, the observationsmadeduringcomputer simulations of itsmotion can aid theprocess of designing of this type of vehicles in the future. In addition to the statements presented, the authors would like to point out – in the case of the proposed method – a variety of possibilities of the Blender program, especially while developing road surface models and also vehicle models used in computer animations. References 1. Craig J.J., 1989, Introduction to Robotics. Mechanics and Control, Addison-Wesley Publishing Company, Inc. 2. GrzegożekW., Adamiec-Wójcik I.,Wojciech S., 2003,ComputerModelling of Dynamics of Motor Vehicles (in Polish), Publisher of Technical University of Cracow, Cracow 3. Hirschberg W., Rill G., Weinfurter H., 2002, User-appropriate tyre-modeling for vehicle dynamics in standard and limit situation,Vehicle System Dynamics, 38, 2 4. HirschbergW.,RillG.,WeinfurterH., 2007,TiremodelTMeasy,Vehicle SystemDynamics, 45, 101-119 5. KeysR., 1981,Cubic convolution interpolation for digital image processing,Acoustics, Speech and Signal Processing, 29, 1153-1160 6. Pacejka H.B., 2005, Spin: camber and turning,Vehicle System Dynamics, 43, 3-17 7. Pacejka H.B., Bakker E., 1993, Themagic formula tyremodel,Vehicle SystemDynamics, 21, 1-18 8. Pacejka H.B, Bakker E., Lidner L., 1989, New tire model with an application in vehicle dynamics studies, SAE Technical Paper 890087 9. Rill G., TMeasy – the handling tire model for all driving situations, [In:] Savi M.A. (Ed.), Pro- ceedings of the XV International Symposium on Dynamic Problems of Mechanics DINAME 2013, Buzios, Brazil Determination of the position of the contact point... 15 10. Tengler S., 2012,Analysis of Dynamics of Special Vehicles with High Gravity Center (in Polish), PhDThesis, Faculty ofMechanical EngineerimandComputer Science,University ofBielsko-Biala, Poland 11. Tengler S., Harlecki A., 2012, Ways of uneven road surface modeling used in the vehicle dynamics analysis, Journal of KONES Powertrain and Transport, 19, 1 12. Tengler S.,HarleckiA., 2015,Computer programfor dynamic analysis of special vehicleswith high gravity centre,Technical Transactions, 2-M/2015 13. UnrauH.-J., Zamow J., 1997,TYDEX-Format. Description and ReferenceManual. Release 1.3 14. www.blender.org – Blender, free and open source software for 3D graphics available Manuscript received November 14, 2015; accepted for print February 15, 2016