7. Tips and recommendations on using X- FEM#

7.1. Enrichment#

The influence of the asymptotic enrichment zone is significant. The larger the enrichment zone, the better the precision (in the mechanics of linear elastic failure). However, it is not possible to extend this enrichment zone to the whole structure because this adds numerous additional degrees of freedom and above all, it greatly degrades the conditioning of the stiffness matrix, to such an extent that the calculation can stop abruptly due to zero pivot. A detailed study of the influence of the size of the enrichment zone on accuracy, error convergence rate, and system conditioning is presented in [10]. This shows that it is necessary to limit the number of layers of enriched elements to seven layers, a good compromise being four layers.

The choice of the enrichment zone is currently made in the DEFI_FISS_XFEM command using the keyword TYPE_ENRICHISSEMENT = “TOPOLOGIQUE” or “GEOMETRIQUE”. In the case of geometric enrichment, either the value of the enrichment radius is entered with RAYON_ENRI, or the number of layers with NB_COUCHES; if neither of these 2 keywords is present an enrichment on 4 layers is carried out by default.

7.2. CALC_G Settings#

The use of the G-theta method with X- FEM raises the same questions as to the choice of numerical parameters as for a meshed crack: values of the radii of the corona \({R}_{\mathit{inf}}\) and \({R}_{\text{sup}}\), type of smoothing in 3D (and degree if smoothing of the Legendre type).

The fact that the crack is meshed (classical method) or not (method X- FEM) does not change the way to proceed. Additional advice can therefore be found in the user guide for fracture mechanics operators [13].

Crown choice

In general, the corona should not be too close to the bottom of the crack (regardless of the size of the cells), but far enough away from the edges of the structure (attention to structures with holes) for the hypothesis of a crack in an infinite environment to remain valid. To set an order of ideas, some studies [14-15] have shown that the choice \({R}_{\mathit{inf}}\mathrm{=}2h\) and \({R}_{\text{sup}}\mathrm{=}5h\) where \(h\) is the size of an element at the bottom of a crack, is a satisfactory choice.

A calculation is considered good when the results are independent of the refinement of the mesh and independent of the choice of radii \({R}_{\mathit{inf}}\) and \({R}_{\text{sup}}\).

Once the crown is validated, if you refine the mesh, it is better to keep the same crown than to choose a crown that depends on the size of the links.

Note that for X- FEM and geometric enrichment, it is preferable for radius \({R}_{\mathit{inf}}\) to be greater than radius of enrichment.

An automatic calculation mode for radii \({R}_{\mathit{inf}}\) and \({R}_{\text{sup}}\) is also proposed by CALC_G. However, it is advisable to check carefully that these automatically calculated values lead to results that are independent of the choice of radii.

Choice of the type of straightening

Two smoothing families are available:

  • smoothing by Legendre polynomials: \(G\) (or \(K\)) is then a linear combination of Legendre polynomials. This solution gives regular results and is less costly in terms of calculation time than Lagrange type smoothing. However, high degree Legendre polynomials amplify numerical errors at the ends of the crack bottom [13];

  • Lagrange smoothing is based on the shape functions of the linear elements of the crack background. Thus, if there are a lot of points along the crack bottom, calculating \(G\) will be expensive (because it is proportional to the number of points along the crack bottom). In addition, the result will often be very irregular along the crack bottom, due to the variable distance between two successive points on the bottom.

The solution to improve the results of Lagrange smoothing and to reduce calculation times is to reduce the number of points at the bottom of the crack and to distribute them uniformly. This is possible using the NB_POINT_FOND keyword from CALC_G. A ratio of the order of 4 between the total initial number of points and the number of evenly distributed points seems a good compromise.

Conclusion

It is strongly recommended to validate your model by comparing the results obtained for different mesh refinements, for different integration crowns and for two types of smoothing (for example Legendre of degree 5 and Lagrange with equi-distribution of the bottom points).

7.3. POST_K1_K2_K3 Settings#

The only parameter to choose is the maximum curvilinear abscissa \(s\). It is recommended to take \(s\) greater than the enrichment radius. It is also recommended to link the choice of \(s\) to the mesh size, for example \(s\mathrm{=}5h\). An automatic calculation method for \(s\) is also proposed. But it is advisable to check carefully that the automatically calculated value leads to results independent of the choice of \(s\).

To reduce calculation times with POST_K1_K2_K3, which can quickly become prohibitive, we recommend limiting the number of post-processing points using the NB_POINT_FOND keyword.

7.4. Post-treatment on several crack backgrounds#

In X-FEM calculations, multiple crack bottoms can be defined in the same FISS_XFEM data structure (command DEFI_FISS_XFEM). Each call to a post-processing operator (CALC_G or POST_K1_K2_K3) makes it possible to calculate \(G\) and \(K\) for only one background at a time (operand NUME_FOND). However, in the case of a crack propagation study with PROPA_FISS (see § 33), it is necessary to have a single table containing the results on all crack backgrounds. This is possible by calling the operators CALC_G or POST_K1_K2_K3 as many times as there are cracks present, then by concatenating the tables into a single table (see test case sslp318a).

Note:

If you want to stay in PAR_LOT =” OUI “, you need to know the number of cracks in advance. In cases of complex propagation where the fund is subdivided into several funds or if the funds recombine with each other, the number of funds cannot be known in advance, and this number must then be retrieved in the SD_FISS_XFEM (in PAR_LOT =” NON “with the command RECU_TABLE, cf. ssnv192a).

