6.1. Finite Element Discretisation
Let us denote Ω = Ω
Bone ∪ Ω
Prosth,
= { υ
i ∈
H1 (Ω),
i = 1,…,
N | υ
i(
x) =
g0i(
x),
x ∈ Γ
u}. The elasticity problem without contact can be rewritten in a weak formulation as follows: find
ui ∈
such that for all
υi ∈
Since the tensor of elastic coefficients is symmetric, problem
(13) is equivalent to the minimisation of the functional:
on the set of
υi ∈
.
For convenience we will introduce the following notations:
The domain Ω is represented by a domain Ωh consisting of tetrahedral elements. Each component of displacements over each element is approximated by linear polynomials. On the basis of these tetrahedra it is possible to generate a system of piecewise linear global basis functions {Φξ}. Using this basis we can span a space
where
is an approximation of the boundary Γu by the triangles correspondingly to Ωh.
Now, if (
vh)
i is an approximation of the i-th component of the displacement field defined over Ω̅
h then
where
and
Np is the total number of grid points. The term
(15) in
(14) can be approximated as follows:
where
An analogous approximation can be applied to the item
(16):
where
and
is an approximation of the boundary Γ
N by a finite element mesh.
The resulting finite element approximation of the problem can be defined as follows: find (
uh)
i ∈
h,
i = 1, ..,
N which minimises the functional
The problem
(22) is equivalent to solving the linear equation system. If contact conditions
(6) are taken into account then the problems becomes non-linear and the corresponding problem must be solved iteratively. The simplest way for taking the contact conditions into account is by using of penalty method and a successive iterative method [
24]. In this case, the contract stress is calculated on the basis of known displacements
in the
m-th iteration and the
can be found by minimising a similar functional:
where
δn,
δτ > 0 are small penalty parameters, chosen with respect to
(6) as follows:
Γ
Ch is the discretised contact surface and [.]
+ ≔
max {0,.}. It is important to remark that all nodal points in Γ
Ch are interface points. This means that in these points the displacements can have different values in different materials. The corresponding linear system is solved using a preconditioned conjugate gradient solver [
26].
6.3. Dealing with Uncertainties
Determining the mechanical parameters for the bone of the patients is an error-prone process. As such, they can only be determined up to a given precision. Modern mathematical tools for self-verified computing allow us to solve the finite element problem considering the uncertain nature of the mechanical parameters. Given the data as ranges of possible values, self-verified computing returns the range of possible values for the results, or at least an outer bound (overestimation) of the actual physically possible range.
Classical self-verified methods, however, such as those based on the Interval Analysis (IA) developed in the ‘60s by Moore [
29], are not suitable for application to finite element methods (FEM) when the number of nodes and elements is very large. Naive methods will incur in extremely large bound overes-timation, sometimes even failing to give meaningful results. More specialised methods, such as the one developed by Muhanna [
30], which gives much better bounds, become computationally prohibitive as the problem becomes large, since they cannot exploit the sparseness of the stiffness matrix.
Therefore, we developed a radically different approach based on Affine Arithmetic (AA), a self-verified mathematical model developed by Stolfi and de Figueiredo [
31]. This allows us to obtain very quickly a first-order approximation of the result range. If further precision is needed, Muhanna's IFEM method can be used to calculate the reminder. The final range is guaranteed to be more compact than the range obtained using Muhanna's method alone.
Another significant advantage of our approach is that the uncertain problem is decomposed in a number of deterministic, classical FEM problems with the same left-hand side. All but one of these sub-problems are independent, and therefore the problem is highly parallelisable. The number of problems is equal to Nc + 1, where Nc is the number of uncertain mechanical parameters.
The method is tuned to handle uncertainties in the mechanical parameters on which the stiffness matrix depends linearly. For example, the Young's modulus
E, the Lame constants λ and
µ, and so on. For the viscoelastic problem with mechanical parameters
E0,
Ei,
ηi(
i = 1,2) (see also section 3.3.) solved with timestep Δ
t, uncertainty modelling should consider expressions such as
as a single uncertain parameter, to preserve linearity.
For simplicity of exposition we will assume in what follows that only one mechanical parameter per element is uncertain, and precisely the Young's modulus. For the finite element
ε(i) we can write its Young's modulus
E(i) in the form:
where
εj is a
noise symbol, an unknown such that |
εj| < 1.
is the
central value of the Young's modulus, while
is the radius of its uncertainty.
Since the local stiffness matrix depends linearly on
E(i), we can write it in the form
where
comes from the central value of
E(i) and
comes from the Young's modulus uncertainty
.
The noise symbol index j is different from the finite element's index i because it is possible for different elements to use the same noise symbols; this happens, when their uncertainties is assumed to be correlated. For example, under the assumption that the bone is homogeneous, we will have a single noise index shared by all the trabecular elements, and a single (different) one for the cortical elements, giving us a problem with two uncertainties.
More complex situations are also possible, up to the extreme case of a noise index (i.e. a distinct uncertainty) for each element: this situation however is not physically sensible, as nearby elements are likely to have highly correlated mechanical parameters.
Regardless of the number of uncertainties
Nc, however, the global stiffness matrix is obtained combining local matrices in the form of
Equation 24, and it will therefore have the form:
where
K0 is the same matrix that would be obtained in the deterministic problem (ignoring uncertainties), and the
Ki are
Nc matrices obtained from the uncertainties.
Since boundary conditions don't usually depend on the uncertainties, the left-hand side matrix of our finite element problem takes the form
M =
M0 + Σ
Miεi where
The form assumed by our problem when uncertainties are take into account is therefore
where
u is the vector of the unknowns (displacements and lagrangian parameters) and
f is the given right-hand side.
Since the dependency of
u from
M is nonlinear in the
εi, we can write
u as the sum of a linear part
ua and a linearisation of the nonlinear part
ul. The linear part will be in the form
so we can write explicitly
and by developing the product, we have
which must be satisfied for every choice of
εi,
i = 1,…,
Nc in [0,1]. This can only be satisfied (polynomial identity rule) if the coefficients of
εi on each side of the equation are equal, and therefore it must be
which we rewrite as
The first two equations show that the terms in the linear part of the solution can be calculated by solving for Nc + 1 sharp problems, all with the same coefficient matrix (M0).
There is therefore a very high level of parallelization possible: each sharp problem can be solved using the FETI method described in Section 6.. In addition all equations except for the first are independent of each other, so after u0 is found the ui can all be computed independently And since the coefficient matrix is the same in all equations, most global objects, preconditioners, and decompositions can be computed only once and then reused across equations, reducing computational time.
For small uncertainties, the nonlinear part described by the last equation can be ignored. The results thus obtained for the displacements allow us to easily calculate the total range by using the expression u0 + Σ |ui| where the absolute value is considered component by component. However, for subsequent computations, such as stress and strain evaluation, it is better to keep the displacements in their affine form, as the information on the correlation between components of the stress tensor greatly improves the bounds of the von Mises equivalent stress.
The program can calculate and display minimum, maximum, and average estimated stress values, and the relative uncertainty for each voxel (
Figure 15). The most significant values that can be derived from uncertainty evaluation are maximum stress, and relative uncertainty. The latter is defined as the ratio between the range and the central value, for each noise symbol: for example, for the displacement we would have
as the relative uncertainty of the
j-component of the displacement, with respect to
εi. Adding up the relative uncertainty for each noise symbol gives the total relative uncertainty.
Areas where maximum stress is reached are critical from the mechanical point of view, as they allow the doctor to identify potential fractures that might result from the given prosthesis positioning. On the other hand, the relative uncertainties describe how sensible each area is to the uncertainty of the problem: their evaluation allows therefore a quick sensitivity analysis of the problem.