A Novel Algorithm for the Determination of Walker Damage in Loaded Disc Springs.

In this paper, a novel algorithm for the determination of Walker damage in loaded disc springs is presented. The algorithm takes a 3D-scan of a disc spring, measured residual stresses, material parameters, and spring loads as inputs. It outputs a distribution of Walker damage over the surface area of the input disc spring. As the algorithm allows a fully automated determination of the Walker damage, it can be used by disc spring manufacturers to reduce the working time spent on this task by specialized engineers significantly. Compared to spreadsheet applications using analytical formulas and finite element models using idealized geometry, this approach offers a superior description of the stress states in disc springs.


Introduction
The fatigue behavior of disc springs can be described by models ranging widely in complexity. Simple models like the one described in [1,2] can be implemented using spreadsheet applications, e.g., Microsoft Excel. As models become more sophisticated, the expense of building and evaluating the model rises. With the latest step in creating more complex models, the introduction of scanned geometries, superposed residual stresses, and the Walker damage parameter, the need for a novel algorithm for the determination of Walker damage in loaded disc springs has arisen.
The algorithm described in this paper is implemented in the Spring_stack Python module, which can also be used for other applications. For more information on the simulation of single disc springs without a 3D-scanned geometry or with multiple springs in one assembly, see [3,4].
The algorithm is the first published algorithm to build and evaluate a finite element model from a 3D-scanned geometry without user interaction. It allows the user to obtain an understanding of the influence of geometric deviations that are present in a batch of disc springs on the lifetime of individual disc springs under cyclic loading. This would be impossible without the algorithm because manually conducting a finite element simulation for each disc spring is prohibitively expensive.
Introductions to the mathematical description of disc springs and to the Walker damage parameter are given in Section 2. In Section 3, an algorithm used to describe Walker damage at the surface of a 3D-scanned disc spring is presented. Its implementation is described in Section 4. An example application is presented in Section 5. We recommend that readers without programming experience read Section 5 before Section 4.

The Walker Damage Parameter
The Walker damage parameter [63] helps to compare the fatigue behavior of materials under different mean stresses. Compared with other approaches to the characterization of mean stress effects in steels [64][65][66], the Walker damage parameter shows a superior lifetime prediction [67]. In this paper, the stress-based approach is described. For the strain-based approach, see [68].
The Walker damage parameter P Walker is computed from the maximum stress σ max , the stress amplitude σ amp , and the Walker exponent γ: The Walker exponent γ is a material parameter that can be identified by fitting fatigue-curves with different mean stresses or R-ratios. A high Walker exponent implies a low sensitivity to mean stress effects, while a low Walker exponent implies a high sensitivity. If the Walker exponent γ is fixed to 0.5, the stress Walker approach is equivalent to the stress Smith-Watson-Topper [66] approach.
The Walker equation requires σ max and σ amp to be scalar values. At the surface of the disc spring, the stress state is two-dimensional; therefore, an equivalent stress must be computed. Here, the von Mises equivalent stress is used.
For proportional loads in Quadrant 1, the computation of the maximum stress σ max and the stress amplitude σ amp from the minimum and maximum principal stresses σ I,max , σ II,max , σ I,min , and σ II,min is obvious.
The stress state in disc springs however is non-proportional, especially in shot peened specimens. An example why the formulas given for the proportional case may give inconsistent results for the non-proportional case is depicted in Figure 1. Given the stress states σ a , σ b , and σ c in Quadrant 1, the stress amplitude between σ a and σ c is equal to the stress amplitude between σ b and σ c if the von Mises equivalent stress in σ a is equal to the von Mises equivalent stress in σ b . The same applies for mean stresses. In reality, the damage inflicted by cycling between σ b and σ c is smaller than the damage inflicted by cycling between σ a and σ c . To avoid the described misrepresentation of damage inflicted, the modified Manson-McKnight method [69] is used. Instead of computing two scalar stress states σ max and σ min and deducing a scalar amplitude and a scalar mean stress, a two-dimensional stress amplitude and a two-dimensional mean stress are deduced from a two-dimensional maximum and minimum stress state: σ I,mean = 0.5 · (σ I,max + σ I,min ) σ II,mean = 0.5 · (σ II,max + σ II,min ) These pairs of stress components are converted into von Mises equivalent stresses: The maximum stress σ max is defined with a lower bound to avoid complex numbers as Walker damage parameters.