7.5. Propagation#

A spread calculation is based on three ingredients:

  • a propagation criterion (giving the increment in advance of the crack),

  • a bifurcation criterion (giving the angle of bifurcation),

  • an algorithm for updating the crack.

For a propagation calculation to be correct, these three ingredients must also be correct. The first two ingredients are common to cracks that are meshed or not. Only the third has specific features specific to the X- FEM framework.

Propagation criterion

Usually, a Paris law is used whose inputs are material parameters, stress intensity factors and the number of cycles to be simulated. It is therefore necessary to know these material parameters on the one hand. In addition, the precision and regularity of stress intensity factors is a key element in propagation. A low error (of the order of 1 or 2% on \(\Delta K\)) can cause significant differences over the lifetime (figure 48 of [16]). The number of cycles to be simulated is normally a free parameter. However, an excessively low choice of this number of cycles may involve a propagation of a length much less than one element, it is therefore more convenient to control the advance not in terms of the number of cycles but in a maximum advance increment (“DA_MAX”). It is recommended to choose a maximum advance of 1 or 2 elements.

Bifurcation criteria

A comparison of the various bifurcation criteria has not yet been made. But it seems that in 2D, all the bifurcation criteria are the same, which is not the case in 3D. A thesis is in progress on a mixed mode fatigue crack propagation model with LMT Cachan and AREVA [17].

Crack update algorithm

In the X- FEM frame, since cracks are represented by level sets, updating the crack is the same as updating (or re-updating) the level sets. The operator PROPA_FISS offers 4 methods for this (see § 16). These four methods have no theoretical limits of use, but in practice they are not all the same, and they each have their own specificities.

In general, method UPWIND requires the mesh to be regular. If this is not the case, it is imperative to create an auxiliary (regular) grid and define it in PROPA_FISS.

Method GEOMETRIQUEest a method that does not require an auxiliary grid, as in the case of method UPWIND, and only uses the mesh structure, unlike the MAILLAGE method. Its use is therefore identical to that of methods SIMPLEXE, UPWIND without an auxiliary grid.

Method SIMPLEXE is a new method that was formulated and introduced in*Code_Aster* recently. It does not require an auxiliary grid, as in the case of method UPWIND. This method proves to be robust and the first results show good performances on complex tests that put the other methods at fault.

Note on choosing the update area (methods UPWIND, SIMPLEXE, and GEOMETRIQUE):

The keywords ZONE_MAJ =” TORE “and RAYON_TORE limit the area where level sets can be updated. Attention: in the case of cracks with several crack bottoms (for example in the case of a segment-type crack, in 2D, which has 2 crack bottoms), the torus must not include the other depths of the crack (even if these other backgrounds are « outside the mesh »). It is therefore necessary to limit the value of RAYON_TOREà to a zone « close » to the bottom of the crack. It is recommended to use the torus with the upwind method when using the auxiliary grid.

In 2D:

For a sufficiently fine mesh, the 4 methods give very similar results. We can refer to [11] for examples of 2D propagation with the “MAILLAGE” method and to [15] for comparisons between the three methods in 2D.

In 3d:

In plane propagation, a comparison between the four methods for 3d propagation [18] showed similar results on an industrial structure. However, it should be noted that the “UPWIND” method is more difficult to implement on free meshes due to the addition of an auxiliary grid. It is recommended to use methods SIMPLEXE, and GEOMETRIQUE.

In non-plane propagation, a study [19] has shown that the “MAILLAGE” method is no longer completely robust when the propagation becomes truly non-plane. In this case, the methods” UPWIND “or” SIMPLEXE “and” GEOMETRIQUE “are recommended.

We can also refer to [12] for examples of plane 3d propagation with the “MAILLAGE” method.

The sslv317a test case presents a case of out-of-plane propagation with adaptive refinement according to the evolution of the crack background with the “MAILLAGE” method.

Note:

It is also possible to update the level sets without going through PROPA_FISS: by modifying the characteristics of the crack with an imposed shape at each propagation step, in DEFI_FISS_XFEM (similar to the PROFAT methodology). This technique gives satisfactory results [16], but remains limited to cases of plane propagation, with a crack that propagates while maintaining the same shape (semi-elliptical for example).

In summary:

  • For 2d propagation, it is better to use the method MAILLAGE ;

  • For 3d propagation, it is better to use the method GEOMETRIQUE or SIMPLEXE

Robustness in mixed 2D and 3D plane

Robustness in mixed 3D

Ease of use

Performance

MAILLAGE

++

-

++

SIMPLEXE

++

++

++

++

++

UPWIND

++

++

++

++

++

GEOMETRIQUE

++

++

++

++

++

7.6. Contact friction#

The use of contact friction with the X- FEM method is present in the code on an experimental basis, and is the subject of research. Taking friction terms into account is not correct in the general case. In particular, only cracks with low curvature will give correct results.

Moreover, the convergence of the continuous method is far from being systematic. In the current state, the choice of the integration scheme for the contact friction terms is a crucial point for the convergence of the X- FEM simulations. The recommended schemas are schemas containing the element’s nodes as integration points (INTEGRATION =” NOEUD “,” SIMPSON “,” NCOTES “under the CONTACT keyword).