| (15 intermediate revisions by the same user not shown) | |||
| Line 92: | Line 92: | ||
|} | |} | ||
| − | The domain boundary <math display="inline">\partial \Omega = \Gamma _N \cup \Gamma _D</math> is the union of the boundary with Neumann conditions, denoted <math display="inline">\Gamma _N</math>, and the boundary with Dirichlet conditions, denoted <math display="inline">\Gamma _D</math>. | + | The domain boundary <math display="inline">\partial \Omega = \Gamma _N \cup \Gamma _D</math> is the union of the boundary with Neumann conditions, denoted <math display="inline">\Gamma _N</math>, and the boundary with Dirichlet conditions, denoted <math display="inline">\Gamma _D</math>. Equation [[#eq-5|(5)]] must be satisfied for the given forces <math display="inline">\boldsymbol{b}_N</math> and displacements <math display="inline">\boldsymbol{u}_D</math> along the boundary. The following equations remark these user defined boundary conditions, |
<span id="eq-6.a"></span> | <span id="eq-6.a"></span> | ||
| Line 109: | Line 109: | ||
|} | |} | ||
| − | + | [[#img-1|Figure 1]] illustrates the initial body with the boundary conditions, and the distorted body after equilibrium is solved in the elasticity equation. | |
<div id='img-1'></div> | <div id='img-1'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 70%;" |
|- | |- | ||
|[[Image:Review_101239056093_4049_image1.jpg|600px|(a) The initial body, Ω, with its boundary conditions ퟃΩ= Γ<sub>N</sub>∪Γ<sub>D</sub>. (b) The distorted body resulting from solving equilibrium in the elasticity equation, with the boundary conditions given by b<sub>N</sub> and u<sub>D</sub>. The boundaries where there are not conditions indicated explicitly, correspond to Neumann conditions b<sub>N</sub>= 0.]] | |[[Image:Review_101239056093_4049_image1.jpg|600px|(a) The initial body, Ω, with its boundary conditions ퟃΩ= Γ<sub>N</sub>∪Γ<sub>D</sub>. (b) The distorted body resulting from solving equilibrium in the elasticity equation, with the boundary conditions given by b<sub>N</sub> and u<sub>D</sub>. The boundaries where there are not conditions indicated explicitly, correspond to Neumann conditions b<sub>N</sub>= 0.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 1'''. (a) The initial body, <math>\Omega </math>, with its boundary conditions <math>\partial \Omega = \Gamma _N \cup \Gamma _D</math>. (b) The distorted body resulting from solving equilibrium in the elasticity equation, with the boundary conditions given by <math>\boldsymbol{b}_N</math> and <math>\boldsymbol{u}_D</math>. The boundaries where there are not conditions indicated explicitly, correspond to Neumann conditions <math>\boldsymbol{b}_N = 0</math> | + | | colspan="1" style="padding:10px;"| '''Figure 1'''. (a) The initial body, <math>\Omega </math>, with its boundary conditions <math>\partial \Omega = \Gamma _N \cup \Gamma _D</math>. (b) The distorted body resulting from solving equilibrium in the elasticity equation, with the boundary conditions given by <math>\boldsymbol{b}_N</math> and <math>\boldsymbol{u}_D</math>. The boundaries where there are not conditions indicated explicitly, correspond to Neumann conditions <math>\boldsymbol{b}_N = 0</math> |
|} | |} | ||
| − | |||
==3. Numerical method== | ==3. Numerical method== | ||
| − | On this section we go into the details of the numerical procedure by discussing 1) the discretization with CVFA, 2) the control volumes integration, 3) the subfaces integrals, 4) the simplex-wise polynomial approximation, 5) the pair-wise polynomial approximation, 6) the homeostatic splines used within the shape functions, 7) the linear system assembling, 8) how to impose boundary conditions and 9) two special cases of the formulation. | + | On this section we go into the details of the numerical procedure by discussing: 1) the discretization with CVFA, 2) the control volumes integration, 3) the subfaces integrals, 4) the simplex-wise polynomial approximation, 5) the pair-wise polynomial approximation, 6) the homeostatic splines used within the shape functions, 7) the linear system assembling, 8) how to impose boundary conditions and 9) two special cases of the formulation. |
For the sake of legibility, in some parts of the text we unfold the matrices only for the bidimensional case, but the very same procedures must be followed for the 3D case. | For the sake of legibility, in some parts of the text we unfold the matrices only for the bidimensional case, but the very same procedures must be followed for the 3D case. | ||
| Line 154: | Line 153: | ||
|} | |} | ||
| − | + | [[#img-2|Figure 2]] illustrates the partition <math display="inline">P_h</math> of <math display="inline">\Omega </math> into <math display="inline">N</math> control volumes defined in the equations [[#eq-7|(7)]] and [[#eq-8|(8)]]. | |
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | |
| + | <div id='img-2'></div> | ||
| + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 70%;" | ||
|- | |- | ||
|[[Image:Review_101239056093_8669_image2.jpg|600px|The partition Pₕ is the discretization of the domain Ω into N control volumes. The boundary of the control volumes, ퟃV<sub>i</sub>, is conformed by N<sub>i</sub> flat faces, denoted e<sub>ij</sub>. The unit vector n<sub>ij</sub> is normal to the face e<sub>ij</sub>. The faces of the volumes adjacent to the boundary Γ<sub>N</sub> are integrated using the condition b<sub>N</sub>.]] | |[[Image:Review_101239056093_8669_image2.jpg|600px|The partition Pₕ is the discretization of the domain Ω into N control volumes. The boundary of the control volumes, ퟃV<sub>i</sub>, is conformed by N<sub>i</sub> flat faces, denoted e<sub>ij</sub>. The unit vector n<sub>ij</sub> is normal to the face e<sub>ij</sub>. The faces of the volumes adjacent to the boundary Γ<sub>N</sub> are integrated using the condition b<sub>N</sub>.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 2'''. The partition <math>P_h</math> is the discretization of the domain <math>\Omega </math> into <math>N</math> control volumes. The boundary of the control volumes, <math>\partial V_i</math>, is conformed by <math>N_{i}</math> flat faces, denoted <math>e_{ij}</math>. The unit vector <math>\mathbf{n}_{ij}</math> is normal to the face <math>e_{ij}</math>. The faces of the volumes adjacent to the boundary <math>\Gamma _N</math> are integrated using the condition <math>\boldsymbol{b}_N</math> | + | | colspan="1" style="padding:10px;"| '''Figure 2'''. The partition <math>P_h</math> is the discretization of the domain <math>\Omega </math> into <math>N</math> control volumes. The boundary of the control volumes, <math>\partial V_i</math>, is conformed by <math>N_{i}</math> flat faces, denoted <math>e_{ij}</math>. The unit vector <math>\mathbf{n}_{ij}</math> is normal to the face <math>e_{ij}</math>. The faces of the volumes adjacent to the boundary <math>\Gamma _N</math> are integrated using the condition <math>\boldsymbol{b}_N</math> |
|} | |} | ||
| − | + | [[#img-3|Figure 3]] shows a three dimensional control volume. | |
<div id='img-3'></div> | <div id='img-3'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 60%;" |
|- | |- | ||
|[[Image:Review_101239056093_1413_image3.jpg|600px|The boundary ퟃV<sub>i</sub> of the three dimensional control volume V<sub>i</sub> is subdivided into N<sub>i</sub> flat faces, denoted e<sub>ij</sub>. The unit vector n<sub>ij</sub> is normal to the face e<sub>ij</sub>.]] | |[[Image:Review_101239056093_1413_image3.jpg|600px|The boundary ퟃV<sub>i</sub> of the three dimensional control volume V<sub>i</sub> is subdivided into N<sub>i</sub> flat faces, denoted e<sub>ij</sub>. The unit vector n<sub>ij</sub> is normal to the face e<sub>ij</sub>.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 3'''. The boundary <math>\partial V_i</math> of the three dimensional control volume <math>V_i</math> is subdivided into <math>N_{i}</math> flat faces, denoted <math>e_{ij}</math>. The unit vector <math>\mathbf{n}_{ij}</math> is normal to the face <math>e_{ij}</math> | + | | colspan="1" style="padding:10px;"| '''Figure 3'''. The boundary <math>\partial V_i</math> of the three dimensional control volume <math>V_i</math> is subdivided into <math>N_{i}</math> flat faces, denoted <math>e_{ij}</math>. The unit vector <math>\mathbf{n}_{ij}</math> is normal to the face <math>e_{ij}</math> |
|} | |} | ||
| Line 364: | Line 365: | ||
===3.3 Calculating face integrals=== | ===3.3 Calculating face integrals=== | ||
| − | The surface integrals <math display="inline">\mathbf{H}_{ij}</math> along the flat faces <math display="inline">e_{ij}</math> are calculated using an auxiliary piece-wise polynomial approximation of the displacement field. This approximation is based on the simplices (triangles in 2D or tetrahedra in 3D) resulting from the Delaunay triangulation of the calculation points <math display="inline">\mathbf{x}_i</math> from the neighborhood of <math display="inline">V_i</math>. The Delaunay triangulation is the best triangulation for numerical interpolation, since it maximizes the minimum angle of the simplices, which means that its quality is maximized as well. We define the neighborhood <math display="inline">{B}_i</math> of volume <math display="inline">V_i</math> as the minimum set of calculation points <math display="inline">\mathbf{x}_j</math> such that the simplices intersecting <math display="inline">V_i</math> does not change if we add another calculation point to the set. Observe that the neighborhood <math display="inline">{B}_i</math> does not always coincide with the set of calculation points in volumes adjacent to <math display="inline">V_i</math>, as in most of the FV formulations. Once the neighborhood <math display="inline">{B}_i</math> is triangulated, we ignore the simplices with angles smaller than <math display="inline">10</math> degrees, and the simplices formed outside the domain, which commonly appear in concavities of the boundary <math display="inline">\partial \Omega </math>. The local set of simplices resulting from the neighborhood of <math display="inline">V_i</math> is denoted <math display="inline">P_\alpha </math>. | + | The surface integrals <math display="inline">\mathbf{H}_{ij}</math> along the flat faces <math display="inline">e_{ij}</math> are calculated using an auxiliary piece-wise polynomial approximation of the displacement field. This approximation is based on the simplices (triangles in 2D or tetrahedra in 3D) resulting from the Delaunay triangulation of the calculation points <math display="inline">\mathbf{x}_i</math> from the neighborhood of <math display="inline">V_i</math>. The Delaunay triangulation is the best triangulation for numerical interpolation, since it maximizes the minimum angle of the simplices, which means that its quality is maximized as well. We define the neighborhood <math display="inline">{B}_i</math> of volume <math display="inline">V_i</math> as the minimum set of calculation points <math display="inline">\mathbf{x}_j</math> such that the simplices intersecting <math display="inline">V_i</math> does not change if we add another calculation point to the set. Observe that the neighborhood <math display="inline">{B}_i</math> does not always coincide with the set of calculation points in volumes adjacent to <math display="inline">V_i</math>, as in most of the FV formulations. Once the neighborhood <math display="inline">{B}_i</math> is triangulated, we ignore the simplices with angles smaller than <math display="inline">10</math> degrees, and the simplices formed outside the domain, which commonly appear in concavities of the boundary <math display="inline">\partial \Omega </math>. The local set of simplices resulting from the neighborhood of <math display="inline">V_i</math> is denoted <math display="inline">P_\alpha </math>. [[#img-4|Figure 4]] illustrates the difference between (a) the simplices resulting from the triangulation of the calculation points in adjacent volumes and (b) those resulting from the triangulation of the proposed neighborhood <math display="inline">{B}_i</math>. |
<div id='img-4'></div> | <div id='img-4'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 80%;" |
|- | |- | ||
|[[Image:Review_101239056093_7534_image4.jpg|600px|(a) The dotted line illustrates the triangulation of the calculation points of adjacent volumes to V<sub>i</sub>, used by most of the FV methods. (b) The dotted line shows the simplices forming the piece-wise approximation used to solve the integrals H<sub>ij</sub> of the control volume V<sub>i</sub>.]] | |[[Image:Review_101239056093_7534_image4.jpg|600px|(a) The dotted line illustrates the triangulation of the calculation points of adjacent volumes to V<sub>i</sub>, used by most of the FV methods. (b) The dotted line shows the simplices forming the piece-wise approximation used to solve the integrals H<sub>ij</sub> of the control volume V<sub>i</sub>.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 4'''. (a) The dotted line illustrates the triangulation of the calculation points of adjacent volumes to <math>V_i</math>, used by most of the FV methods. (b) The dotted line shows the simplices forming the piece-wise approximation used to solve the integrals <math>\mathbf{H}_{ij}</math> of the control volume <math>V_i</math> | + | | colspan="1" style="padding:10px;"| '''Figure 4'''. (a) The dotted line illustrates the triangulation of the calculation points of adjacent volumes to <math>V_i</math>, used by most of the FV methods. (b) The dotted line shows the simplices forming the piece-wise approximation used to solve the integrals <math>\mathbf{H}_{ij}</math> of the control volume <math>V_i</math> |
|} | |} | ||
| Line 387: | Line 388: | ||
|} | |} | ||
| − | these subfaces result from the intersection between <math display="inline">P_\alpha </math> and the control volume <math display="inline">V_i</math>. | + | these subfaces result from the intersection between <math display="inline">P_\alpha </math> and the control volume <math display="inline">V_i</math>. [[#img-4|Figure 4]](b) illustrates six key points of this approach: 1) the simplices are used to create a polynomial interpolation of <math display="inline">\boldsymbol{u}(\mathbf{x})</math> over the boundary of the control volume, 2) most of the faces are intersected by several simplices, such faces must be divided into subfaces to be integrated, 3) some few faces are inside a single simplex, as illustrated in the face formed by <math display="inline">V_i</math> and <math display="inline">V_k</math>, 4) there are volumes that require information of non-adjacent volumes to calculate its face integrals, such as <math display="inline">V_i</math> requires <math display="inline">V_k</math>, 5) the dependency between volumes is not always symmetric, which means that if <math display="inline">V_i</math> requires <math display="inline">V_k</math> does not implies that <math display="inline">V_k</math> requires <math display="inline">V_i</math>, and 6) non conforming meshes are supported, as shown in the faces formed by <math display="inline">V_a</math>, <math display="inline">V_b</math>, <math display="inline">V_c</math>, <math display="inline">V_d</math> and <math display="inline">V_j</math>. |
The integral [[#eq-23|(23)]] is now rewritten in terms of the subfaces | The integral [[#eq-23|(23)]] is now rewritten in terms of the subfaces | ||
| Line 415: | Line 416: | ||
|} | |} | ||
| − | where <math display="inline">w_g</math> is the corresponding quadrature weight and <math display="inline">(\mathbf{S}\boldsymbol{u})_{ijk}|_{\mathbf{x}_g}</math> is the strain evaluation of the Gauss point with the proper change of interval, denoted <math display="inline">\mathbf{x}_{g}</math>. | + | where <math display="inline">w_g</math> is the corresponding quadrature weight and <math display="inline">(\mathbf{S}\boldsymbol{u})_{ijk}|_{\mathbf{x}_g}</math> is the strain evaluation of the Gauss point with the proper change of interval, denoted <math display="inline">\mathbf{x}_{g}</math>. [[#img-5|Figure 5]] shows the change of interval required for a 2D face. A 3D face (a polygon) must be subdivided to be integrated with a triangular quadrature. |
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | |
| + | <div id='img-5'></div> | ||
| + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 70%;" | ||
|- | |- | ||
|[[Image:Review_101239056093_3659_image5.jpg|600px|(a) The shaded volume V<sub>i</sub> is being integrated. The integral over the subface e<sub>ijk</sub> is calculated using the polynomial approximation of the shaded simplex. The integration point must be mapped to (b) the normalized space [-1,1] in order to use the Gauss- Legendre quadrature.]] | |[[Image:Review_101239056093_3659_image5.jpg|600px|(a) The shaded volume V<sub>i</sub> is being integrated. The integral over the subface e<sub>ijk</sub> is calculated using the polynomial approximation of the shaded simplex. The integration point must be mapped to (b) the normalized space [-1,1] in order to use the Gauss- Legendre quadrature.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 5'''. (a) The shaded volume <math>V_i</math> is being integrated. The integral over the subface <math>e_{ijk}</math> is calculated using the polynomial approximation of the shaded simplex. The integration point must be mapped to (b) the normalized space <math>[-1,1]</math> in order to use the Gauss- Legendre quadrature | + | | colspan="1" style="padding:10px;"| '''Figure 5'''. (a) The shaded volume <math>V_i</math> is being integrated. The integral over the subface <math>e_{ijk}</math> is calculated using the polynomial approximation of the shaded simplex. The integration point must be mapped to (b) the normalized space <math>[-1,1]</math> in order to use the Gauss- Legendre quadrature |
|} | |} | ||
| Line 442: | Line 445: | ||
|} | |} | ||
| − | where <math display="inline">\mathbf{e}_q</math> is the <math display="inline">q^{th}</math> standard basis vector. | + | where <math display="inline">\mathbf{e}_q</math> is the <math display="inline">q^{th}</math> standard basis vector. [[#img-6|Figures 6]] and [[#img-7|7]] illustrates the original and the normalized simplices with the corresponding node numeration for 2D and 3D respectively. |
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | |
| + | <div id='img-6'></div> | ||
| + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 60%;" | ||
|- | |- | ||
|[[Image:Review_101239056093_1743_image6.jpg|600px|(a) The simplex formed by the points x₁, x₂ and x₃ in the original space contains an interior point x<sub>g</sub> that is mapped to (b) ξ<sub>g</sub> into the normalized 2D-simplex formed by the points ξ₁, ξ₂ and ξ₃.]] | |[[Image:Review_101239056093_1743_image6.jpg|600px|(a) The simplex formed by the points x₁, x₂ and x₃ in the original space contains an interior point x<sub>g</sub> that is mapped to (b) ξ<sub>g</sub> into the normalized 2D-simplex formed by the points ξ₁, ξ₂ and ξ₃.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 6'''. (a) The simplex formed by the points <math>\mathbf{x}_1</math>, <math>\mathbf{x}_2</math> and <math>\mathbf{x}_3</math> in the original space contains an interior point <math>\mathbf{x}_g</math> that is mapped to (b) <math>\boldsymbol{\xi }_g</math> into the normalized 2D-simplex formed by the points <math>\boldsymbol{\xi }_1</math>, <math>\boldsymbol{\xi }_2</math> and <math>\boldsymbol{\xi }_3</math> | + | | colspan="1" style="padding:10px;"| '''Figure 6'''. (a) The simplex formed by the points <math>\mathbf{x}_1</math>, <math>\mathbf{x}_2</math> and <math>\mathbf{x}_3</math> in the original space contains an interior point <math>\mathbf{x}_g</math> that is mapped to (b) <math>\boldsymbol{\xi }_g</math> into the normalized 2D-simplex formed by the points <math>\boldsymbol{\xi }_1</math>, <math>\boldsymbol{\xi }_2</math> and <math>\boldsymbol{\xi }_3</math> |
|} | |} | ||
<div id='img-7'></div> | <div id='img-7'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 70%;" |
|- | |- | ||
|[[Image:Review_101239056093_8671_image7.jpg|600px|(a) The 3D-simplex formed by the points x₁, x₂, x₃ and x₄ in the original space contains an interior point x<sub>g</sub> that is mapped to (b) ξ<sub>g</sub> into the normalized 3D-simplex formed by the points ξ₁, ξ₂, ξ₃ and ξ₄.]] | |[[Image:Review_101239056093_8671_image7.jpg|600px|(a) The 3D-simplex formed by the points x₁, x₂, x₃ and x₄ in the original space contains an interior point x<sub>g</sub> that is mapped to (b) ξ<sub>g</sub> into the normalized 3D-simplex formed by the points ξ₁, ξ₂, ξ₃ and ξ₄.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 7'''. (a) The 3D-simplex formed by the points <math>\mathbf{x}_1</math>, <math>\mathbf{x}_2</math>, <math>\mathbf{x}_3</math> and <math>\mathbf{x}_4</math> in the original space contains an interior point <math>\mathbf{x}_g</math> that is mapped to (b) <math>\boldsymbol{\xi }_g</math> into the normalized 3D-simplex formed by the points <math>\boldsymbol{\xi }_1</math>, <math>\boldsymbol{\xi }_2</math>, <math>\boldsymbol{\xi }_3</math> and <math>\boldsymbol{\xi }_4</math> | + | | colspan="1" style="padding:10px;"| '''Figure 7'''. (a) The 3D-simplex formed by the points <math>\mathbf{x}_1</math>, <math>\mathbf{x}_2</math>, <math>\mathbf{x}_3</math> and <math>\mathbf{x}_4</math> in the original space contains an interior point <math>\mathbf{x}_g</math> that is mapped to (b) <math>\boldsymbol{\xi }_g</math> into the normalized 3D-simplex formed by the points <math>\boldsymbol{\xi }_1</math>, <math>\boldsymbol{\xi }_2</math>, <math>\boldsymbol{\xi }_3</math> and <math>\boldsymbol{\xi }_4</math> |
|} | |} | ||
| Line 652: | Line 657: | ||
===3.5 Pair-wise polynomial approximation=== | ===3.5 Pair-wise polynomial approximation=== | ||
| − | Since we are not making any assumption about the volumes distribution through the mesh, neither about the internal location of its calculation points, then we have to deal with portions of the mesh that are no covered by any simplex. | + | Since we are not making any assumption about the volumes distribution through the mesh, neither about the internal location of its calculation points, then we have to deal with portions of the mesh that are no covered by any simplex. [[#img-8|Figure 8]] illustrates the two most common cases. The first case takes place in meshes where the calculation points of volumes contiguous to the boundary are in the interior of such volumes, producing subfaces not intersected by any simplex, and the second case occurs when elongated sections of the domain are discretized with a queue of aligned volumes, where each volume has only two neighbors on opposite faces and no simplex can be formed. |
<div id='img-8'></div> | <div id='img-8'></div> | ||
| Line 709: | Line 714: | ||
|} | |} | ||
| − | In the general case, the gradient is not constant along the face <math display="inline">e_{ij}</math>, since its normal is not necessary aligned with <math display="inline">\mathbf{x}_{\vec{ij}}</math>, as illustrated in | + | In the general case, the gradient is not constant along the face <math display="inline">e_{ij}</math>, since its normal is not necessary aligned with <math display="inline">\mathbf{x}_{\vec{ij}}</math>, as illustrated in [[#img-9|Figure 9]]. <div id='img-9'></div> |
{| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 70%;" | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 70%;" | ||
|- | |- | ||
| Line 787: | Line 792: | ||
|} | |} | ||
| − | + | [[#img-10|Figure 10]](a) shows the evolution of the spline as we increase the smoothness parameter from <math display="inline">c=0</math> to <math display="inline">c=6</math>, and [[#img-10|Figure 10]](b) the evolution of it first derivative. Smoother splines produces higher order polynomials which increases the accuracy of the stress field approximation. This feature is specially important when solving non-linear problems sensibles to the stress field. | |
<div id='img-10'></div> | <div id='img-10'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 65%;" |
|- | |- | ||
|[[Image:Review_101239056093_6248_image10.jpg|600px|(a) The evolution of the homeostatic spline from c=0 to c=6 illustrates the smoothness requirements at the endpoints of each spline and its (b) first derivatives.]] | |[[Image:Review_101239056093_6248_image10.jpg|600px|(a) The evolution of the homeostatic spline from c=0 to c=6 illustrates the smoothness requirements at the endpoints of each spline and its (b) first derivatives.]] | ||
| Line 834: | Line 839: | ||
|} | |} | ||
| − | respectively. | + | respectively. [[#img-11|Figure 11]] exhibits the curves for the first seven levels of smoothness. The null higher derivatives requirement is noticeable at the midpoint. |
<div id='img-11'></div> | <div id='img-11'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 60%;" |
|- | |- | ||
| − | |[[Image:Review_101239056093_8102_image11.jpg| | + | |[[Image:Review_101239056093_8102_image11.jpg|700px|Curves of the pseudo-inverse Q<sub>c</sub> for the first seven levels of smoothness. The slope at the midpoint exposes the null higher derivatives requirement when increasing the polynomial order.]] |
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| colspan="1" style="padding:10px;| '''Figure 11'''. Curves of the pseudo-inverse <math>{Q}_c</math> for the first seven levels of smoothness. The slope at the midpoint exposes the null higher derivatives requirement when increasing the polynomial order | | colspan="1" style="padding:10px;| '''Figure 11'''. Curves of the pseudo-inverse <math>{Q}_c</math> for the first seven levels of smoothness. The slope at the midpoint exposes the null higher derivatives requirement when increasing the polynomial order | ||
| Line 845: | Line 850: | ||
| − | + | [[#img-12|Figure 12]] shows the shape functions for the 2D case. The top displays the last node function and the bottom the first node function, the function of the second node is equivalent to that of the first one. The columns separate the first three levels of smoothness. Top and bottom functions coincides at the edges in order to create a continuous field, but only the bottom functions decay uniformly from the node to the opposite edge. The shape functions with <math display="inline">c=0</math> are the only case where all the shape functions are indistinguishable, these are planes. | |
<div id='img-12'></div> | <div id='img-12'></div> | ||
| Line 856: | Line 861: | ||
| − | + | [[#img-13|Figure 13]] shows the magnitude of the gradient with respect to the normalized space. With the same tabular configuration of [[#img-12|Figure 12]], the columns separate the first three levels of smoothness, the top displays the last node gradient and the bottom the first node gradient, the gradient of the second node is equivalent to that of the first one. Only the gradient magnitude at the bottom has a uniform variation from the node to the opposite face, and the value of the node does not contribute to the value of such a face. On the contrary, in the top can be observed that the value of the node contributes to the gradient at the opposite face, which means that using <math display="inline">~c > 0~</math> the continuity on the stress field is only guaranteed at the calculation points, but not in the simplices edges. | |
<div id='img-13'></div> | <div id='img-13'></div> | ||
| Line 950: | Line 955: | ||
===3.9 Special cases=== | ===3.9 Special cases=== | ||
| − | By making some considerations, we identify two special cases where the calculations can be simplified, in order to increase the performance of the total computation, at the expense of losing control over the volumes shape. These cases are 1) the Voronoi mesh assumption and 2) the FV-FEM correlation. | + | By making some considerations, we identify two special cases where the calculations can be simplified, in order to increase the performance of the total computation, at the expense of losing control over the volumes shape. These cases are: 1) the Voronoi mesh assumption and 2) the FV-FEM correlation. |
| − | In the first case, we assume that the initial mesh is equivalent to the Voronoi diagram and that the Voronoi centres correspond to the calculation points <math display="inline">\mathbf{x}_i</math>. Hence, the subdivision of the neighborhood <math display="inline">{B}_i</math> is already given by the Delaunay triangulation which is dual to the Voronoi mesh, as illustrated in | + | In the first case, we assume that the initial mesh is equivalent to the Voronoi diagram and that the Voronoi centres correspond to the calculation points <math display="inline">\mathbf{x}_i</math>. Hence, the subdivision of the neighborhood <math display="inline">{B}_i</math> is already given by the Delaunay triangulation which is dual to the Voronoi mesh, as illustrated in [[#img-14|Figure 14]](a). Moreover, the integrals of subfaces <math display="inline">e_{ijk}</math> using pair-wise approximations can be exactly integrated with the midpoint rule, since the faces are orthogonal to the vector joining the calculation points <math display="inline">\mathbf{x}_{\vec{ij}}</math>, and the derivatives along the subface are constants. |
<div id='img-14'></div> | <div id='img-14'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 80%;max-width: 100%;" |
|- | |- | ||
|[[Image:Review_101239056093_3668_image14.jpg|600px|(a) The initial mesh is equivalent to the Voronoi diagram and the Voronoi centres correspond to the calculation points x<sub>i</sub>. (b) The initial mesh is generated from a FEM-like triangular mesh. The calculation points x<sub>i</sub> are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments.]] | |[[Image:Review_101239056093_3668_image14.jpg|600px|(a) The initial mesh is equivalent to the Voronoi diagram and the Voronoi centres correspond to the calculation points x<sub>i</sub>. (b) The initial mesh is generated from a FEM-like triangular mesh. The calculation points x<sub>i</sub> are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 14'''. (a) The initial mesh is equivalent to the Voronoi diagram and the Voronoi centres correspond to the calculation points <math>\mathbf{x}_i</math>. (b) The initial mesh is generated from a FEM-like triangular mesh. The calculation points <math>\mathbf{x}_i</math> are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments | + | | colspan="1" style="padding:10px;| '''Figure 14'''. (a) The initial mesh is equivalent to the Voronoi diagram and the Voronoi centres correspond to the calculation points <math>\mathbf{x}_i</math>. (b) The initial mesh is generated from a FEM-like triangular mesh. The calculation points <math>\mathbf{x}_i</math> are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments |
|} | |} | ||
| − | In the second case, the initial mesh is generated from a FEM-like triangular mesh and the approximations are assumed to be linear. In such a case, the calculation points <math display="inline">\mathbf{x}_i</math> are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments, as presented in | + | In the second case, the initial mesh is generated from a FEM-like triangular mesh and the approximations are assumed to be linear. In such a case, the calculation points <math display="inline">\mathbf{x}_i</math> are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments, as presented in [[#img-14|Figure 14]](b). This particular version is equivalent to the cell-centred finite volume scheme introduced by Oñate et al. <span id='citeF-7'></span>[[#cite-7|[7]]], who proved that the global linear system produced by this FV scheme is identical to that produced by FEM if the same mesh is used. |
==4. Results== | ==4. Results== | ||
| − | In order to test the numerical performance of the proposed method, we use the well known analytical experiment of an infinite plate with a circular hole in the origin <span id='citeF-26'></span>[[#cite-26|[26]]]. In such a experiment, the plate is stretched along the horizontal axis with a uniform tension of <math display="inline">\mathbf{f}_{[1]}=10 ~~kPa</math> from each side, as is shown in | + | In order to test the numerical performance of the proposed method, we use the well known analytical experiment of an infinite plate with a circular hole in the origin <span id='citeF-26'></span>[[#cite-26|[26]]]. In such a experiment, the plate is stretched along the horizontal axis with a uniform tension of <math display="inline">\mathbf{f}_{[1]}=10 ~~kPa</math> from each side, as is shown in [[#img-15|Figure 15]]. The material is characterized by the Poisson ratio, <math display="inline">\nu=0.3</math>, and Young modulus, <math display="inline">E=10 ~~MPa</math>. Plane stress is assumed with thickness equivalent to the unity. The dimensions of the computational domain are <math display="inline">a=0.5m</math> and <math display="inline">b=2m</math>. |
<div id='img-15'></div> | <div id='img-15'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 80%;" |
|- | |- | ||
|[[Image:Review_101239056093_7940_image15.jpg|600px|(a) Infinite plate with a hole being stretched along the horizontal axis with a force of f<sub>[1]</sub>=10 ~~kPa from each side. (b) Computational domain, a= 0.5m and b=2m, with axysymmetrical assumptions used to test the numerical method. The polar coordinates, r and θ, for calculating the analytical stress field.]] | |[[Image:Review_101239056093_7940_image15.jpg|600px|(a) Infinite plate with a hole being stretched along the horizontal axis with a force of f<sub>[1]</sub>=10 ~~kPa from each side. (b) Computational domain, a= 0.5m and b=2m, with axysymmetrical assumptions used to test the numerical method. The polar coordinates, r and θ, for calculating the analytical stress field.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 15'''. (a) Infinite plate with a hole being stretched along the horizontal axis with a force of <math>\mathbf{f}_{[1]}=10 ~~kPa</math> from each side. (b) Computational domain, <math>a= 0.5m</math> and <math>b=2m</math>, with axysymmetrical assumptions used to test the numerical method. The polar coordinates, <math>r</math> and <math>\theta </math>, for calculating the analytical stress field | + | | colspan="1" style="padding:10px;"| '''Figure 15'''. (a) Infinite plate with a hole being stretched along the horizontal axis with a force of <math>\mathbf{f}_{[1]}=10 ~~kPa</math> from each side. (b) Computational domain, <math>a= 0.5m</math> and <math>b=2m</math>, with axysymmetrical assumptions used to test the numerical method. The polar coordinates, <math>r</math> and <math>\theta </math>, for calculating the analytical stress field |
|} | |} | ||
| Line 1,011: | Line 1,016: | ||
|} | |} | ||
| − | are used within the calculus. | + | are used within the calculus. [[#img-16|Figure 16]](a) exhibits the discretization of the computational domain into 2411 polygonal volumes used to compare the numerical results against the analytical stress field. This mesh is not equivalent to the Voronoi diagram; [[#img-16|Figure 16]](b) the level sets of <math display="inline">\boldsymbol{\sigma }_{[11]}</math> between <math display="inline">0</math> to <math display="inline">30 ~~kPa</math>, with steps of <math display="inline">1 ~~kPa</math>. [[#img-16|Figure 16]](c) Level sets of <math display="inline">\boldsymbol{\sigma }_{[22]}</math> between <math display="inline">-10</math> and <math display="inline">6 ~~kPa</math>, with steps of <math display="inline">0.8 ~~kPa</math> and [[#img-16|Figure 16]](d) Level sets of <math display="inline">\boldsymbol{\sigma }_{[12]}</math> between <math display="inline">-10</math> and <math display="inline">2 ~~kPa</math>, with steps of <math display="inline">0.6 ~~kPa</math>. |
<div id='img-16'></div> | <div id='img-16'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 80%;" |
|- | |- | ||
|[[Image:Review_101239056093_1864_image16.jpg|600px|(a) Polygonal mesh used for comparison of numerical results. (b) Level sets of σ<sub>[11]</sub> between 0 to 30 ~~kPa. (c) Level sets of σ<sub>[22]</sub> between -10 and 6 ~~kPa. (d) Level sets of σ<sub>[12]</sub> between -10 and 2 ~~kPa.]] | |[[Image:Review_101239056093_1864_image16.jpg|600px|(a) Polygonal mesh used for comparison of numerical results. (b) Level sets of σ<sub>[11]</sub> between 0 to 30 ~~kPa. (c) Level sets of σ<sub>[22]</sub> between -10 and 6 ~~kPa. (d) Level sets of σ<sub>[12]</sub> between -10 and 2 ~~kPa.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 16'''. (a) Polygonal mesh used for comparison of numerical results. (b) Level sets of <math>\boldsymbol{\sigma }_{[11]}</math> between <math>0</math> to <math>30 ~~kPa</math>. (c) Level sets of <math>\boldsymbol{\sigma }_{[22]}</math> between <math>-10</math> and <math>6 ~~kPa</math>. (d) Level sets of <math>\boldsymbol{\sigma }_{[12]}</math> between <math>-10</math> and <math>2 ~~kPa</math> | + | | colspan="1" style="padding:10px;"| '''Figure 16'''. (a) Polygonal mesh used for comparison of numerical results. (b) Level sets of <math>\boldsymbol{\sigma }_{[11]}</math> between <math>0</math> to <math>30 ~~kPa</math>. (c) Level sets of <math>\boldsymbol{\sigma }_{[22]}</math> between <math>-10</math> and <math>6 ~~kPa</math>. (d) Level sets of <math>\boldsymbol{\sigma }_{[12]}</math> between <math>-10</math> and <math>2 ~~kPa</math> |
|} | |} | ||
| − | The Dirichlet conditions are imposed on the bottom and left side of the computational domain as is shown in | + | The Dirichlet conditions are imposed on the bottom and left side of the computational domain as is shown in [[#img-16|Figure 16]](b). Next in order, the analytic stress of equations [[#eq-64|(64)]], [[#eq-65|(65)]] and [[#eq-66|(66)]] is imposed as Neumann condition over the top and right side of the computational domain. |
| − | + | [[#img-17|Figure 17]](a) presents the averaged error as a function of the volumes face length mean, denoted <math display="inline">\Delta x</math>, as we might expect, the error is proportional to the mesh refinement. For a mesh of 478 volumes, [[#img-17|Figure 17]](b) shows the percentage of the error with respect to the error of <math display="inline">c=0</math>, for different smoothing levels, <math display="inline">c=0</math> correspond the linear interpolator. Observe that the error of the stress field does not decreases significantly because we do not increase the degrees of freedom of the linear system, although we built a better field description, which can be useful when solving non-linear formulations. | |
<div id='img-17'></div> | <div id='img-17'></div> | ||
| − | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: | + | {| class="floating_imageSCP" style="text-align: center; border: 1px solid #BBB; margin: 1em auto; width: 80%;" |
|- | |- | ||
|[[Image:Review_101239056093_1349_image17.jpg|600px|(a) The averaged error decreasing as a function of mesh size, denoted ∆x. (b) Using a mesh of 628 volumes, percentage of error for different smoothing levels with respect to the error of c=0, which is the linear interpolator, error increases after c=2.]] | |[[Image:Review_101239056093_1349_image17.jpg|600px|(a) The averaged error decreasing as a function of mesh size, denoted ∆x. (b) Using a mesh of 628 volumes, percentage of error for different smoothing levels with respect to the error of c=0, which is the linear interpolator, error increases after c=2.]] | ||
|- style="text-align: center; font-size: 75%;" | |- style="text-align: center; font-size: 75%;" | ||
| − | | colspan="1" | '''Figure 17'''. (a) The averaged error decreasing as a function of mesh size, denoted <math>\Delta \mathbf{x}</math>. (b) Using a mesh of 628 volumes, percentage of error for different smoothing levels with respect to the error of <math>c=0</math>, which is the linear interpolator, error increases after <math>c=2</math> | + | | colspan="1" style="padding:10px;"| '''Figure 17'''. (a) The averaged error decreasing as a function of mesh size, denoted <math>\Delta \mathbf{x}</math>. (b) Using a mesh of 628 volumes, percentage of error for different smoothing levels with respect to the error of <math>c=0</math>, which is the linear interpolator, error increases after <math>c=2</math> |
|} | |} | ||
Within this paper we discuss a numerical strategy to solve the elasticity problem upon unstructured and non conforming meshes, allowing all kinds of flat-faced elements (polygons in 2D and polyhedra in 3D). The core of the formulation relies on two numerical procedures 1) the Control Volume Function Approximation (CVFA), and 2) the polynomial interpolation in the neighborhood of the control volumes, which is used to solve the surface integrals resulting from applying the divergence theorem. By comparing the estimated stress against the analytical stress field of the well known test of an infinite plate with a hole, we show that this conservative approach is robust and accurate.
Keywords: Stress analysis, elasticity, solid mechanics, CVFA, Finite Volume, unstructured mesh, non conforming mesh
One of the main aims in engineering is creating tools, structures and systems to enhance the quality of life in our society. In the course of the creation process, the design stage is critical for the final outcome. During this stage the engineer have to predict the prototype response when interacting with the physical world. Many of the observed phenomena in the physical world, such as solid mechanics, fluid dynamics, heat diffusion, and others, can be described with Partial Differential Equations (PDEs) by assuming time and space as a continuum.
Computational Continuum Mechanics (CCM) is the area dedicated to develop numerical methods and heuristics to solve these PDEs. Most of the methods can be classified into these two families: 1) weighted residual and 2) conservative methods. The Galerkin formulations are popular and widely used weighted residual methods, such as the Finite Element Method (FEM), which is a well established technique in Computational Solid Mechanics (CSM). Alternatively, the Finite Volume Method (FV) and the Control Volume Function Approximation (CVFA) are common approaches of conservative methods. The main difference between both families is that weighted residuals methods do not conserve quantities locally, but globally instead, resulting in linear systems with commendable numerical properties (symmetrical and well-conditioned matrices, for example). Nevertheless, due to its conservative nature, the second group is more attractive for fluid structure interaction [1,2] and multiphysics simulations [3,4], where several PDE-solvers must be coupled. For that reason, in recent years FV has been subject of interest for solving CSM problems.
Most of the CSM non-linear strategies depend on the accuracy of the estimated stress field for the elasticity problem, such as those for plasticity and damage [5,6]. Hereafter we refer as elasticity-solver to the numerical computation that calculates the displacement and stress fields for a given domain and boundary conditions.
In his influential papers, Oñate et al. propose a FV format for structural mechanics based on triangular meshes [7,8], discussing the cell vertex scheme, the cell centred finite volume scheme and its corresponding mixed formulations, showing that the cell centred strategy produces the same symmetrical global stiffness matrix that FEM using linear triangular elements. Analogously, Bailey et al. develop a similar approach, but using quadrilateral elements to produce cell-centred volumes [9,10]. Even though, the shapes of the volumes in both formulations are completely defined by the FEM-like mesh (triangular or quadrilateral) and it is not possible to handle arbitrary polygonal shapes, as we might expect when receiving the mesh as a read-only input.
Slone et al. [11] extends the investigation of [7] by developing a dynamic solver based on an implicit Newmark scheme for the temporal discretization, with the motivation of coupling an elasticity-solver with his multi-physics modelling software framework, for later application to fluid structure interaction.
Another remarkable algorithm is the proposed by Demirdzic et al. [12,13,14,15,16]. The numerical procedure consists in decoupling the strain term into the displacement Jacobian and its transpose in a cell-centred scheme. The Jacobian is implicitly estimated by approximating the normal component of each face as the finite difference with respect to the adjacent nodes, while the Jacobian transpose is an explicit average of Taylor approximations around the same adjacent nodes. This decoupling produces a smaller memory footprint than FEM because the stiffness matrix is the same for all the components. The solution is found by solving one component each iteration in a coordinate descent minimization. This line of work has shaped most of the state of the art techniques in FV for coupling elasticity-solvers to Computational Fluid Dynamics (CFD) via finite volume practices (usually associated to CFD), such as the schemes proposed by [17,18,19]. However, this segregated algorithm may lead to slow convergence rates when processing non-linear formulations, for example, when it is required to remove the positive principal components of the stress tensor in phase-field damage formulations [20]. In addition, if some non-linear strategy requires multiple iterations of the linear elasticity-solver, such as finite increments in damage models, the nested iterations will increase the processing requirements for simple problems. To circumvent this drawback Cardiff et al. presents a fully block coupled direct solution procedure [21], which does not require multiple iterations, at expense of decomposing the displacement Jacobian of any arbitrary face into a) the Jacobian of the displacement normal component, b) the Jacobian of the displacement tangential component, c) the tangential derivative of the displacement normal component and d) the tangential derivative of the displacement tangential component. This decomposition complicates the treatment of the stress tensor in the iterative non-linear solvers mentioned before for plasticity and damage.
A generalized finite volume framework for elasticity problems on rectangular domains is proposed by Cavalcante et al. [22]. They use higher order displacement approximations at the expense of fixed axis-aligned grids for discretization.
Nordbotten proposes a generalization of the multi-point flux approximation (MPFA), which he names multi-point stress approximation (MPSA) [23]. The MPSA assembles unique linear expressions for the face average stress with more than two points in order to capture the tangential derivatives. The stress field calculated with this procedure is piece-wise constant.
In this work, we propose an elasticity-solver based on CVFA techniques [24,25], using piece-wise polynomial interpolators for solving the surface integrals on the volumes boundaries. The polynomials degree can be increased without incrementing the system degrees of freedom, which make this method more suitable for non-linear models and dynamic computations. Furthermore, this algorithm can handle polygonal/polyhedral, unstructured and non conforming meshes, and does not require the decomposition of the stress tensor.
We consider an arbitrary body, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Omega \in \mathbb{R}^{\hbox{dim}}} , with boundary Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \partial \Omega } . The displacement of a point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}\in \Omega }
is denoted by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{u}(\mathbf{x}) \in \mathbb{R}^{\hbox{dim}}}
. The subscript brackets Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (\cdot )_{[]}}
indicates the component of the vector or matrix. By assuming small deformations and deformation gradients, the infinitesimal strain tensor, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\varepsilon }(\mathbf{x}) \in \mathbb{R}^{\hbox{dim}\times \hbox{dim}}}
, is given by
|
(1) |
Moreover, by considering isotropic elastic materials, the stress tensor, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\sigma }(\mathbf{x}) \in \mathbb{R}^{\hbox{dim}\times \hbox{dim}}} , is defined as
|
(2) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{I}}
is the identity matrix, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle tr(\cdot )}
is the trace, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \lambda }
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mu }
are the Lamé parameters characterizing the material. These parameters are related with the Young's modulus, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle E}
, and the Poisson's ratio, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \nu } , by the following equivalences
|
(3) |
and
|
(4) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \lambda _{\nu } = \nu }
for plane stress analysis, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \lambda _{\nu } = 2\nu }
for plane strain and the 3D cases.
The strong form of the static linear elasticity equation is
|
(5) |
The domain boundary Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \partial \Omega = \Gamma _N \cup \Gamma _D}
is the union of the boundary with Neumann conditions, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Gamma _N}
, and the boundary with Dirichlet conditions, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Gamma _D} . Equation (5) must be satisfied for the given forces Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{b}_N}
and displacements Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{u}_D}
along the boundary. The following equations remark these user defined boundary conditions,
|
Figure 1 illustrates the initial body with the boundary conditions, and the distorted body after equilibrium is solved in the elasticity equation.
On this section we go into the details of the numerical procedure by discussing: 1) the discretization with CVFA, 2) the control volumes integration, 3) the subfaces integrals, 4) the simplex-wise polynomial approximation, 5) the pair-wise polynomial approximation, 6) the homeostatic splines used within the shape functions, 7) the linear system assembling, 8) how to impose boundary conditions and 9) two special cases of the formulation.
For the sake of legibility, in some parts of the text we unfold the matrices only for the bidimensional case, but the very same procedures must be followed for the 3D case.
The domain Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Omega }
is discretized into Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N}
control volumes, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
, using the Control Volume Function Approximation (CVFA) proposed by Li et al. [24,25]. The partition Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle P_h}
of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Omega }
is defined by
|
(7) |
where the boundary of each control volume, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \partial V_i} , is composed by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N_i}
flat faces, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}}
,
|
(8) |
Figure 2 illustrates the partition Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle P_h}
of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Omega }
into Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N}
control volumes defined in the equations (7) and (8).
Figure 3 shows a three dimensional control volume.
Every control volume Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
must have a calculation point
|
(9) |
which is used to estimate the displacement field. Such a point is the base location to calculate the stiffness of the volume. In the volumes adjacent to the boundary Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Gamma _D} , it is convenient to establish the calculation point over the corresponding boundary face,
|
(10) |
in order to set the Dirichlet condition directly on the point.
The elasticity equation (5) is now integrated over the control volume
|
(11) |
using the divergence theorem we transform the volume integral into a surface integral over the volume boundary
|
(12) |
The evaluation of the surface integrals is based on the approximation of the displacement field inside the neighborhood of the volume, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {B}_i} ,
|
(13) |
making use of a group of piece-wise polynomial interpolators, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \varphi _q} . We are going to discuss these interpolators later in this section.
For that reason, the displacement field is decoupled from the stress tensor by using the strain (1) and stress (2) definitions. Taking advantage of the stress tensor symmetry Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~\boldsymbol{\sigma }} , we rewrite the stress normal to the boundary as
|
(14) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{T}}
is the face orientation matrix and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~\vec{\boldsymbol{\sigma }}}
is the engineering stress vector. Developing the stress definition (2) component-wise we can decompose it into the constitutive matrix, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{D}}
, and the engineering strain vector, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \vec{\boldsymbol{\varepsilon }}} , as follows
|
then the components of the strain vector are retrieved from the equation (1), and it is decomposed into the matrix differential operator Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{S}}
and the displacement function Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{u}}
.
|
(17) |
Summarizing the equations (14), (16) and (17) we have
|
(18) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{T}\mathbf{D}\mathbf{S}}
is the stiffness of the volume boundary.
Once the displacement field is decoupled, we rewrite the equation (12) as
|
(19) |
Using the fact that the control volume boundary is divided into flat faces, as in equation (8), we split the integral (19) into the sum of the flat faces integrals
|
(20) |
Notice that the face orientation Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{T}}
along the flat face, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{T}_{ij}}
, is constant. Furthermore, if the control volumes are considered to be made of a unique material and the flat faces to be formed by pairs of adjacent volumes, then the constitutive matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{D}}
along the flat face, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{D}_{ij}}
, is also considered constant. The matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{D}_{ij}}
is estimated from the harmonic average of the Lamé parameters assigned to the adjacent volumes, where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \lambda _i}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mu _i}
are the properties of the volume Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
,
|
(21) |
with Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{T}_{ij}}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{D}_{ij}}
we simplify the equation (20) as
|
(22) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{H}_{ij}}
is the strain integral along the flat face Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}}
,
|
(23) |
The accuracy of the method depends on the correct evaluation of this integral.
The surface integrals Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{H}_{ij}}
along the flat faces Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}}
are calculated using an auxiliary piece-wise polynomial approximation of the displacement field. This approximation is based on the simplices (triangles in 2D or tetrahedra in 3D) resulting from the Delaunay triangulation of the calculation points Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_i}
from the neighborhood of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
. The Delaunay triangulation is the best triangulation for numerical interpolation, since it maximizes the minimum angle of the simplices, which means that its quality is maximized as well. We define the neighborhood Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {B}_i}
of volume Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
as the minimum set of calculation points Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_j}
such that the simplices intersecting Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
does not change if we add another calculation point to the set. Observe that the neighborhood Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {B}_i}
does not always coincide with the set of calculation points in volumes adjacent to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
, as in most of the FV formulations. Once the neighborhood Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {B}_i}
is triangulated, we ignore the simplices with angles smaller than Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 10}
degrees, and the simplices formed outside the domain, which commonly appear in concavities of the boundary Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \partial \Omega }
. The local set of simplices resulting from the neighborhood of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
is denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle P_\alpha }
. Figure 4 illustrates the difference between (a) the simplices resulting from the triangulation of the calculation points in adjacent volumes and (b) those resulting from the triangulation of the proposed neighborhood Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {B}_i} .
The face Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}}
is subdivided into Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N_{ij}}
subfaces, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}}
,
|
(24) |
these subfaces result from the intersection between Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle P_\alpha }
and the control volume Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
. Figure 4(b) illustrates six key points of this approach: 1) the simplices are used to create a polynomial interpolation of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{u}(\mathbf{x})}
over the boundary of the control volume, 2) most of the faces are intersected by several simplices, such faces must be divided into subfaces to be integrated, 3) some few faces are inside a single simplex, as illustrated in the face formed by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_k}
, 4) there are volumes that require information of non-adjacent volumes to calculate its face integrals, such as Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
requires Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_k}
, 5) the dependency between volumes is not always symmetric, which means that if Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
requires Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_k}
does not implies that Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_k}
requires Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_i}
, and 6) non conforming meshes are supported, as shown in the faces formed by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_a} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_b} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_c} , Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_d}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle V_j}
.
The integral (23) is now rewritten in terms of the subfaces
|
(25) |
Each subface Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}}
is bounded by a simplex, where the displacement Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{u}_{ijk}}
, and it derivatives, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~(\mathbf{S}\boldsymbol{u})_{ijk}} , are a polynomial interpolation. Hence the integrals in equation (25) are solved exactly by using the Gauss-Legendre quadrature with the required number of integration points, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N_g} , depending on the polynomial degree,
|
(26) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle w_g}
is the corresponding quadrature weight and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle (\mathbf{S}\boldsymbol{u})_{ijk}|_{\mathbf{x}_g}}
is the strain evaluation of the Gauss point with the proper change of interval, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_{g}}
. Figure 5 shows the change of interval required for a 2D face. A 3D face (a polygon) must be subdivided to be integrated with a triangular quadrature.
Most of the cases, the displacement Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~\boldsymbol{u}_{ijk}}
is interpolated inside the simplices, but in some geometrical locations these can not be created, in consequence, the displacement Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~\boldsymbol{u}_{ijk}}
is interpolated pair-wise using the volumes adjacent to the subface Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~e_{ijk}}
. We discuss both strategies in the following subsections.
In the general case, the simplices are formed by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~(\hbox{dim}+1)~}
points. The points forming the simplex that is bounding the subface Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}}
are denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_q}
, and its displacements Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{u}_q} .
The shape functions used for the polynomial interpolation are defined into the normalized space. A point in such space is denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }} , its Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle d^{th}}
component is denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }_{[d]}}
, and the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle q^{th}}
point forming the simplex is expressed Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }_q}
. The nodes of the normalized simplex are given by the origin, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{0}} , and the standard basis vectors,
|
(27) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{e}_q}
is the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle q^{th}}
standard basis vector. Figures 6 and 7 illustrates the original and the normalized simplices with the corresponding node numeration for 2D and 3D respectively.
The shape functions, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \varphi _q}
, are used to interpolate the displacement field inside the normalized simplex. Such functions are non-negative and are given by
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {P}_c(\cdot )}
is the homeostatic spline, which is the simplest polynomial defined in the interval Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [0,1]}
that have Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~c~}
derivatives equal to zero in the endpoints of the interval. We will discuss this spline later.
The set of shape functions is a partition of unity, which means that the sum of the functions in the set is equal to one into the interpolated domain
|
(29) |
furthermore, these functions are equal to one in its corresponding node, which implies that
|
The gradients of the shape functions with respect to the normalized space are denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \nabla _{\boldsymbol{\xi }}\varphi _q} . The norm of the sum of such gradients is zero
|
(32) |
which means that there are not numerical artifacts into the strain field.
Any point inside the simplex can be formulated as a function of a point in the normalized space, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{p}\left(\boldsymbol{\xi }\right)} , by using the shape functions and the points forming the simplex
|
(33) |
In order to calculate the normalized point, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }_g} , associated to the integration point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_g = \boldsymbol{p}\left(\boldsymbol{\xi }_g\right)} , we use the shape functions definitions to rewrite the equation (33) in matrix form
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {P}_c\left(\boldsymbol{\xi }\right)}
is the vector resulting from evaluating the spline for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }}
component-wise, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{J}_{\Delta }~}
is the distortion matrix given by the concatenation of the following column vector differences
|
(36) |
Now, from equation (35) we retrieve the point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_g}
as
|
(37) |
and solving for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }_g}
we obtain
|
(38) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {Q}_c}
is the inverse function of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {P}_c}
applied component-wise to the product of the matrix-vector operation.
Similar to the approximation in equation (33), within the simplex enclosing the subface Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}} , the displacement field evaluated at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_g}
is defined as,
|
(39) |
Hence, when calculating the quadrature of equation (26), the strain evaluated at the integration point is given by
|
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{B}_{ijk}|_{\mathbf{x}_g}}
captures the deformation at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_g}
, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \vec{\boldsymbol{u}}_{ijk}}
is the vector with the concatenated displacement components of the points forming the simplex.
In order to calculate the deformation matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{B}_{ijk}} , we require the derivatives of the shape functions with respect to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}} , denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \nabla \varphi _q} . These derivatives are calculated by solving the linear systems resulting from the chain rule
|
(43) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \nabla _{\boldsymbol{\xi }}\boldsymbol{p}}
is the geometric jacobian evaluated at Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }}
. This jacobian relates both spaces, captures the distortion of the simplex, and is derivated from equation (33),
|
(44) |
The gradients of the shape functions with respect to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\xi }}
inside the sum are obtained straightforward once we have the spline first derivative Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {P}_c'}
. Notice that the geometric jacobian is equivalent to the distortion matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{J}_{\Delta }~}
if and only if the homeostatic spline is Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {P}_c(z) = z}
.
Since we are not making any assumption about the volumes distribution through the mesh, neither about the internal location of its calculation points, then we have to deal with portions of the mesh that are no covered by any simplex. Figure 8 illustrates the two most common cases. The first case takes place in meshes where the calculation points of volumes contiguous to the boundary are in the interior of such volumes, producing subfaces not intersected by any simplex, and the second case occurs when elongated sections of the domain are discretized with a queue of aligned volumes, where each volume has only two neighbors on opposite faces and no simplex can be formed.
In such cases, the displacement field within the subface Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}}
is a pair-wise polynomial approximation between the adjacent volumes, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_i}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_j}
, regardless the dimension
|
(45) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \varphi _i}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \varphi _j}
are the shape functions, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle z_{g}}
is the normalized projection of the integration point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_g}
into the vector which goes from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_i}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_j}
, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_{\vec{ij}} = \left(\mathbf{x}_j - \mathbf{x}_i\right),}
|
(46) |
When calculating the quadrature of equation (26), the pairwise strain is given by
|
In the general case, the gradient is not constant along the face Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}} , since its normal is not necessary aligned with Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_{\vec{ij}}}
, as illustrated in Figure 9.
This pairwise approximation must be used only when necessary because it can not capture the deformation orthogonal to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_{\vec{ij}}}
.
The homeostatic spline is a function of a single variable defined from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle z=0}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle z=1}
, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {P}_c(z)} , and curved by the parameter Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~c} , which indicates the level of smoothness. This spline is the simplest polynomial with Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~c~}
derivatives equal to zero at the endpoints Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle z=0}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle z=1}
. The polynomial degree is given by Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 2c+1} , and such a polynomial requires Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle N_g = c+1}
integration points to calculate the exact integral in equation (26) using the Gauss-Legendre quadrature.
When designing this spline, we wanted to gain accuracy by building a piece-wise bell-shaped interpolation function around the calculation points, inspired on the infinitely smooth kernels used in other numerical techniques. Therefore, we force the derivatives of the polynomial to be zero over such points in order to homogenize the function. For that reason, we use the term homeostatic spline when referring to this spline.
To fulfill the smoothness requisites commented before, we solved a linear system for calculating the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 2c+2}
coefficients of the polynomial. The equations of this system were obtained by forcing the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~c}
derivatives to be zero at the endpoints. Once we solved the coefficients for the first twenty polynomials, from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=0}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=19}
, we found out that the first half of such coefficients are null, and the entire polynomial can be calculated directly as
|
(50) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle b_k}
is the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle k^{th}}
not null coefficient
|
(51) |
Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle C_k}
is the number of factors needed to calculate Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle b_k}
|
(52) |
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle b_c}
is accumulation of the coefficients for normalizing the spline
|
(53) |
The first derivative is simply calculated as
|
(54) |
Figure 10(a) shows the evolution of the spline as we increase the smoothness parameter from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=0}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=6}
, and Figure 10(b) the evolution of it first derivative. Smoother splines produces higher order polynomials which increases the accuracy of the stress field approximation. This feature is specially important when solving non-linear problems sensibles to the stress field.
Since the derivatives of the homeostatic spline 50 are zero at the endpoints of the interval Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle [0,1]}
, the inverse function is not defined in that points. However, we estimate a pseudo-inverse within this interval, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {Q}_c\approx {P}_c^{-1}}
, by finding the coefficients of a polynomial of the same degree, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 2c+1}
, such that the endpoints coincide with the spline and the first derivative at the midpoint is equivalent to the inverse of the spline first derivative, that is
|
(55) |
The higher derivatives in the midpoint are forced to be zero. Once we calculated the coefficients for the first twenty polynomials, from Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=0}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=19}
, we found out that the pseudo-inverse can be approximated directly from the following formulae
|
(56) |
where Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle a_1}
is the coefficient for Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle z}
, and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle a_k}
is the factor that distinguish higher order coefficients. Such terms are calculated as
|
(57) |
respectively. Figure 11 exhibits the curves for the first seven levels of smoothness. The null higher derivatives requirement is noticeable at the midpoint.
Figure 12 shows the shape functions for the 2D case. The top displays the last node function and the bottom the first node function, the function of the second node is equivalent to that of the first one. The columns separate the first three levels of smoothness. Top and bottom functions coincides at the edges in order to create a continuous field, but only the bottom functions decay uniformly from the node to the opposite edge. The shape functions with Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=0}
are the only case where all the shape functions are indistinguishable, these are planes.
Figure 13 shows the magnitude of the gradient with respect to the normalized space. With the same tabular configuration of Figure 12, the columns separate the first three levels of smoothness, the top displays the last node gradient and the bottom the first node gradient, the gradient of the second node is equivalent to that of the first one. Only the gradient magnitude at the bottom has a uniform variation from the node to the opposite face, and the value of the node does not contribute to the value of such a face. On the contrary, in the top can be observed that the value of the node contributes to the gradient at the opposite face, which means that using Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle ~c > 0~}
the continuity on the stress field is only guaranteed at the calculation points, but not in the simplices edges.
By using the simplex-wise (42) or the pair-wise (49) approximation, the strain face integral (25) is reformulated as
|
(58) |
then, the volume equilibrium equation (22) is
|
(59) |
reordering the terms we obtain
|
(60) |
where the matrix
|
(61) |
is the stiffness contribution at the integration point Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_g} , within the subface Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}}
when integrating the Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle i^{th}}
volume. Observe that the stiffness matrix Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{K}_{ijk}}
is rectangular and the resulting global stiffness matrix is asymmetric.
The Neumann boundary conditions are imposed over the volume faces Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}}
intersecting the boundary, by replacing the corresponding term in the sum of equation (20) with the integral of the function provided in (6.a),
|
(62) |
The Dirichlet conditions are imposed over the volumes calculation points by fixing the displacement as it is evaluated in the function given in (6.b),
|
(63) |
Since the Dirichlet conditions are imposed directly on the calculation points, these points must be located along the face Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ij}}
which intersects the boundary with the condition Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Gamma _D}
.
By making some considerations, we identify two special cases where the calculations can be simplified, in order to increase the performance of the total computation, at the expense of losing control over the volumes shape. These cases are: 1) the Voronoi mesh assumption and 2) the FV-FEM correlation.
In the first case, we assume that the initial mesh is equivalent to the Voronoi diagram and that the Voronoi centres correspond to the calculation points Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_i} . Hence, the subdivision of the neighborhood Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle {B}_i}
is already given by the Delaunay triangulation which is dual to the Voronoi mesh, as illustrated in Figure 14(a). Moreover, the integrals of subfaces Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle e_{ijk}} using pair-wise approximations can be exactly integrated with the midpoint rule, since the faces are orthogonal to the vector joining the calculation points Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_{\vec{ij}}}
, and the derivatives along the subface are constants.
In the second case, the initial mesh is generated from a FEM-like triangular mesh and the approximations are assumed to be linear. In such a case, the calculation points Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{x}_i}
are defined to be the nodes of the triangular mesh, and the volume faces are created by joining the centroids of the triangles with the midpoint of the segments, as presented in Figure 14(b). This particular version is equivalent to the cell-centred finite volume scheme introduced by Oñate et al. [7], who proved that the global linear system produced by this FV scheme is identical to that produced by FEM if the same mesh is used.
In order to test the numerical performance of the proposed method, we use the well known analytical experiment of an infinite plate with a circular hole in the origin [26]. In such a experiment, the plate is stretched along the horizontal axis with a uniform tension of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \mathbf{f}_{[1]}=10 ~~kPa}
from each side, as is shown in Figure 15. The material is characterized by the Poisson ratio, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \nu=0.3}
, and Young modulus, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle E=10 ~~MPa} . Plane stress is assumed with thickness equivalent to the unity. The dimensions of the computational domain are Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle a=0.5m}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle b=2m}
.
The analytical solution is given by the following formulae
|
where the polar coordinates,
|
(67) |
are used within the calculus. Figure 16(a) exhibits the discretization of the computational domain into 2411 polygonal volumes used to compare the numerical results against the analytical stress field. This mesh is not equivalent to the Voronoi diagram; Figure 16(b) the level sets of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\sigma }_{[11]}}
between Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 0}
to Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 30 ~~kPa}
, with steps of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 1 ~~kPa} . Figure 16(c) Level sets of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\sigma }_{[22]}}
between Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle -10}
and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 6 ~~kPa}
, with steps of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 0.8 ~~kPa}
and Figure 16(d) Level sets of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \boldsymbol{\sigma }_{[12]}} between Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle -10} and Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 2 ~~kPa}
, with steps of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle 0.6 ~~kPa} .
The Dirichlet conditions are imposed on the bottom and left side of the computational domain as is shown in Figure 16(b). Next in order, the analytic stress of equations (64), (65) and (66) is imposed as Neumann condition over the top and right side of the computational domain.
Figure 17(a) presents the averaged error as a function of the volumes face length mean, denoted Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle \Delta x} , as we might expect, the error is proportional to the mesh refinement. For a mesh of 478 volumes, Figure 17(b) shows the percentage of the error with respect to the error of Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=0} , for different smoothing levels, Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://mathoid.scipedia.com/localhost/v1/":): {\textstyle c=0}
correspond the linear interpolator. Observe that the error of the stress field does not decreases significantly because we do not increase the degrees of freedom of the linear system, although we built a better field description, which can be useful when solving non-linear formulations.
In this work we discussed a numerical technique to solve the elasticity equation for unstructured and non conforming meshes formed by elements of any arbitrary polygonal/polyhedral shape. The elasticity-solver is based on a finite volume formulation that, using the divergence theorem, represent the volume integral of the stress divergence in terms of the surface integral of the stress over the volume boundary. For considering the unit vector normal to the boundary as a constant, the boundary is divided into flat faces. Conforming and non-conforming meshes are processed without distinction. The displacement field is a piece-wise polynomial approximation surrounding the volumes, built on the top of the simplices resulting from the Delaunay triangulation of the volume neighborhood. A pair-wise polynomial interpolation is used for neighborhoods where the simplices are not the best option, and for 1D problems.
We introduced the homeostatic splines and it pseudo-inverse for higher order polynomial interpolations without the necessity of increasing the discretization points.
Since the stress term is calculated directly on the boundary of the control volumes, this strategy can be used in fracture formulations where the volumes are treated as indivisible components and the rupture occurs across the volumes boundaries.
In future work, we will investigate the accuracy of this numerical procedure for solving non-linear and dynamic models when using higher order homeostatic splines.
The present investigation was sponsored by a CONACYT scolarship from the Mexican government and the TCAiNMaND project, an IRSES Marie Curie initiative under the European Union 7th Framework Programme. In addition, the authors want to express his gratitude to MSc. Ernesto Ortega, and to Drs. Rafel Herrera and Joaquin Peña for his insightful commments and discussions during the elaboration of this paper.
[1] Slone A.K., Pericleous K., Bailey C., Cross M. Dynamic fluid-structure interaction using finite volume unstructured mesh procedures. Computers and Structures, 80:371-390, 2002.
[2] Slone A.K., Pericleous K., Bailey C., Cross M., Bennett C. A finite volume unstructured mesh approach to dynamic fluid-structure interaction: an assessment of the challenge of predicting the onset flutter. Applied Mathematical Modeling, 28:211-239, 2004.
[3] Bailey C., Taylor G.A., Cross M., Chow P. Discretisation procedures for multi-physics phenomena. Journal of Computational and Applied Mathematics, 103:3-17, 1999.
[4] Souli M., Ouahsine A., Lewin L. ALE formulation for fluid-structure interaction problems. Computer Methods in Applied Mechanics and Engineering, 190:659-675, 2000.
[5] Lubliner J., Oliver J., Oller S., Oñate E. A Plastic-Damage model for concrete. International Journal of Solids and Structures, 25:299-326, 1989.
[6] Armero F., Oller S. A general framework for continuum damage models. I. Infinitesimal plastic damage models in stress space. International Journal of Solids and Structures, 37:7409-7436, 2000.
[7] Oñate E., Cervera M., Zienkiewicz O.C. A finite volume format for structural mechanics. International Journal for Numerical Methods in Engineering, 37:181-201, 1994.
[8] Idelsohn S.R., Oñate E. Finite volumes and finite elements: Two 'Good Friends'. International Journal for Numerical Methods in Engineering, 37:3323-3341, 1994.
[9] Fryer Y.D., Bailey C., Cross M., Lai C.H. A control volume procedure for solving the elastic stress-strain equations on an unstructured mesh. Applied Mathematical Modeling, 15:639-645, 1991.
[10] Bailey C., Cross M. A Finite Volume procedure to solve elastic solid mechanics problems in three dimensions on an unstructured mesh. International Journal for Numerical Methods in Engineering, 38:1757-1776, 1995.
[11] Slone A.K., Bailey C., Cross M. Dynamic solid mechanics using finite volume methods. Applied Mathematical Modeling, 27(2):69-87, 2003.
[12] Demirdzic I., Martinovic D. Finite volume method for thermo-elasto-plastic stress analysis. Computer Methods in Applied Mechanics and Engineering, 109:331-349, 1993.
[13] Demirdzic I., Muzaferija S. Finite volume methods for stress analysis in complex domains. International Journal for Numerical Methods in Engineering, 137:3751-3766, 1994.
[14] Demirdzic I., Muzaferija S., Peric M. Benchmark solutions of some structural analysis problems using finite-volume method and multigrid acceleration. International Journal for Numerical Methods in Engineering, 40:1893-1908, 1997.
[15] Bijelonja I., Demirdzic I., Muzaferija S. A finite volume method for large strain analysis of incompressible hyperelastic materials. International Journal for Numerical Methods in Engineering, 64:1594-1609, 2005.
[16] Bijelonja I., Demirdzic I., Muzaferija S. A finite volume method for incompressible linear elasticity. Computer Methods in Applied Mechanics and Engineering, 195:6378-6390, 2006.
[17] Jasak H., Weller H.G. Application of the finite volume method and unstructured meshes to linear elasticity. International Journal for Numerical Methods in Engineering, 48:267-287, 2000.
[18] Tukovic Z., Ivankovic A., Karac A. Finite-volume stress analysis in multi-material linear elastic body. International Journal for Numerical Methods in Engineering, 93(4):400-419, 2012.
[19] Tang T., Hededal O., Cardiff P. On finite volume method implementation of poro-elasto-plasticity soil model. International Journal for Numerical and Analytical Methods in Geomecanics, 39:1410-1430, 2015.
[20] Borden M.J., Verhoosel C.V., Scott M., Hughes T.J.R., Landis C.M. A phase-field description of dynamic brittle fracture. Computer Methods in Applied Mechanics and Engineering, 217-220:77-95, 2012.
[21] Cardiff P., Tukovic Z., Jasak H., Ivankovic A. A block-coupled Finite Volume methodology for linear elasticity and unstructured meshes. Computers and Structures, 175:100-122, 2016.
[22] Cavalcante M.A.A., Pindera M-J. Generalized Finite-Volume Theory for Elastic Stress Analysis in Solid Mechanics - Part I: Framework. Journal of Applied Mechanics, 79(5):1006-1017, 2012.
[23] Nordbotten J.M. Cell-centered finite volume discretizations for deformable porous media. International Journal for Numerical Methods in Engineering, 100:399-418, 2014.
[24] Li B., Chen Z., Huan G. Control volume function approximation methods and their applications to modeling porous media flow. Advances in Water Resources, 26(4):435-444, 2003.
[25] Li B., Chen Z., Huan G. Control volume function approximation methods and their applications to modeling porous media flow II: the black oil model. Advances in Water Resources, 27(2):99-120, 2004.
[26] Timoshenko S.P., Goodier J.N. Theory of Elasticity. McGraw-Hill, 3 Edition, 1970.
Published on 10/10/19
Accepted on 01/10/19
Submitted on 26/05/19
Volume 35, Issue 4, 2019
DOI: 10.23967/j.rimni.2019.10.001
Licence: CC BY-NC-SA license