General Concept
The algorithm starts with a surface mesh (given as an .STL file) of a disc spring placed randomly in space. After aligning the disc spring approximately symmetrically around the y-axis, it imports the geometry information into a finite element application. In our implementation of the algorithm, the finite element application was used. Through the Abaqus Scripting interface [70,71], it builds a model around the geometry data, using additional inputs like loads and friction coefficients provided by the user. It generates an output database file using the Abaqus/Standard Solver. Utilizing Abaqus/Viewer functionalities via the Scripting interface, a field of residual stresses is generated from input data. Aggregated minimum and maximum stress fields are computed by superposing the computed load stress field and the residual stress field. A Walker damage parameter field is computed from the minimum and maximum stress fields. The Walker damage parameter at the surface of the disc spring is computed and exported as tabular data.

Architecture
The software architecture used is called a pipeline in programming terms and resembles a production line: an instance of the class Spring_stack is passed through a series of different processing stations. The processing stations gradually transform the instance from input data to a solved finite element model with post-processed output fields and from there to easily readable tabular data and a graphical representation thereof. In programming terms, these processing stations are called methods. The flow of data is depicted in Figure 2.

User-provided Inputs
To conduct the inquiry described above, the algorithm requires several inputs. These inputs are provided by the user. They are comprised of an .STL file containing the triangle surface mesh of a scanned disc spring and one .JSON file for the description of the simulated physical situation and the numerical configuration of the simulation, respectively.
The .JSON file describing the simulated physical situation contains an array of parts defining the geometry, the Walker exponent γ, Young's modulus, the Poisson number, and a volumetric mass density (for numerical stability) for each. The geometry of scanned disc springs is given by means of a link to an .STL file. Plasticity may be defined for disc springs in the present implementation. However, this is not in the scope of this paper. Furthermore, the friction coefficients between springs stacked in parallel and springs stacked in series, as well as between springs and the plates and the pillar are committed. The axial load is committed as an array of paths, giving the displacements of one of the plates at the end of each time step. Measured residual stresses in the radial and tangential direction are committed for two points with different coordinates. These two points should be selected carefully by the user and ideally describe a linear model representing more measurements. Furthermore, a target value for the number of triangles of the coarsened triangle surface mesh is committed. The .JSON file describing the numeric inputs contains several naming definitions, element types, solver options, contact and friction formulations, computing resource allowances, and flags determining whether stresses etc. are to be written to input files. Different modeling conventions for plates and pillars may be used in the current implementation. However, this is outside the scope of this paper.

Aligning the Disc Spring
In order to build a model around a part, the alignment of the part in space must be known. For example, to apply axial loads, the axial direction of the loaded part must be known. Because it makes the rest of the algorithm much easier, the input disc spring is preprocessed so it always has the same orientation. By convention, this position is in the point of origin, closely axially symmetric to the y-axis.
In the alignment process, the mesh M start is processed as a set of vertices V start = {v 1 , . . . , v v } and a set of triangles e = {e 1 , . . . , e e } connecting these vertices. The vertices v i,start = (x i,start , y i,start , z i,start ) are defined in a Cartesian coordinate system (x, y, z). The point set is aligned by a translation t t x , t y , t z , V along and a rotation A θ x , θ y , θ z around the principal axes.
The edges are defined as connectors between vertices; therefore, a geometric transformation of any mesh M is fully described by a geometric transformation of its vertices V . The resulting mesh M aligned is defined by the vertices V aligned and the edges e.
A feasible combination of translation t and rotation A is found by solving an optimization problem.
To compute the objective function f , the transformed point cloud V aligned is projected into the xy-plane, producing V xy = v xy,1 , . . . , v xy,v by rotation around the y-axis. V xy is computed using the coordinates of V aligned : The objective function f is defined as the area A of the convex hull of V xy .
The convex hull is computed using the Quickhull algorithm [72,73]. The objective function f is invariant to rotations around the y-axis. Therefore, θ y is fixed to zero. To further simplify the optimization problem, it is assumed that the centroid of the aligned mesh c M aligned lies in the point of origin. Although this assumption is applicable only for perfectly symmetric spring geometries, we assumed that for springs possessing minor deviations regarding their symmetry, the assumption holds true, too.
Based on this assumption, t is defined as translating the volumetric centroid c of the mesh M start into the point of origin.
The computational cost for finding t is low because the volumetric centroid of any closed mesh M can be computed inexpensively.
In the following rotation A, the mesh M translated is only rotated around the principal axes. As the volumetric centroid lies on all three principal axes, it is invariant under said rotation A.
By fixing the translation additionally to the rotation around the y-axis, the dimensionality of the optimization problem is reduced from six to two.
The resulting mesh M aligned may be aligned upside down. This being the case, it can simply be rotated by 180 degrees around the x-axis. To further ease the following steps, it is translated along the y-axis, so its lowest point is in the xz-plane.
The postprocessed, aligned mesh M postprocessed is exported as an Abaqus input file (.inp).

