B modeling ============== Characteristics of modeling ------------------------ It's a :math:`\mathrm{3D}` XFEM modeling with quadratic elements. This modeling demonstrates the need for the preconditioner for the calculation with quadratic elements. The interface is positioned at 10% (of the length of the edge) beyond the 1% interface readjustment threshold, but the conditioning of the stiffness matrix is already high: without the pre-conditioner, the test cannot rotate robustly. With the preconditioner, the direct solver calculates a solution in a robust manner. The equation for interface XFEM is: :math:`x+y+z+0.1\mathrm{=}0`. Characteristics of the mesh ---------------------------- Number of knots: 425 Mesh: 64 HEXA20 type meshes .. image:: images/10000000000003550000035773D035CFB345D048.png :width: 4.0465in :height: 4.1299in .. _RefImage_10000000000003550000035773D035CFB345D048.png: Figure 4.2-1: quadratic mesh Tested sizes and results ------------------------------ We test the maximum error on the displacement, in absolute value, along the interface XFEM. A list of points located on the interface is extracted, as well as the displacement field interpolated at these points. As the displacement field is discontinuous, at each point of the interface, there are 2 analytical values of the displacement field :math:`{U}^{\text{+}}\left(x,y,z\right)=\{{U}_{1}^{\text{+}},{U}_{2}^{\text{+}},{U}_{3}^{\text{+}}\}` and :math:`{U}^{\text{-}}\left(x,y,z\right)=\{{U}_{1}^{\text{-}},{U}_{2}^{\text{-}},{U}_{3}^{\text{-}}\}`. These analytical values are compared to the displacement field interpolated at each point by ASTER at each point. In practice, in the Code_Aster to take into account the discontinuity during interpolation, each point on the interface is transformed into duplicate nodes (NP*and NM*) to which are associated displacement values :math:`{\mathit{DX}}_{i}(\mathit{NP})` and :math:`{\mathit{DX}}_{i}(\mathit{NM})`. *For the "PLUS" nodes (noted NP* by default in the Code_aster), the following difference table is then calculated :math:`\mathit{DIFF}{(\mathit{NP})}_{i}=∣{U}_{i}^{\text{+}}({x}_{\mathit{NP}},{y}_{\mathit{NP}},{z}_{\mathit{NP}})-{\mathit{DX}}_{i}(\mathit{NP})∣`; *for the nodes "MOINS" (noted NM* by default in the Code_aster), the following difference table is then calculated :math:`\mathit{DIFF}{(\mathit{NM})}_{i}=∣{U}_{i}^{\text{-}}({x}_{\mathit{NM}},{y}_{\mathit{NM}},{z}_{\mathit{NM}})-{\mathit{DX}}_{i}(\mathit{NM})∣`. .. csv-table:: "**Identification**", "**Reference**", "**Type**", "**% tolerance**" ":math:`\text{DIFF}{\text{(NP)}}_{X}` (MAX)", "0.0", "Analytics", "1.E-09" ":math:`\text{DIFF}{\text{(NP)}}_{Y}` (MAX)", "0.0", "Analytics", "1.E-09" ":math:`\text{DIFF}{\text{(NP)}}_{Z}` (MAX)", "0.0", "Analytics", "1.E-09" ":math:`\text{DIFF}{\text{(NM)}}_{X}` (MAX)", "0.0", "Analytics", "1.E-04" ":math:`\text{DIFF}{\text{(NM)}}_{Y}` (MAX)", "0.0", "Analytics", "1.E-04" ":math:`\text{DIFF}{\text{(NM)}}_{Z}` (MAX)", "0.0", "Analytics", "1.E-04" **Table** 4.3-1 **: summary results** note -------- Analytical tolerances are much lower than for modeling :math:`A`. This difference is explained by the readjustment of the interface to the nodes for the linear elements of modeling :math:`A`. If the interface is positioned far from the 1% readjustment threshold, there is an improvement in the results for linear elements.