Abstract
This paper presents a new computational method for solving two-phase engineering problems. The novelty of this approach lies in its ability to perform the analysis over the exact two-phase geometry. The geometry is defined by a spline-based representation and constructed based on the level-set method. The level-set-based geometry is mapped into a spline-based geometry using an untrimming technique that is newly developed in this paper. The spline-based representation is defined over unstructured meshes enabling precise representations of geometrically complex domains. An analysis-suitable mechanical model that accurately replicates the geometry is constructed and the governing equations are solved using the isogeometric analysis method. The interface between phases is explicitly represented by cubic B-spline curves, allowing for the evaluation of the solution field and various physical measures over its exact geometry. Additionally, algorithms that allow for changing the continuity of the solution field between the phases while precisely preserving the discontinuous two-phase domain are developed. Consistent analytical sensitivity analysis is formulated for generating the geometrical and mechanical models to allow for solving engineering problems with moving boundaries following the gradient-based approach. The proposed approach is tested for solving Poisson’s equation, linear elasticity, topology optimization involving linear elasticity for compliance minimization, and two-phase flow problems. The results expose the capability of the proposed approach to solve two-phase engineering problems while accurately representing the interface.
Similar content being viewed by others
References
Collins JB, Levine H (1985) Diffuse interface model of diffusion-limited crystal growth. Phys Rev B 31:6119. https://doi.org/10.1103/PhysRevB.31.6119
Singer-Loginova I, Singer H (2008) The phase field technique for modeling multiphase materials. Rep Prog Phys 71:106501. https://doi.org/10.1088/0034-4885/71/10/106501
Sethian JA (1999) Level set methods and fast marching methods: evolving interfaces in computational geometry, fluid mechanics, computer vision, and materials science, vol 3. Cambridge University Press, Cambridge. https://doi.org/10.1017/S0263574799212404
Sethian JA (2001) Evolution, implementation, and application of level set and fast marching methods for advancing fronts. J Comput Phys 169:503–555. https://doi.org/10.1006/jcph.2000.6657
Saurel R, Pantano C (2018) Diffuse-interface capturing methods for compressible two-phase flows. Annu Rev Fluid Mech 50:105–130. https://doi.org/10.1146/annurev-fluid-122316-050109
Bourdin B, Chambolle A (2003) Design-dependent loads in topology optimization. ESAIM Control Optim Calc Var 9:19–48. https://doi.org/10.1051/cocv:2002070
Bourdin B, Chambolle A (2006) The phase-field method in optimal design. In: IUTAM symposium on topological design optimization of structures, machines and materials. Springer, London, pp 207–215. https://doi.org/10.1007/1-4020-4752-5_21
Folch R, Casademunt J, Hernández-Machado A, Ramirez-Piscina L (1999) Phase-field model for Hele–Shaw flows with arbitrary viscosity contrast. I. Theoretical approach. Phys Rev E 60:1724. https://doi.org/10.1103/PhysRevE.60.1724
Aranson I, Kalatsky V, Vinokur V (2000) Continuum field description of crack propagation. Phys Rev Lett 85:118. https://doi.org/10.1103/PhysRevLett.85.118
Belytschko T, Black T (1999) Elastic crack growth in finite elements with minimal remeshing. Int J Numer Methods Eng 45:601–620. https://doi.org/10.1002/(SICI)1097-0207(19990620)45:5\(<\)601::AID-NME598\(>\)3.0.CO;2-S
Moës N, Dolbow J, Belytschko T (1999) A finite element method for crack growth without remeshing. Int J Numer Methods Eng 46:131–150. https://doi.org/10.1002/(SICI)1097-0207(19990910)46:1%3C131::AID-NME726%3E3.0.CO;2-J
Burman E, Fernández MA, Hansbo P (2006) Continuous interior penalty finite element method for Oseen’s equations. SIAM J Numer Anal 44:1248–1274. https://doi.org/10.1137/040617686
Burman E, Claus S, Hansbo P, Larson MG, Massing A (2015) CutFEM: discretizing geometry and partial differential equations. Int J Numer Methods Eng 104:472–501. https://doi.org/10.1002/nme.4823
Villanueva CH, Maute K (2017) CutFEM topology optimization of 3D laminar incompressible flow problems. Comput Methods Appl Mech Eng 320:444–473. https://doi.org/10.1016/j.cma.2017.03.007
Andreasen CS, Elingaard MO, Aage N (2020) Level set topology and shape optimization by density methods using cut elements with length scale control. Struct Multidiscip Optim. https://doi.org/10.1007/s00158-020-02527-1
Chessa J, Belytschko T (2003) An enriched finite element method and level sets for axisymmetric two-phase flow with surface tension. Int J Numer Methods Eng 58:2041–2064. https://doi.org/10.1002/nme.946
Sauerland H, Fries T-P (2013) The stable XFEM for two-phase flows. Comput Fluids 87:41–49. https://doi.org/10.1016/j.compfluid.2012.10.017
Lawry M, Maute K (2015) Level set topology optimization of problems with sliding contact interfaces. Struct Multidiscip Optim 52:1107–1119. https://doi.org/10.1007/s00158-015-1301-5
Fries T-P (2008) A corrected XFEM approximation without problems in blending elements. Int J Numer Methods Eng 75:503–532. https://doi.org/10.1002/nme.2259
Hansbo P, Larson MG, Zahedi S (2014) A cut finite element method for a Stokes interface problem. Appl Numer Math 85:90–114. https://doi.org/10.1016/j.apnum.2014.06.009
Claus S, Kerfriden P (2019) A CutFEM method for two-phase flow problems. Comput Methods Appl Mech Eng 348:185–206. https://doi.org/10.1016/j.cma.2019.01.009
Donea J, Huerta A, Ponthot J-P, Rodríguez-Ferran A (2004) Arbitrary Lagrangian–Eulerian methods. In: Encyclopedia of computational mechanics
Kagan P, Fischer A, Bar-Yoseph PZ (1998) New B-spline finite element approach for geometrical design and mechanical analysis. Int J Numer Methods Eng 41:435–458. https://doi.org/10.1002/(SICI)1097-0207(19980215)41:3\(<\)435::AID-NME292\(>\)3.0.CO;2-U
Kagan P, Fischer A, Bar-Yoseph PZ (2003) Mechanically based models: adaptive refinement for B-spline finite element. Int J Numer Methods Eng 57:1145–1175. https://doi.org/10.1002/nme.717
Hughes TJ, Cottrell JA, Bazilevs Y (2005) Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput Methods Appl Mech Eng 194:4135–4195. https://doi.org/10.1016/j.cma.2004.10.008
Cottrell JA, Hughes TJ, Bazilevs Y (2009) Isogeometric analysis: toward integration of CAD and FEA. Wiley, London
Kim H-J, Seo Y-D, Youn S-K (2009) Isogeometric analysis for trimmed CAD surfaces. Comput Methods Appl Mech Eng 198:2982–2995. https://doi.org/10.1016/j.cma.2009.05.004
Scholz F, Mantzaflaris A, Jüttler B (2019) First order error correction for trimmed quadrature in isogeometric analysis. In: Advanced finite element methods with applications: selected papers from the 30th Chemnitz finite element symposium 2017, 30. Springer, London, pp 297–321. https://doi.org/10.1007/978-3-030-14244-5_15
Meßmer M, Teschemacher T, Leidinger LF, Wüchner R, Bletzinger K-U (2022) Efficient CAD-integrated isogeometric analysis of trimmed solids. Comput Methods Appl Mech Eng 400:115584. https://doi.org/10.1016/j.cma.2022.115584
Loibl M, Leonetti L, Reali A, Kiendl J (2023) Patch-wise quadrature of trimmed surfaces in isogeometric analysis. Preprint arXiv:2306.14521
Lieu QX, Lee J (2017) A multi-resolution approach for multi-material topology optimization based on isogeometric analysis. Comput Methods Appl Mech Eng 323:272–302. https://doi.org/10.1016/j.cma.2017.05.009
Hosseini BS, Turek S, Möller M, Palmes C (2017) Isogeometric analysis of the Navier–Stokes–Cahn–Hilliard equations with application to incompressible two-phase flows. J Comput Phys 348:171–194. https://doi.org/10.1016/j.jcp.2017.07.029
Yan J, Lin S, Bazilevs Y, Wagner G (2019) Isogeometric analysis of multi-phase flows with surface tension and with application to dynamics of rising bubbles. Comput Fluids 179:777–789. https://doi.org/10.1016/j.compfluid.2018.04.017
Schillinger D, Dedè L, Scott MA, Evans JA, Borden MJ, Rank E, Hughes TJ (2012) An isogeometric design-through-analysis methodology based on adaptive hierarchical refinement of NURBS, immersed boundary methods, and T-spline CAD surfaces. Comput Methods Appl Mech Eng 249–252:116–150. https://doi.org/10.1016/j.cma.2012.03.017. (Higher order finite element and isogeometric methods)
Wei X, Marussig B, Antolin P, Buffa A (2021) Immersed boundary-conformal isogeometric method for linear elliptic problems. Comput Mech 68:1385–1405. https://doi.org/10.1007/s00466-021-02074-6
Jiang W, Annavarapu C, Dolbow JE, Harari I (2015) A robust Nitsche’s formulation for interface problems with spline-based finite elements. Int J Numer Methods Eng 104:676–696. https://doi.org/10.1002/nme.4766
Elfverson D, Larson MG, Larsson K (2018) CutIGA with basis function removal. Adv Model Simul Eng Sci 5:1–19. https://doi.org/10.1186/s40323-018-0099-2
Elfverson D, Larson MG, Larsson K (2019) A new least squares stabilized Nitsche method for cut isogeometric analysis. Comput Methods Appl Mech Eng 349:1–16. https://doi.org/10.1016/j.cma.2019.02.011
De Luycker E, Benson DJ, Belytschko T, Bazilevs Y, Hsu MC (2011) X-FEM in isogeometric analysis for linear fracture mechanics. Int J Numer Methods Eng 87:541–565. https://doi.org/10.1002/nme.3121
Ghorashi SS, Valizadeh N, Mohammadi S (2012) Extended isogeometric analysis for simulation of stationary and propagating cracks. Int J Numer Methods Eng 89:1069–1101. https://doi.org/10.1002/nme.3277
Noël L, Schmidt M, Doble K, Evans J, Maute K (2022) XIGA: an extended isogeometric analysis approach for multi-material problems. Comput Mech 70:1281–1308. https://doi.org/10.1007/s00466-022-02200-y
Schmidt M, Noël L, Doble K, Evans JA, Maute K (2023) Extended isogeometric analysis of multi-material and multi-physics problems using hierarchical B-splines. Comput Mech 71:1179–1203. https://doi.org/10.1007/s00466-023-02306-x
Noël L, Schmidt M, Messe C, Evans J, Maute K (2020) Adaptive level set topology optimization using hierarchical B-splines. Struct Multidiscip Optim 62:1669–1699. https://doi.org/10.1007/s00158-020-02584-6
Sangalli G, Takacs T, Vázquez R (2016) Unstructured spline spaces for isogeometric analysis based on spline manifolds. Comput Aided Geomet Des 47:61–82. https://doi.org/10.1016/j.cagd.2016.05.004
Toshniwal D, Speleers H, Hughes TJ (2017) Smooth cubic spline spaces on unstructured quadrilateral meshes with particular emphasis on extraordinary points: Geometric design and isogeometric analysis considerations. Comput Methods Appl Mech Eng 327:411–458. https://doi.org/10.1016/j.cma.2017.06.008
Kapl M, Sangalli G, Takacs T (2019) Isogeometric analysis with \(C^{1}\) functions on planar, unstructured quadrilateral meshes. SMAI J Comput Math 5:67–86. https://doi.org/10.5802/smai-jcm.52
Shakour E, Amir O (2021) Topology optimization with precise evolving boundaries based on IGA and untrimming techniques. Comput Methods Appl Mech Eng 374:113564. https://doi.org/10.1016/j.cma.2020.113564
Shakour E, Amir O (2022) Stress-constrained topology optimization with precise and explicit geometric boundaries. Struct Multidiscip Optim 65:1–21. https://doi.org/10.1007/s00158-021-03115-7
Gomes A, Voiculescu I, Jorge J, Wyvill B, Galbraith C (2009) Implicit curves and surfaces: mathematics, data structures and algorithms. Springer, London
Wenger R (2013) Isosurfaces: geometry, topology, and algorithms, an A K Peters book. CRC Press, London
Scott M, Simpson R, Evans J, Lipton S, Bordas S, Hughes T, Sederberg T (2013) Isogeometric boundary element analysis using unstructured T-splines. Comput Methods Appl Mech Eng 254:197–221. https://doi.org/10.1016/j.cma.2012.11.001
Sederberg TW, Zheng J, Bakenov A, Nasri A (2003) T-splines and T-NURCCs. ACM Trans Graph (TOG) 22:477–484. https://doi.org/10.1145/882262.882295
Scott MA, Borden MJ, Verhoosel CV, Sederberg TW, Hughes TJ (2011) Isogeometric finite element data structures based on Bézier extraction of T-splines. Int J Numer Methods Eng 88:126–156. https://doi.org/10.1002/nme.3167
Scott M, Li X, Sederberg T, Hughes T (2012) Local refinement of analysis-suitable T-splines. Comput Methods Appl Mech Eng 213–216:206–222. https://doi.org/10.1016/j.cma.2011.11.022
Takacs T (2023) Approximation properties over self-similar meshes of curved finite elements and applications to subdivision based isogeometric analysis. Preprint arXiv:2307.10403. https://doi.org/10.48550/arXiv.2307.10403
Sukumar N, Chopp D, Moës N, Belytschko T (2001) Modeling holes and inclusions by level sets in the extended finite-element method. Comput Methods Appl Mech Eng 190:6183–6200. https://doi.org/10.1016/S0045-7825(01)00215-8
Allaire G, Jouve F, Toader A-M (2004) Structural optimization using sensitivity analysis and a level-set method. J Comput Phys 194:363–393. https://doi.org/10.1016/j.jcp.2003.09.032
Svanberg K (1987) The method of moving asymptotes—a new method for structural optimization. Int J Numer Methods Eng 24:359–373. https://doi.org/10.1002/nme.1620240207
Donea J, Huerta A (2003) Finite element methods for flow problems. Wiley, London
Takacs T, Toshniwal D (2023) Almost-C1 splines: Biquadratic splines on unstructured quadrilateral meshes and their application to fourth order problems. Comput Methods Appl Mech Eng 403:115640. https://doi.org/10.1016/j.cma.2022.115640
Wang Y, Luo Z, Kang Z, Zhang N (2015) A multi-material level set-based topology and shape optimization method. Comput Methods Appl Mech Eng 283:1570–1586. https://doi.org/10.1016/j.cma.2014.11.002
Acknowledgements
The author would like to thank Prof. Bert Jüttler and associate Prof. Oded Amir for the informative discussions and valuable suggestions during the work on this paper.
Funding
No funding was received to assist with the preparation of this manuscript.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The author declares that he has no conflict of interest.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix 1: Control points locations
This appendix refers to Step 4 in Sect. 2.1, which deals with determining the locations of the control points \(\varvec{P}^G\). Since the geometry in this paper is primarily developed based on a level-set function, the locations of \(\varvec{P}^G\) are represented as functions of the control parameters of the level-set function \(\varvec{\alpha }\), i.e., \(\varvec{P}^G(\varvec{\alpha })\). The example in Sect. 2 is used to present the computation procedure. Figure 28 shows the physical domain of \(S^0\) with cross marks that are located at the corners of the Bézier patches. Computing \(\varvec{P}^G\) starts by determining the values of the level-set function, \(\phi \), at these points. This computation is done as follows:
-
1.
Compute the level-set function values at the inner corners of the patches in the physical domain. These points are highlighted with blue cross marks in Fig. 28. This computation depends on the level-set function representation. In this paper, the level-set function is represented as a B-spline surface; therefore, the value of the level-set function at a certain point i with the parametric coordinates of \((\xi _i,\eta _i)\) is computed by
$$\begin{aligned} \phi _i=\sum _{j=1}^{N_{\alpha }} \alpha _j B_j(\xi _i,\eta _i), \end{aligned}$$(28)where \(N_{\alpha }\) is the number of control parameters of the level-set function and \(B_j\) is the basis function that corresponds to the control parameter \(\alpha _j\)
-
2.
To avoid untrimming complications along the boundary of the design domain, assign all the evaluation points that are located on the boundary of the design domain with \(\phi \) values that correspond to the adjacent layer of evaluation points to the interior of the design domain. For instance, in Fig. 28, all the red cross mark points are assigned with the \(\phi \) values that correspond to the blue cross mark points in the adjacent layer.
Afterward, the control points, \(\varvec{P}^G\), of the trimmed patches are located according to the trimming manner across the patch. For each trimmed edge in a trimmed patch, we define a weighting parameter \(w_{i-j}\) such as
where i and j are the indices of the vertices at the end of the trimmed edge. \(\phi _i\) and \(\phi _j\) represent the values of the level-set function at the vertices i and j. Since this paper deals with quadrilateral faces with four edges that could be trimmed, four weighting parameters could be defined: \(w_{1-2}\), \(w_{2-3}\), \(w_{3-4}\) and \(w_{1-4}\) as shown in Fig. 29. If an edge is not trimmed, then the associated weighting parameter is not defined. Note that the direction of computing the weighting parameter is important, while \(w_{i-j}=1-w_{j-i}\).
Having the weighting parameters for a trimmed patch, the control points \(\varvec{P}^G\) that correspond to the same patch are computed as follows:
where
\(X_j\) and \(Y_j\) are the coordinates of the control points corresponding to the corner of the face. The parameters \(a_{ij}^x\), \(b_{ij}^x\), \(c_{ij}^x\), \(d_{ij}^x\), \(e_{ij}^x\), \(a_{ij}^y\), \(b_{ij}^y\), \(c_{ij}^y\), \(d_{ij}^y\) and \(e_{ij}^y\) differ for each case and are chosen in a way that does not cause an overlapping between the faces in the mesh. In the following, we provide the non-zero values of these parameters for each case (Figs. 30, 31, 32, 33):
\(\underline{{\textbf {Case}}\varvec{1}:}\)
\(a_{ij}^x\) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 3 | 3 | 3 | 4 | 5 | 5 | 6 | 7 | 7 | 7 | 8 | 9 | 10 | 11 | 12 | 12 | 13 |
j | 1 | 2 | 1 | 2 | 4 | 2 | 2 | 4 | 2 | 2 | 3 | 4 | 2 | 4 | 4 | 4 | 3 | 4 | 3 |
v | 1 | 1 | 0.5 | 0.25 | 0.25 | 1 | 0.5 | 0.5 | 1 | 0.33 | 0.33 | 0.33 | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 |
\(d_{ij}^x\) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 3 | 3 | 5 | 5 | 7 | 7 | 10 | 10 | 11 | 11 | 12 | 12 |
j | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 |
v | 0.25 | -0.25 | 0.5 | -0.5 | 0.33 | -0.33 | 0.5 | -0.5 | 1 | -1 | 0.5 | -0.5 |
\(a_{ij}^y\) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 3 | 3 | 4 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
j | 1 | 2 | 1 | 3 | 2 | 3 | 3 | 3 | 3 | 3 | 4 | 3 | 3 | 3 | 3 |
v | 1 | 1 | 0.5 | 0.5 | 0.5 | 0.5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
\(c_{ij}^y\) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 3 | 3 | 4 | 4 | 5 | 5 | 6 | 6 | 7 | 7 | 8 | 8 |
j | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 |
v | 0.25 | \(-\) 0.25 | 0.5 | \(-\) 0.5 | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.33 | \(-\) 0.33 | 0.5 | \(-\) 0.5 |
\(\underline{{\textbf {Case}}\,\varvec{2}:}\)
\(a_{ij}^x\) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
j | 1 | 1 | 1 | 1 | 4 | 2 | 2 | 2 | 2 | 3 |
v | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
\(a_{ij}^y\) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 7 | 8 | 9 | 10 |
j | 1 | 1 | 4 | 4 | 4 | 4 | 2 | 2 | 3 | 3 | 3 | 3 |
v | 1 | 0.5 | 0.5 | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 | 1 | 1 |
\(c_{ij}^y\) | ||||||
---|---|---|---|---|---|---|
i | 7 | 7 | 8 | 8 | 9 | 9 |
j | 2 | 3 | 2 | 3 | 2 | 3 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 |
\(e_{ij}^y\) | ||||||
---|---|---|---|---|---|---|
i | 2 | 2 | 3 | 3 | 4 | 4 |
j | 1 | 4 | 1 | 4 | 1 | 4 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 |
\(\underline{{\textbf {Case}}\,\varvec{3}:}\)
\(a_{ij}^x\) | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 3 | 4 | 5 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 13 | 14 | 15 | 16 | 17 | 17 |
j | 1 | 2 | 3 | 4 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 4 | 4 | 3 | 4 | 1 | 1 | 1 | 1 | 2 |
v | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 | 1 | 1 | 0.67 | 0.33 |
i | 18 | 18 | 19 | 19 | 19 | 20 | 20 | 20 | 21 | 21 | 21 | 22 | 22 | 23 | 23 | 23 | ||||
j | 1 | 2 | 1 | 2 | 4 | 1 | 2 | 4 | 1 | 2 | 4 | 2 | 4 | 2 | 3 | 4 | ||||
v | 0.5 | 0.5 | 0.38 | 0.5 | 0.12 | 0.25 | 0.5 | 0.25 | 0.12 | 0.5 | 0.38 | 0.5 | 0.5 | 0.33 | 0.33 | 0.33 |
\(b_{ij}^x\) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 5 | 5 | 6 | 6 | 7 | 7 | 17 | 17 | 18 | 18 | 19 | 19 | 20 | 20 | 21 | 21 |
j | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 | 1 | 2 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 | 0.33 | \(-\) 0.33 | 0.5 | \(-\) 0.5 | 0.38 | \(-\) 0.38 | 0.25 | \(-\) 0.25 | 0.12 | \(-\) 0.12 |
\(d_{ij}^x\) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 11 | 11 | 12 | 12 | 13 | 13 | 19 | 19 | 20 | 20 | 21 | 21 | 22 | 22 | 23 | 23 |
j | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 | 3 | 4 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 | 0.12 | \(-\) 0.12 | 0.25 | \(-\) 0.25 | 0.38 | \(-\) 0.38 | 0.5 | \(-\) 0.5 | 0.33 | \(-\) 0.33 |
\(a_{ij}^y\) | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 14 | 15 | 16 | 17 | 17 |
j | 1 | 2 | 3 | 4 | 1 | 1 | 1 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 4 | 4 | 4 | 1 | 4 |
v | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 | 1 | 0.67 | 0.33 |
i | 18 | 18 | 19 | 19 | 19 | 20 | 20 | 20 | 21 | 21 | 21 | 22 | 23 | |||||||
j | 1 | 4 | 1 | 3 | 4 | 1 | 3 | 4 | 1 | 3 | 4 | 3 | 3 | |||||||
v | 0.5 | 0.5 | 0.38 | 0.25 | 0.38 | 0.25 | 0.5 | 0.25 | 0.12 | 0.75 | 0.12 | 1 | 1 |
\(c_{ij}^y\) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 8 | 8 | 9 | 9 | 10 | 10 | 19 | 19 | 20 | 20 | 21 | 21 | 22 | 22 | 23 | 23 |
j | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 | 2 | 3 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 | 0.12 | \(-\) 0.12 | 0.25 | \(-\) 0.25 | 0.38 | \(-\) 0.38 | 0.5 | \(-\) 0.5 | 0.33 | \(-\) 0.33 |
\(e_{ij}^y\) | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 14 | 14 | 15 | 15 | 16 | 16 | 17 | 17 | 18 | 18 | 19 | 19 | 20 | 20 | 21 | 21 |
j | 1 | 4 | 1 | 4 | 1 | 4 | 1 | 4 | 1 | 4 | 1 | 4 | 1 | 4 | 1 | 4 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 | 0.33 | \(-\) 0.33 | 0.5 | \(-\) 0.5 | 0.38 | \(-\) 0.38 | 0.25 | \(-\) 0.25 | 0.12 | \(-\) 0.12 |
\(\underline{{\textbf {Case}}\,\varvec{4}:}\)
\(a_{ij}^x\) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
j | 1 | 1 | 1 | 1 | 4 | 2 | 2 | 2 | 2 | 3 |
v | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
\(a_{ij}^y\) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 1 | 2 | 2 | 3 | 4 | 5 | 6 | 7 | 7 | 8 | 9 | 10 |
j | 1 | 1 | 4 | 4 | 4 | 4 | 2 | 2 | 3 | 3 | 3 | 3 |
v | 1 | 0.5 | 0.5 | 1 | 1 | 1 | 1 | 0.5 | 0.5 | 1 | 1 | 1 |
\(e_{ij}^y\) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
i | 2 | 2 | 3 | 3 | 4 | 4 | 7 | 7 | 8 | 8 | 9 | 9 |
j | 1 | 4 | 1 | 4 | 1 | 4 | 2 | 3 | 2 | 3 | 2 | 3 |
v | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 | 0.5 | \(-\) 0.5 | 1 | \(-\) 1 | 0.5 | \(-\) 0.5 |
Appendix 2: Boundary representation
A significant advantage of the proposed approach is its ability to represent explicitly and precisely the boundaries of the phases in the mechanical and the geometrical models as a set of B-spline curves. Corresponding to the bi-cubic spline-based meshes that are used in this paper, all the B-spline boundary curves will be of degree 3. These boundaries are described as periodic curves whose control points and knots vectors are assembled according to the boundary polygons of the unstructured mesh.
We demonstrate the procedure for extracting the boundary curves using the example in Fig. 34. Black and red lines in Fig. 34a, b represent unit and zero knot intervals. The boundary polygons are drawn with thick lines. Boundary control points are colored blue, and all the other control points are colored black. This example has two boundary curves: the inner boundary curve that constitutes the interface between the phases, and the outer boundary curve which is also the boundary of the design domain. We show how these two curves are extracted, while first, we focus on extracting the inner boundary curve.
Initially, the control points and knots intervals of each boundary are sequentially collected in vectors \(\varvec{P}^c\) and \(\varvec{ed}\). The number of control points in \(\varvec{P}^c\) is denoted by N. The order of control points of each boundary curve is depicted in Fig. 34b. For the inner boundary curve, these vectors are
Afterward, denoting the vector of control points and the knots vector of a boundary curve by \(\tilde{P}^c\) and \(\tilde{k}\), respectively, these vectors are assembled according to the following algorithm:
After applying Algorithm 5 to \(\varvec{P}^c\) and \(\varvec{ed}\) of the inner boundary polygon, the obtained control points and knots vector of the boundary curve are
Applying the same procedure for the outer boundary polygon, the following vectors are obtained:
The B-spline boundary curves are highlighted in green on top of the physical domain in Fig. 34c.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Shakur, E. Isogeometric analysis for solving discontinuous two-phase engineering problems with precise and explicit interface representation. Engineering with Computers (2024). https://doi.org/10.1007/s00366-024-01952-w
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s00366-024-01952-w