Building the Finite Element Model
The creation of the model is structured as a pipeline inside the pipeline depicted in Figure 2. The sub-pipeline is depicted in Figure 3. The allotment of tasks to processing stations (methods) along the pipeline is based on the allotment of functionalities to modules in the Abaqus/CAE environment. Each of the processing stations is customized according to input data. The following paragraphs describe the individual processing stations.
For the simulation of a single disc spring, four components are required: the disc spring itself, a guide pin, and two flat plates. The geometry of the disc spring is read from the input file generated from the 3D-scan data. The guide pin is defined as an idealized cylinder with the same height as the disc spring, and the plates are defined as idealized planes.
The plate and the guide pin part instances are defined as analytic rigid surfaces and therefore do not need to be meshed. The part instance representing the disc spring is imported as a triangle surface mesh and is converted into a volume tetrahedron mesh by the free mesher implemented in Abaqus/CAE. Mesh size cannot be controlled actively, but only by changing the mesh size of the imported surface mesh. The surface mesh size is adjusted by exporting very fine surface meshes from the 3D-scanning software GOM Scan and increasing the mesh size using the quadric edge collapse decimation algorithm [76]. In this application, quadric edge collapse is especially suitable because it reduces the mesh size at the flat surfaces, where the mesh may be more coarse, and keeps it nearly constant at the edges, where a fine mesh is needed. In the approach described in this paper, the finite element analysis utilizes a purely elastic material law. Residual stresses are incorporated by superposition of the measured stresses committed by the user. This is implemented by building two axisymmetric field outputs, one for σ residual,tan and one for σ residual,rad , in Abaqus/CAE. These output fields will later be used for the computation of σ I,min , σ I,max , σ II,min , and σ II,max according to Equations (24) to (27).
To introduce inertia and improve convergence, a volumetric mass density is defined for the disc spring. Because the spring was aligned beforehand, the assembly is straightforward. All four parts are joined in an assembly with a single coordinate system. The lower plate, the disc spring, and the guide pin are already in place. The upper plate is positioned in its place by a translation along the y-axis.
The lower plate and the guide pin are fixed in space, and loads are applied to the upper plate. To improve convergence, a small gravitational load is defined. No other loads are applied directly to the disc. Forces are transmitted via contacts. Surface to surface contacts are defined between the disc spring and each of the other part instances.
The Abaqus Scripting interface includes an option to customize output requests. This option is used in the algorithm to request stress and coordinate outputs. However, coordinates cannot be requested at integration points by means of the Scripting interface. Coordinate data in the integration points are necessary to compute residual stresses in the integration points.
A job instance is created to generate an input file. The input file is manipulated to create an output request for coordinate information in the integration points, and a second job instance pointing to the new input file is created. This way, a job is created that is identical to the first job except that it includes an output request for coordinate information in the integration points. The second job is converted into a system of partial differential equations and solved using Abaqus/Standard.

Computing Stresses and Walker Damage Parameters
After solving the system of partial differential equations for the displacements of the nodes in the model, Abaqus/Standard computes stresses and coordinates in the integration points at different points in step-time, which refer to the minimum and the maximum load. In this section, the computation of Walker damage parameters at the surface of the disc spring between Edge II and Edge III (see Figure 4) is described. Here, we may assume a plane stress state with a dominating tension component: For integration points close to the surface, this is approximately true. The assumption becomes more realistic with a finer mesh and is true with an infinitesimal mesh size. The minimal and maximal stress components σ load,II,min and σ load,II,max are redefined: σ load,II,min = σ load,II,min + σ load,III,min (22) σ load,II,max = σ load,II,max + σ load,III,max In the surface of disc springs, σ load,I points in the tangential direction and σ load,II points in the radial direction. Residual stresses are measured in the tangential direction (σ residual,tan ) and in the radial direction (σ residual,rad ). The input stresses for the computation of the Walker damage parameters are defined as: σ I,max = σ load,I,max + σ residual,tan (24) σ II,max = σ load,II,max + σ residual,rad (25) σ I,min = σ load,I,min + σ residual,tan (26) σ II,min = σ load,II,min + σ residual,rad Walker damage parameters are computed according to Equations (1) to (11). For each surface triangle, a surface area A i and a Walker damage parameter P Walker,i are computed. The surface Walker damage parameter is computed by averaging the Walker damage parameters of the neighboring nodes. These data pairs are saved as the set S.

Extracting Tabular Data
The set S is too rich in information to be captured holistically without extraction and/or condensation. This is done by transforming the information into tabular data. Therefore, it is condensed into human readable tabular data. Each element of the set is defined as a Dirac delta function: The accumulated surface area A acc assigned to a given Walker damage parameter is computed as: It describes the size of the surface area of the disc spring with a Walker damage equal to or greater than the given P Walker . A graphical representation [77] of the accumulated surface area is created.

Example Application
In this section, an example application of the algorithm presented in Section 3 is given. A single disc spring was modelled. The surface mesh of the disc spring under investigation is presented in Figure 5. The mesh was obtained using the commercially available 3D-scanning device GOM ATOS and the software GOM Scan. The number of surface triangles was already reduced for the displayed mesh, from 253,904 to 50,152. Convergence studies with different loads showed this mesh to be a good compromise between computational cost (about seven hours of CPU time on a i7-9800X and 16 GB of RAM vs. about 110 h of CPU time and 115 GB of RAM for the 253,904 surface triangle model) and accuracy (no significant bias of the Walker damage-surface area plot) [4]. Additionally, an idealized geometry derived from the scanned data is presented in Figure 4. Edges I to IV are labelled for the reader's orientation. A major difference between both geometries is that the surfaces between Edges I and IV, as well as II and III of the idealized geometry are straight, while those of the 3D-scanned disc spring are curved. This is also visible in Figure 6. Of course, the 3D-scanned geometry also was not perfectly symmetric. In Figure 7, the geometry according to the standard [1] is presented. It differs from the idealized geometry in having sharp edges and all angles between faces being 90 • . This simplified geometry is usually utilized for the analysis of disc springs, regardless of whether analytical formulas or finite element models are used. The triangle surface mesh was aligned and imported into Abaqus/CAE. Afterwards, it was converted into a tetrahedron volume mesh using the generateMesh method included in Abaqus Scripting [71]. The resulting linear tetrahedron C3D4 mesh was converted into a quadratic C3D10 mesh. Modified quadratic tetrahedrons C3D10M offer improved contact behaviour [78]; however, due to poor mesh quality, C3D10 tetrahedrons performed better in our experience. The elements were assigned a Young's modulus of 206,000 MPa, a Poisson ratio of 0.3, and a volumetric mass density of 8.05 g/mm 3 .
The volumetrically meshed disc spring was incorporated into an assembly. The load cycle was implemented in four steps. To obtain good convergence behavior, the steps were defined as dynamic steps. The implicit solver Abaqus/Standard was used. The purpose of Step 1 was to apply the lower load.
Step 2 was to make sure there was no dynamic influence on the computed stresses.
Step 3 was to apply the higher load.
Step 4 was, again, implemented to eliminate dynamic influences.
Step times for Steps 1 to 4 were 10 s, 1 s, 10 s. and 1 s. The boundary conditions were applied to the upper plate as displacements in the axial direction at a reference point; see Figure 6. The prescribed displacements were 0.425 mm for Steps 1 and 2 and 1.19 mm for Steps 3 and 4. All other degrees of freedom of the reference points were fixed to zero. For the lower plate, all degrees of freedom were fixed to zero.
All contact formulations used in this model were defined as surface-to-surface contacts with a finite sliding penalty formulation and a friction coefficient of 0.01.
A job was created and committed to the solver Abaqus/Standard. The resulting output database was loaded. The resulting highest tensile load stresses in a cross-section are displayed in Figure 8. The upper half of the disc spring was loaded compressively. This is why disc springs in general break between Edges II and III. Two field outputs representing residual stresses in the tangential and radial direction were generated based on user input and the initial coordinates of the integration points (which were requested as outputs earlier). Since the measured residual stresses for the spring under investigation are confidential, the used inputs values were not the result of a measurement. They were however realistic for disc springs. The residual stresses between Edges II and III were approximated by a linear function, ignoring non-symmetric effects. The computed residual stresses were obviously wrong anywhere else. This does not matter here because the Walker damage parameter is a measure used to predict fracture. Fracture is initiated by cracks, which normally initiate from the surface between Edges II and III [79]. Cracks originating from between Edges I and IV are usually caused by too low preloading forces. The bias in the Walker damage parameter introduced outside the surface between Edges II and III is non-conservative. Therefore a false positive for fracture in this area can be ruled out. The computed output fields between Edges II and III are displayed in Figure 9. The significantly higher residual stresses in the tangential direction compared to the radial direction are normal in disc springs because disc springs are overloaded in production to prevent plastic deformation in use, to increase lifetime, and to decrease creep effects [80][81][82][83][84][85]. The output fields resulting from the finite element simulation describing stresses after Step 2 and the output fields describing the residual stresses were added up to compute output fields describing σ I,max and σ II,max . The calculation followed Equations (24) and (25). Field outputs describing σ I,min and σ II,min were computed following Equations (26) and (27).
Based on these, field outputs describing the minimum and maximum equivalent stress, σ min and σ max , were computed according to Equations (2) and (3); see Figure 10. Especially in the minimum equivalent von Mises stress visualization, the contact line between the disc spring and the lower plate can be identified by a circle of locations with high compressive stresses.  These output fields were used to compute the output fields representing the stress amplitude σ amp according to Equation (4) and finally the Walker damage parameter P Walker according to Equation (1); see Figure 11. The Walker exponent γ = 0.5 was used, which makes the Walker damage parameter equivalent to the Smith-Watson-Topper damage parameter. Compared to the other fields, the stress amplitude field was very smooth. The reason for this is that the elastic deformation of the spring partially compensated for the small asymmetries that were present. For higher load increments, the additional elastic stresses were therefore distributed more homogeneously. The algorithm created a list of all surface triangles and computed an average Walker damage parameter P Walker,i , as well as a surface area A i for each triangle. The graph of the accumulated surface area over the Walker damage parameter was created; see Figure 12. From this particular graph, the user can for example extract the surface area where the Walker damage parameter is over 750 MPa, which is 4.9 mm 2 . About half of the surface had a Walker damage parameter of zero because stresses there were purely compressive; see Figure 12. This surface corresponds to the dark blue parts of the surface in Figure 8. As can be seen on the graph on the right, the function starts to jump at high stresses. This is because Walker damage parameters were averaged over surface triangles. The part of the graph at very high stresses exists purely because of numerical singularities and therefore does not correspond to the fatigue behaviour of the disc spring. The Walker damage parameter is not directly accessible through experiments. To evaluate the quality of the finite element model, a characteristic derived from a similar model (only boundary conditions were changed) was compared to a characteristic obtained in an experiment; see Figure 13. As is customary for disc springs, the deflection was normalized over the deflection at which the disc spring lies flat on the ground. They agree well; especially, the correct representation of the progressive behaviour at the very start of the experiment has only been achieved by models directly implementing 3D-scanned geometry. To our knowledge, all published models directly implementing 3D-scanned geometry have been created using the algorithm presented in Section 3. The numerical characteristic is somewhat stiffer than the experimental one. This may be due to a misrepresentation of Young's modulus, which was set to the normative default of 206,000 MPa; however, tensile tests on specimens from the same batch of material and a similar heat treatment did not show a sufficient deviation in Young's modulus to use a lower value.

Summary
A novel algorithm as implemented in the Spring_stack module was presented in this paper. The algorithm receives geometry data, residual stresses, material parameters, load cases, and further inputs and builds an FE model based on these. It evaluates the FE model after solving with respect to the Walker damage inflicted locally using a Manson-McKnight approach. In a post-processing step, the accumulated surface area as a function of the Walker damage parameter is computed. An example application of the algorithm was presented. Funding: This article was created as part of the research project AVIF A 309 'Bewertung des Einflusses realer Bauteilgeometrien auf die Beanspruchbarkeit von Tellerfedern anhand numerischer Simulation" (assessment of the influence of real geometries on the load capacity of disc springs by numerical simulation). This project is funded by Stiftung Stahlanwendungsforschung, which is part of Stifterverband für die Deutsche Wissenschaft e.V. (Donors' Association for the Promotion of Science and Humanities in Germany). The Association's mission is the promotion of research into the manufacturing and utilization of steel in Germany. The research proposal was audited by a panel of experts from the Research Association of the Working Group of the Iron-and Metal-processing Industries (AVIF), which is composed of specialists from the steelworking industry and academia. The project is accompanied by a working group from the Association of the German Spring Industry (VDFI).

Conflicts of Interest:
The authors declare no conflict of interest.