Next Article in Journal
Clade Size Statistics Under Ford’s α-Model
Next Article in Special Issue
Reachable Set Estimation of Discrete Singular Systems with Time-Varying Delays and Bounded Peak Inputs
Previous Article in Journal
Using Relational Biology with Loop Analysis to Study the North Atlantic Biological Carbon Pump in a ‘Hybrid’ Non-Algorithmic Manner
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Solution-Structure B-Spline-Based Framework for Hybrid Boundary Problems on Implicit Domains

1
Computer Simulation in Sciences and Engineering, Bethlehem University, Bethlehem 92248, Palestine
2
School of Science, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
3
School of Mathematics and Statistics, North China University of Water Resources and Electric Power, Zhengzhou 450045, China
*
Author to whom correspondence should be addressed.
Mathematics 2024, 12(24), 3973; https://doi.org/10.3390/math12243973
Submission received: 3 December 2024 / Revised: 15 December 2024 / Accepted: 17 December 2024 / Published: 18 December 2024
(This article belongs to the Special Issue Advances in Numerical Analysis of Partial Differential Equations)

Abstract

:
Solving partial differential equations (PDEs) on complex domains with hybrid boundary conditions presents significant challenges in numerical analysis. In this paper, we introduce a solution-structure-based framework that transforms non-homogeneous hybrid boundary problems into homogeneous ones, allowing exact conformity to the boundary conditions. By leveraging B-splines within the R-function method structure and adopting the stability principles of the WEB method, we construct a well-conditioned basis for numerical analysis. The framework is validated through a number of numerical examples of Poisson equations with hybrid boundary conditions on different implicit domains in two and three dimensions. The results reflect that the approach can achieve the optimal approximation order in solving hybrid problems.

1. Introduction

Various numerical methods have been developed for solving partial differential equations (PDEs) [1,2,3,4,5]. Among these, the Finite Element Method (FEM) remains one of the most established and widely used approaches. However, FEM and computer-aided design (CAD) were developed in different eras, resulting in a significant disconnect in engineering workflows. While designs are created in CAD systems, meshes must be generated from CAD data for FEM analysis. This process introduces a geometric description that is often only an approximation, leading to inefficiencies. It is estimated that up to 80 % of analysis time in industries such as automotive, aerospace, and shipbuilding is devoted to mesh generation [6]. Mesh construction is not only time consuming but also forms a source of potential inaccuracies. Additionally, numerically approximating higher-order PDEs presents challenges due to the need for complex shape functions with high-order continuity. Methods such as discontinuous Galerkin schemes [7,8] and mixed formulations [9] have been developed to address these issues, but they often come with high computational costs, complex implementation, and large degrees of freedom.
B-splines are piecewise polynomials with smoothness that is one order less than their degree. Their ability to achieve higher approximation orders with fewer degrees of freedom makes them particularly suitable as basis functions for numerical analysis with high potential [10,11]. This potential is utilized by a number of numerical methods that used B-splines in various settings as building blocks for approximation [2,12,13,14]. One of the most popular techniques that utilize B-splines for analysis is Isogeometric Analysis (IGA) [1,15], which is a technique that integrates CAD and FEM by using non-uniform rational B-splines (NURBS) to represent geometry exactly. While IGA pushed forward the quest of bridging the gap between geometry and analysis, it still faces challenges with complex geometries that include for example curved boundaries and small features. Singularities in parameterized domains can lead to ill-defined test functions and stiffness matrices, complicating numerical discretization [16]. Efforts to address these challenges include various strategies for improving parameterization [17,18,19,20,21,22].
The R-function method (RFM) is a method that also employs B-splines for analysis [23,24]. Unlike IGA, RFM represents domains using implicit R-functions. The RFM solution structure ensures that boundary conditions are satisfied exactly by incorporating undetermined functional components. Based on the theory of R-functions [25], this method handles arbitrarily complex domains and boundary conditions. Moreover, it is essentially meshfree, enabling automated spatial discretization that does not rely on geometry-conforming meshes. However, due to the use of outer B-splines, the method can suffer from instability, resulting in large condition numbers for the stiffness matrix. To address such instabilities, K. Höllig and colleagues proposed the WEB (Weighted Extended B-splines) method [2] that is mainly directed to solving homogeneous Dirichlet boundary-value problems. This approach stabilizes the B-splines by attaching splines with small domain supports to more robust ones, creating a well-conditioned basis for FEM approximations. The extended B-splines retain optimal approximation order while ensuring that the condition number of the linear system stays manageable. This approach has been applied to problems with various boundary conditions; however, for example, the numerical solution cannot satisfy the Neumann boundary condition exactly and the boundary integral is only an approximation, which is not easy to compute when the implicit domain is complex.
Driven by the challenges outlined earlier, we propose a new framework that merges the strengths of the RFM and WEB methods. This framework is specifically designed for solving PDEs with hybrid boundary conditions on implicitly defined domains using R-functions. While our approach primarily utilizes B-splines as the basis for analysis, its adaptability enables the straightforward incorporation of other spline bases. With only minor adjustments to the original framework, alternatives such as T-splines [26], S-splines [21], and PHT-splines [27] can be seamlessly integrated. We focus on implicitly defined domains because of their numerous advantages when handling geometries with specific characteristics such as curved edges, small holes, and complex shapes [28]. In such cases, parameterization often becomes a bottleneck in numerical schemes. An implicit surface provides a more compact representation of intricate geometries, while also offering flexibility, well-defined Boolean operations, and the ability to determine a point’s location (inside or outside the surface) using the sign of the implicit function [29,30].
Building on this foundation, our work focuses on Poisson equations defined on implicit domains with hybrid boundary conditions. To address the inherent challenges of such problems, we propose a solution-structure B-spline-based framework to deal with hybrid boundary conditions. In order to overcome the boundary integral which is required for the non-homogeneous Neumann boundary condition in previous methods, we first convert the non-homogeneous hybrid problems to homogeneous hybrid problems. Then, we use RFM to construct a solution-structure-based B-splines that conform to the homogeneous hybrid boundary condition exactly. Finally, we reconstruct the analysis basis following the same steps used in WEB method to maintain a well-conditioned basis functions. We introduce three numerical examples where the Poisson equation with hybrid boundary conditions is solved on different implicit domains to reflect the performance and efficiency of the proposed approach.
The paper is structured as follows: Section 2 provides an overview of the R-function method (RFM) solution structures. Section 3 details the principles of the WEB method, highlighting its role in ensuring numerical stability. In Section 4, we introduce the proposed approach that integrates solution-structure B-splines to address hybrid boundary problems effectively. Section 5 presents a series of numerical examples that illustrate the method’s accuracy and potential. Section 6 offers concluding remarks.

2. The RFM Solution Structure

In this section, we start by reviewing the basic idea behind RFM. We then review briefly the different types of R-functions. Then, we present the solution structure employed by RFM to address partial differential equations (PDEs) with different boundary conditions.

2.1. Basic Principle

In its early form, the R-function method (RFM) extended the approach proposed by Kantorovich [31] for solving two-dimensional problems with homogeneous Dirichlet boundary conditions. The core idea is rooted in the observation that the solution of a differential equation subject to the boundary condition:
u | Ω = 0
can be expressed as:
u = w Φ ,
where w is a known function that vanishes on the boundary Ω and is positive within the interior of the domain Ω . The unknown function Φ is used solely to satisfy the analytical constraints of the boundary value problem. Because w is identically zero on Ω , any function u expressed in the form of Equation (2) inherently satisfies the boundary condition in Equation (1), regardless of the properties of Φ or the type of the PDE. Equation (2) does not include information about the differential equation itself but represents a general structural framework for solutions to homogeneous Dirichlet boundary conditions.
This solution structure, defined by Equation (2), is referred to as the RFM solution structure. The successful employment of the solution structure depends on the ability to construct a function w that vanishes exactly on the domain boundary and nowhere else. This function is used to implicitly define the geometry of the domain and is referred to as an implicit or weight function. In practice, w must be smooth and normalized to behave like a distance function near Ω , ensuring differentiability throughout the domain. A function w is said to be normalized to the m-th order if it satisfies:
w | Ω = 0 , w n | Ω = 1 , k w n k | Ω = 0 for k = 2 , 3 , , m ,
where n is the unit inner normal to the boundary Ω .
The construction of implicit functions has been extensively employed through the theory of R-functions, offering a robust mathematical framework for defining complex geometries and boundary conditions [32]. The advancement in computational techniques have contributed to facilitating the use of R-functions in different engineering fields [33,34]. In the following subsection, we provide an overview of the fundamental principles of R-functions, offering essential insights into their properties and practical implementation.

2.2. R-Functions

The Rvachev function, commonly known as the R-function, is a real-valued function defined by the property that its sign is entirely determined by the signs of its arguments, commonly referred to as primitives. This fundamental characteristic underpins its utility in various applications, particularly in defining and manipulating complex geometric and boundary conditions. The R-function is defined as follows.
Definition 1
([35]). A function y = f x 1 , , x n is called an R-function if in the specification of a group, the signs of its arguments completely determine the function sign, i.e., if there exists a Boolean function Y = F X 1 , , X n that determines the dependence of the sign of function f x 1 , , x n on the group of the signs of its arguments. Namely, if:
S 2 ( x ) = 0 x < 0 , 1 x > 0 ,
then:
F S 2 x 1 , S 2 x 2 , , S 2 x n = S 2 f x 1 , x 2 , , x n .
F is called an accompanying function for f.
R-functions provide a connection between logical and set operations in geometric modeling and analytic constructions. For each logical or set-theoretic construction, there exists a corresponding implicit real-valued function. It should be noticed that R-function is not unique. Several systems of R-functions are constructed for various applications [25,33,34,35,36,37,38].
One of the most widely utilized systems of R-functions is defined as follows:
R α = 1 1 + α x + y ± x 2 + y 2 2 α x y ,
where α = α ( x , y ) is an arbitrary continuous function satisfying 1 < α ( x , y ) 1 , and the ( ± ) sign corresponds to the Boolean operations: ( ) for intersection and ( + ) for union.
For the special cases α = 0 and α = 1 , the R-functions simplify as follows:
R 0 = x + y ± x 2 + y 2 ,
R 1 = x + y ± | x y | , ( that is , min ( x , y ) , max ( x , y ) ) .
R 0 and R 1 are commonly employed due to their simplicity. However, their derivatives are not always well-defined. To address this limitation, a modified version of R 0 , denoted as R 0 m , is proposed in [25] and is defined as:
R 0 m = x + y ± x 2 + y 2 x 2 + y 2 m 2 .
As discussed in [33], R 0 m guarantees m-times differentiability for any even positive integer m, making it particularly useful in applications requiring smoothness.
A more recent advancement introduced in [34] is the spline R-function (SR-function) system, where R-functions are represented using implicit splines. The traditional square root operation in earlier R-function systems often complicates evaluations and derivatives, particularly when working with a large number of primitives. SR-functions address this issue by replacing the square root operation with piecewise polynomial computations. The general form of an SR-function is given as:
SR = i K α i b i ( x , y ) ,
where b i and i K , are tensor-product B-spline basis functions, K is the index set, and α i represents coefficients that can be computed as described in [34].
To illustrate the versatility of R-functions, Figure 1 presents different representations for x y , where the primitives x and y are defined as:
x = 1 ( 2 s 1 ) 2 5 t 1 2 + ( 2 s 1 ) 2 1 2 ,
y = 2 5 4 t 1 4 2 + 1.5 2 s 2 · t 1 4 2 + 0.5 + 2 s 2 .

2.3. Solution Structure

In this subsection, we present the RFM solution structures for three common types of boundary conditions [23,24]. The boundary conditions are outlined and the solution structure is then constructed.
Type 1: the boundaries are given as:
u | Ω = ϕ 0 .
For this type of boundary condition, the function ϕ 0 is defined only on the boundary of Ω . Let ϕ represent an extension of ϕ 0 into the interior of Ω . The solution structure is expressed as:
u = w Φ + ϕ ,
where w = 0 implicitly defines the geometry of the domain Ω . This structure inherently satisfies the boundary conditions.
Type 2: The boundaries for this type is given as:
u | Ω = ϕ 0 , u n | Ω = ψ 0 .
where ϕ and ψ are the extensions of ϕ 0 and ψ 0 inside the domain Ω , respectively. The solution structure for this boundary condition is given by:
u = ϕ w D 1 w ( ϕ ) + w ψ + w 2 Φ ,
where n denotes the unit inward normal to the boundary Ω , and D 1 w ( ϕ ) = w ϕ is a differential operator in the direction of the inward normal. This formulation ensures that both the Dirichlet and Neumann boundary conditions are exactly satisfied.
Type 3: The boundaries for this type is given as:
u | Ω 1 = ϕ 0 , u n + h 0 u | Ω 2 = ψ 0 ,
with Ω = Ω 1 Ω 2 .
For this case, assume ϕ , ψ , and h are extensions of ϕ 0 , ψ 0 , and h 0 , respectively, into the domain Ω . The solution structure can be written as:
u = w 1 Φ + w 1 w 2 w 1 + w 2 ψ h w 1 Φ h ϕ D 1 w 2 ( w 1 Φ ) D 1 w 2 ( ϕ ) + ϕ + w 1 w 2 2 Φ ,
where w 1 and w 2 are implicit functions that vanish on Ω 1 and Ω 2 , respectively.
In the RFM framework, the function Φ is approximated within a finite-dimensional space spanned by a set of basis functions { χ i } , i = 1 , 2 , , n . Hence, we write:
Φ = i = 1 n c i χ i ,
where c i , i = 1 , 2 , , n , are scalar coefficients. Notably, the RFM solution structure imposes no restrictions on the choice of the basis functions { χ i } .
In the following section, we discuss the basis functions choice presented by the WEB method along with the general approach in order to best map the approach proposed in this work.

3. The WEB Method

In this section, we provide a concise overview of the WEB method introduced in [2]. This method addresses the challenge of mesh generation in standard FEM by replacing it with a weight function that analytically defines the domain on a grid. The weight function ensures the exact enforcement of Dirichlet boundary conditions at the domain boundaries. The basis functions used are weighted extended B-splines (WEB-splines), which fulfill essential finite element properties while maintaining the stability of the resulting linear system. For a detailed explanation of the construction process, readers are referred to [39].

3.1. Weight Function

The concept of using a weight function to enforce boundary conditions was initially introduced in [31] and further elaborated in [35]. In the WEB method, the weight function ω is defined as an implicit field function, where its value at the domain boundaries is zero. This weight function is typically represented by a distance function with a bounded gradient, given by:
ω ( x ) = d i s t ( x , Ω ) , x Ω .
An alternative approach presented by the WEB method to determine ω involves using algebraic analytic equations for simple domains and employing an R-function to handle more complex geometries. The fundamental concept behind the R-function is discussed in Section 2.2. An example of a weight function, constructed using an analytical equation, is given by:
ω = 1 50 ( x 1 2 ) 2 + ( y 1 2 ) 2 2 3 ( x 1 2 ) 4 3 ( x 1 2 ) 2 ( y 1 2 ) 2 + ( y 1 2 ) 4 .
Figure 2 illustrates the weight function defined by Equation (21). The left side of the figure shows the domain, while the corresponding weight function field is depicted on the right.
The next step involves integrating the weight function into the analysis basis functions to ensure exact enforcement of the boundary conditions. The WEB method utilizes uniform B-spline basis functions, which are multiplied by a positive weight function ω within the domain, and vanish at the boundaries. In the following subsection, we provide a brief overview of B-spline basis functions.

3.2. Tensor-Product B-Splines

Multivariate tensor-product B-splines are formed by taking the tensor product of univariate B-splines in multiple directions. To understand this concept, we begin by reviewing the univariate B-splines. Let us define the knot vector as:
Ξ : = ξ 1 , ξ 2 , , ξ n ,
where the B-spline basis functions are recursively defined, starting with the piecewise constant B-splines:
b i , 0 ( ξ ) = 1 if ξ i ξ < ξ i + 1 , 0 otherwise .
For higher degrees n = 1 , 2 , , the basis functions are defined recursively as follows:
b i , n ( ξ ) = ξ ξ i ξ i + n ξ i b i , n 1 ( ξ ) + ξ i + n + 1 ξ ξ i + n + 1 ξ i + 1 b i + 1 , n 1 ( ξ ) .
For convenience, we denote the basis function for degree n as b i instead of b i , n .
Since here we focus on uniform meshes in the domain [ 0 , 1 ] m R m with a grid width h. Multivariate tensor-product B-splines are constructed as the tensor products of univariate B-splines using the following approach.
Let b denote the cardinal B-spline of degree n with support [ 0 , n + 1 ) m . The scaled translates of these B-splines are given by:
b k ( x ) = h m / 2 b x h k , k Z m .
These scaled B-splines are ( n 1 ) -times continuously differentiable and are polynomials of degree n in the variables x 1 , , x m within each of the grid cells with width h:
Q = h [ 0 , 1 ) m + , Z m .
Figure 3 illustrates the construction of quadratic B-splines in both 1 D and 2 D . In 1 D , the knot vector Ξ = { 0 , 1 , 2 , 3 , 4 } forms the basis for smooth, piecewise curves. In 2 D , a quadratic B-spline is constructed using the knot vector { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } , producing a smooth surface shaped by control points.

3.3. Weighted Extended B-Splines

The construction of weighted extended B-splines is the solution proposed in [2] in order to retain the stability the solution linear system. B-spline basis functions with very small support in Ω often result in an ill-conditioned stiffness matrix, which can compromise the stability of the numerical solution. To address this, an extension process is employed, where basis functions with minimal support are linked to their neighboring functions, enhancing overall stability.
The set of indices for B-spline basis functions that intersect with Ω is denoted by K. These basis functions are categorized into two groups, i.e., inner and outer, based on the extent of their support within Ω . An inner B-spline basis function has at least one complete cell of its support contained entirely within Ω . The indices of all inner B-splines are represented by I. Conversely, a B-spline basis function with an index in K I is classified as an outer B-spline, with their indices collectively represented by J. Naturally, K is the union of I and J, or K = I J .
In Figure 4, basis functions with support centers marked by “•” are inner B-splines, while those marked by “∘” are outer B-splines. This classification is key to understanding how the extension process reinforces stability by effectively balancing the contributions of both inner and outer B-spline basis functions.
For each inner B-spline b i , i I , the extended B-spline is defined as follows:
b ˜ i = b i + j I ( j ) e i , j b j ,
where I ( j ) denotes the index set of all outer B-splines associated with b i , and b j , j J , are the outer B-splines. The coefficients e i , j are the extension coefficients, which satisfy the conditions:
e i , j 1 , e i , j = 0 for i j 1 .
These extension coefficients are computed to ensure that the extended B-splines maintain completeness. Specifically, all polynomials of the same degree as the B-splines can be represented by the extended B-splines. For further details on the computation of these coefficients, see [2].
For a PDE where the boundary condition is of the first type described in Section 2.3 with ϕ 0 = 0 , the solution is given by:
u h = w i I c i b ˜ i = i I c i w b ˜ i .
We denote B i = w b ˜ i , where B i , i I , are referred to as weighted extended B-splines in the WEB method.
In this paper, we use the RFM to construct solution-structure-based B-splines that conform exactly to the hybrid boundary conditions. We build on the stability concept presented by the WEB method and develop stable basis functions for analysis by incorporating the RFM structure to achieve the best results possible. In the following section, we present the proposed approach in detail.

4. Solution-Structure B-Spline-Based Framework

In this section, we develop analysis basis functions for solving PDEs on implicit domains with hybrid boundary conditions. The method starts by transforming non-homogeneous boundary conditions into homogeneous ones using the R-function method (RFM), simplifying the problem while ensuring exact boundary conformity. Tensor-product B-splines are then modified using implicit functions derived from RFM to align with the domain. These basis functions are classified into inner and outer types based on their domain support. To ensure numerical stability, an extension process inspired by the Weighted Extended B-spline (WEB) method links outer functions to inner ones through weighted combinations. The resulting extended solution-structure B-splines (ESSB-splines) exactly satisfy the boundary conditions, ensuring both accuracy and stability. Following this, we divide the construction steps into subsections starting by a model problem to simplify the process.

4.1. Model Problem

In this paper, we use the Poisson partial differential equation as a model problem with different hybrid boundary conditions. In this subsection, we present the problem along with the weak form and its solution. Let us start by considering the following model problem:
Δ u = f in Ω , u = ϕ 0 on Ω 1 , u n = ψ 0 on Ω 2 ,
where Ω = Ω 1 Ω 2 , the operator Δ u = 2 u x 2 + 2 u y 2 , and n is the unit inward normal to Ω 2 . We assume that Ω 1 and Ω 2 each have non-zero length, and that f, ϕ 0 , and ψ 0 are square-integrable over Ω , Ω 1 , and Ω 2 , respectively.
The Finite Element Analysis begins by defining a weak formulation that solves the problem by finding u V such that:
a ( u , v ) = l ( v ) , v s . V ,
where V = u u H 1 ( Ω ) , u | Ω 1 = ϕ 0 , and H 1 ( Ω ) is the Sobolev space. The symmetric bilinear form a ( u , v ) is defined as:
a ( u , v ) : = Ω u · v s . d Ω ,
and the linear functional l ( v ) is given by:
l ( v ) : = Ω f v s . d Ω + Ω 2 ψ 0 v s . d Ω 2 .
Given a finite-dimensional subspace V h V spanned by basis functions B i , i I , where I is the index set of the basis functions, the solution to the model problem introduced by Equation (30) is approximated by solving the weak problem:
Find u h V h such that:
a ( u h , v ) = l ( v ) , v s . V h .
For u h V h , u h can be expressed as a linear combination of the basis functions:
u h = i I a i B i .
Substituting this into the weak problem presented by Equation (34), the problem reduces to solving the following linear system:
i I a i Ω B i · B j d Ω = Ω f B j d Ω + Ω 2 ψ 0 B j d Ω 2 , j I .
It is important to note that the Dirichlet boundary condition is imposed on the test function space, while the Neumann boundary condition is handled via a boundary integral. Generally, the numerical solution does not exactly satisfy the Neumann condition, and the boundary integral itself is only an approximation that is especially challenging when the domain is implicit or complex.
In the next subsections, we introduce our proposed method for solving hybrid problems on implicit domains, which avoids the need for boundary integrals. We use tensor-product B-splines with different degrees as the core piecewise functions to build up the final basis functions for the analysis part.

4.2. Conversion of the Model Problem Using the RFM Solution Structure

The boundary condition of the model problem (30) falls under the third type of boundary conditions with h = 0 , as described in Section 2.3. The solution structure is given by:
u = w 1 Φ + w 1 w 2 w 1 + w 2 ψ D 1 w 2 ( w 1 Φ ) D 1 w 2 ( ϕ ) + ϕ + w 1 w 2 2 Φ ,
where Φ is approximated by a finite-dimensional space in the RFM solution structure, and w 1 and w 2 are implicit functions with zero contours Ω 1 and Ω 2 , respectively.
Define u 0 = w 1 w 2 w 1 + w 2 ψ D 1 w 2 ( ϕ ) + ϕ and u ˜ = u u 0 . By simple calculation, the model problem (30) with non-homogeneous hybrid boundary conditions can be converted into the following problem with homogeneous hybrid boundary conditions:
Δ u ˜ = f in Ω , u ˜ = 0 on Ω 1 , u ˜ n = 0 on Ω 2 ,
Thus, the need for a boundary integral is eliminated. The solution structure for the homogeneous hybrid problem can be given as:
u ˜ = w 1 Φ w 1 w 2 w 1 + w 2 D 1 w 2 ( w 1 Φ ) + w 1 w 2 2 Φ .
By removing the need for boundary integrals, the error associated with approximating these integrals is entirely eliminated, resulting in a more precise numerical solution. This improvement is particularly significant because boundary integrals often introduce inaccuracies, especially when the domain boundaries are complex or not well-defined. Moreover, the computational complexity involved in evaluating such integrals on implicitly defined domains is completely bypassed, simplifying the entire process. Without the burden of these intricate calculations, the solution approach becomes more efficient and easier to implement, reducing both the computational cost and the potential for numerical errors.
In the next subsection, we construct basis functions that rigorously satisfy the homogeneous hybrid boundary conditions by leveraging the solution structure outlined in Equation (39). These basis functions are designed to ensure stability and accuracy, adhering to the theoretical framework while maintaining the simplicity and elegance of the approach.

4.3. Basis Functions for Analysis

Let F be a tensor-product mesh covering the computational domain Ω . Let b i , i K , represent the B-spline basis functions defined on F with a non-empty intersection with Ω . We define solution-structure-based B-splines (SSB-splines) as follows:
b ^ i = w 1 b i w 1 w 2 w 1 + w 2 D 1 w 2 ( w 1 b i ) + w 1 w 2 2 b i , i K .
The functions b ^ i and i K satisfy the hybrid boundary conditions u ˜ | Ω 1 = 0 and u ˜ n | Ω 2 = 0 exactly. However, using b ^ i directly as basis functions in analysis may result in excessively large condition numbers for the Galerkin system due to the small support of some b ^ i in Ω .
To tackle this problem, we categorize the SSB-splines b ^ i , where i K , into two distinct groups according to the extent of their support within the domain Ω . The classification differentiates between inner SSB-splines and outer SSB-splines, based on whether the support of the spline is entirely contained within the domain or whether it extends to the domain’s boundary. This classification scheme closely follows the methodology used in the WEB method. The inner SSB-splines are those whose support is fully contained inside the domain, ensuring that they do not interact with the boundary of Ω . These splines are classified by the index set I. On the other hand, the outer SSB-splines have support that extends to the boundary of the domain, which may lead to interaction with the boundary conditions. These splines are indexed by the set J.
This distinction is crucial for achieving a stable and well-conditioned Galerkin system, as the inner splines contribute to the interior approximation, while the outer splines play a key role in accurately satisfying the boundary conditions. To ensure that the system remains stable, we employ an extension process for the SSB-splines, creating extended SSB-splines by linking the outer splines to the inner splines through appropriate weighting functions. This step is essential for maintaining the numerical stability of the resulting system and preventing issues such as ill-conditioning, which can arise when using splines with small support near the boundary. This extended basis construction is an effective strategy to improve the overall performance of the method, allowing for precise and stable approximations in both the interior and boundary regions of the domain.
Similar to the WEB method, for each inner SSB-spline b i , i I , the extended SSB-spline (ESSB-spline) is defined as:
b ˜ i = b ^ i + j I ( j ) e i , j b ^ j ,
where I ( j ) denotes the index set of all outer B-splines connected to b ^ i , and b ^ j , j J , are the outer B-splines. The extension coefficients e i , j satisfy:
e i , j 1 , e i , j = 0 for i j 1 .
The computation of e i , j follows the same process as in the WEB method, so the details are omitted here and the intersted reader is suggested to refer to [2,39] for a detailed construction process.

4.4. Approximation and Error

For the converted model problem described by Equation (38), which is subject to homogeneous hybrid boundary conditions, the ESSB-splines b ˜ i , with i I , serve as the chosen basis functions. These splines are employed to compute the numerical solution u ˜ h by solving the linear system defined in Equation (34). The resulting approximation u h for the original problem, as given by Equation (30) and subject to non-homogeneous hybrid boundary conditions, is then obtained by adding the correction term u 0 to u ˜ h , leading to the final expression:
u h = u ˜ h + u 0 .
This approach ensures that the numerical solution is consistent with the boundary conditions of the original problem while leveraging the computational efficiency of the ESSB-splines in the converted problem.
For a tensor-product mesh with grid width h, if the exact solution u is known, the error is defined as e h = u u h , and the L 2 relative error is given by:
e h 0 u 0 ,
where · 0 denotes the L 2 norm defined as:
v 0 = Ω | v ( x ) | 2 d x 1 2 .
In traditional finite element methods (FEM), the convergence order for the L 2 error is typically n + 1 , where n represents the degree of the shape functions. In this study, we employ B-splines of varying degrees, specifically n = 2 and n = 3 . The examples provided in the next section clearly demonstrate that our method achieves convergence orders of 3 and 4, respectively, when solving Poisson equations with hybrid boundary conditions. This not only illustrates the effectiveness of our approach but also confirms that it attains the optimal convergence order. Consequently, our method proves to be highly effective for addressing hybrid problems on implicitly defined domains, offering superior accuracy and efficiency compared to traditional FEM techniques.

5. Numerical Implementation

In this section, we demonstrate the application of the theoretical results previously discussed by solving three distinct numerical examples. Specifically, we tackle the Poisson equation, as described by Equation (30), across three different domains that are defined by implicit equations. The first two domains are two-dimensional, while the third domain is extended into three dimensions, adding complexity to the problem.
For the hybrid boundary conditions, we implement the first and third types of boundary conditions, as outlined in Section 2.3, assigning each boundary condition type to a corresponding example. Notably, the second type of boundary condition is a special case of the third type, meaning that applying the third type alone is sufficient to cover all cases. For each example, we present the domain configuration, the computed numerical solution, and corresponding error plots. Furthermore, we analyze the convergence rates to verify that the results attain optimal values. This analysis is carried out using basis functions of degrees 2 and 3, ensuring that the accuracy of the numerical solution is consistent with the expected convergence behavior.

5.1. Example 1

In this example, we consider the Poisson Equation presented in Section 4.1 and solve it on the domain defined on [ 0 , 1 ] 2 by the zero-contour of the implicit function w = w 1 w 2 , where w 1 and w 2 are defined as follows:
w 1 = 64 1 ( 8 x 4 ) 2 16 ( 8 y 4 ) 2 9 ,
w 2 = 4 x 3.25 8 2 + y 4.5 8 2 1 / 64 .
We consider the boundary conditions defined as follows:
u | Ω 1 = 0 , u n | Ω 2 = 0 .
The right-hand side f in the model problem (30) is constructed such that the exact solution is u = w 1 w 2 2 . Figure 5 presents the 2 D domain along with the numerical solution solved on a grid with a cell width of h = 2 8 , where the solution is visualized using a color map to illustrate the variation in values across the domain.
The L 2 relative error with grid width h = 2 k , k = 1 , 2 , , 7 calculated for basis functions with degrees 2 and 3, respectively, along with the resulting local error u u h with grid width h = 2 8 with basis functions with a degree of 3, are illustrated by Figure 6. The local error is visualized using a color map to show the error variation across the computational domain, as shown in the right part of Figure 6. The results demonstrate that the L 2 convergence order remains consistently around 3 for basis of degree 2 and 4 with basis of degree 3 when the mesh is refined beyond a certain threshold. This indicates that our method successfully achieves the optimal convergence rates for solving the Poisson equation under homogeneous hybrid boundary conditions of type 1. Such stability underscores the effectiveness of the approach, especially in scenarios that demand high accuracy in computational solutions.
A closer analysis reveals that the largest errors are concentrated near the boundaries, a phenomenon aligned with theoretical expectations for similar methods defined by boundary functions and implicit equations. This boundary-related error is a well-documented challenge in solving partial differential equations (PDEs) on structured grids. Several factors contribute to this behavior, including the limited support of basis functions within the computational domain and issues related to numerical integration near boundary regions. For readers seeking a deeper exploration of these boundary effects and the intricacies of numerical error, we recommend consulting the comprehensive discussions provided in [39,40].

5.2. Example 2

For this example, we solve the Poisson problem defined by Equation (30) in Section 4.1 on the domain defined in the interval [ 0 , 1 ] 2 . The geometry is the union of two circles that are separate. The implicit function w = w 1 w 2 is used to bound the domain. The example is selected to show the convergence of our method in solving the Poisson equation with hybrid boundary conditions on domains consist of two separate parts where w 1 and w 2 are defined as follows:
w 1 = 5 2 1 25 x 1 4 2 y 1 2 2 ,
w 2 = 5 2 x 3 4 2 + y 1 2 2 1 25 .
We consider the following boundary conditions:
u | Ω 1 = ϕ , u n | Ω 2 = ψ .
For this example, the boundary conditions with ϕ = 1 , ψ = w 1 + w 2 are considered. The right-hand side f in the model problem (30) is constructed so that the exact solution is u = exp ( w 1 w 2 ) . Figure 7 presents the 2 D domain along with the numerical solution solved on a grid with a cell width of h = 2 9 , where the solution is visualized using a color map to illustrate the variation in values across the domain.
In Figure 8, we present the L 2 relative error as a function of grid width, denoted by h = 2 k for k = 1 , 2 , , 9 . These computations are performed using basis functions of degrees 2 and 3. Additionally, the plot shows the error distribution across the domain, visualized using a color map. This illustrates how the error, represented by u u h , varies throughout the domain when the grid resolution is h = 2 9 and using basis functions of degree 3.
The results clearly demonstrate that our method consistently achieves optimal convergence rates for both degrees, even when applied to the more challenging case of non-homogeneous hybrid boundary conditions. This is particularly noteworthy because it highlights the robustness of the approach across varying levels of complexity in boundary behavior.

5.3. Example 3

For this example, we solve the Poisson problem defined by Equation (30) in Section 4.1 on the 3 D domain defined in the interval [ 0 , 1 ] 3 by the zero-contour of the implicit function w = w 1 w 2 , where w 1 and w 2 are defined as follows:
w 1 = 5 2 1 25 x 1 4 2 y 1 2 2 z 1 2 2 ,
w 2 = 5 2 x 3 4 2 + y 1 2 2 + z 1 2 2 1 25 .
We consider the following boundary conditions:
u | Ω 1 = ϕ , u n | Ω 2 = ψ .
For this example, the boundary conditions with ϕ = 1 , ψ = w 1 + w 2 are considered. The right-hand side f in the model problem (30) is constructed so that the exact solution is u = exp ( w 1 w 2 ) . Figure 9 presents the 3 D domain along with the numerical solution solved on a grid with a cell width of h = 2 8 , where the solution is visualized using a color map to illustrate the variation in values across the domain.
In Figure 10, we display the L 2 relative error as it varies with grid width, represented by h = 2 k for k = 1 , 2 , , 8 . These results are computed using basis functions of degrees 2 and 3, allowing for a comparison of how different polynomial degrees influence accuracy and convergence behavior. The plot also highlights the error, denoted by u u h , across several slices of the 3 D solution when h = 2 8 , specifically for basis functions of degree 3. The error is visualized using a color map to illustrate the variation in values across the domain. These findings emphasize the effectiveness of using higher-degree basis functions in capturing the finer details of the solution, particularly in 3D geometries. By refining the grid and examining error behavior across multiple slices, we can better reflect both accuracy and stability in the numerical solution.

6. Conclusions

In this study, we developed a method for solving partial differential equations (PDEs) on implicit domains with hybrid boundary conditions. By transforming non-homogeneous boundary conditions into homogeneous ones, the method simplifies the problem while ensuring exact boundary conformity. The use of modified B-splines aligned with the domain’s geometry, combined with a stability-enhancing extension process, leads to solution-structure B-splines that satisfy boundary conditions with high accuracy and stability. The approach was validated through numerical examples involving the Poisson equation in two- and three-dimensional domains, demonstrating optimal approximation order and confirming its effectiveness for hybrid boundary problems and broader PDE applications.

Author Contributions

A.Q.: conceptualization, formal analysis, writing and editing—original draft preparation; T.Y.: conceptualization, numerical simulation and funding acquisition; F.D.: conceptualization, numerical analysis, writing—original draft preparation. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the National Natural Science Foundation of China (No. 12401502) and Shandong Provincial Natural Science Foundation (No. ZR2022QA060).

Data Availability Statement

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Cottrell, J.A.; Hughes, T.J.R.; Bazilevs, Y. Isogeometric Analysis: Toward Integration of CAD and FEA; Wiley: Chichester, UK, 2009. [Google Scholar]
  2. H<i>o</i>¨llig, K.; Reif, U.; Wipper, J. Weighted extended B-spline approximation of Dirichlet problems. Siam. J. Numer. Anal. 2001, 39, 442–462. [Google Scholar]
  3. Belytschko, T.; Parimi, C.; Moës, N.; Sukumar, N.; Usui, S. Structured extended finite element methods for solids defined by implicit surfaces. Int. J. Numer. Methods Eng. 2003, 56, 609–635. [Google Scholar] [CrossRef]
  4. Schillinger, D.; Ruess, M. The finite cell method: A review in the context of higher-order structural analysis of CAD and image-based geometric models. Arch. Comput. Methods Eng. 2015, 22, 391–455. [Google Scholar] [CrossRef]
  5. Dhatt, G.; Lefrançois, E.; Touzot, G. Finite Element Method; John Wiley & Sons: Hoboken, NJ, USA, 2012. [Google Scholar]
  6. Bézier, P. Numerical Control-Mathematics and Applications; John Wiley & Sons: Hoboken, NJ, USA, 1972. [Google Scholar]
  7. Cockburn, B.; Karniadakis, G.E.; Shu, C.W. The development of discontinuous Galerkin methods. In Discontinuous Galerkin Methods; Springer: Berlin/Heidelberg, Germany, 2000; pp. 3–50. [Google Scholar]
  8. Quarteroni, A.; Quarteroni, S. Numerical Models for Differential Problems. In Modeling, Simulation and Applications; Springer: Berlin/Heidelberg, Germany, 2009; Volume 2. [Google Scholar]
  9. Brezzi, F.; Fortin, M. Mixed and Hybrid Finite Element Methods. In Springer Series in Computational Mathematics; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  10. Tagliabue, A.; Dede, L.; Quarteroni, A. Isogeometric analysis and error estimates for high order partial differential equations in fluid dynamics. Comput. Fluids 2014, 102, 277–303. [Google Scholar] [CrossRef]
  11. Bartezzaghi, A.; Ded, L.; Quarteroni, A. Isogeometric analysis of high order partial differential equations on surfaces. Comput. Methods Appl. Mech. Eng. 2015, 295, 446–469. [Google Scholar] [CrossRef]
  12. Qarariyah, A.; Yang, T.; Deng, J. Solving higher order PDEs with isogeometric analysis on implicit domains using weighted extended THB-splines. Comput. Aided Geom. Des. 2019, 71, 202–219. [Google Scholar] [CrossRef]
  13. Buffa, A.; Sangalli, G.; Vázquez, R. Isogeometric analysis in electromagnetics: B-splines approximation. Comput. Methods Appl. Mech. Eng. 2010, 199, 1143–1152. [Google Scholar] [CrossRef]
  14. Coradello, L.; Antolin, P.; Vázquez, R.; Buffa, A. Adaptive isogeometric analysis on two-dimensional trimmed domains based on a hierarchical approach. Comput. Methods Appl. Mech. Eng. 2020, 364, 112925. [Google Scholar] [CrossRef]
  15. Hughes, T.J.R.; Cottrell, J.A.; Bazilevs, Y. Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput. Methods Appl. Mech. Eng. 2005, 194, 4135–4195. [Google Scholar] [CrossRef]
  16. Takacs, T.; Jüttler, B. Existence of stiffness matrix integrals for singularly parameterized domains in isogeometric analysis. Comput. Methods Appl. Mech. Eng. 2011, 200, 356–3582. [Google Scholar] [CrossRef]
  17. Xu, G.; Mourrain, B.; Duvigneau, R.; Galligo, A. Variational harmonic method for parametrization of computational domain in 2D isogeometric analysis. In Proceedings of the 12th International Conference on Computer-Aided Design and Computer Graphics, Jinan, China, 15–17 September 2011; pp. 223–228. [Google Scholar]
  18. Xu, G.; Mourrain, B.; Duvigneau, R.; Galligo, A. Parametrization of computational domain in isogeometric analysis: Methods and comparison. Comput. Methods Appl. Mech. Eng. 2011, 200, 2021–2031. [Google Scholar] [CrossRef]
  19. Xu, J.L.; Chen, F.L.; Deng, J.S. Two-dimensional domain decomposition based on skeleton computation for parametrization and isogeometric analysis. Comput. Methods Appl. Mech. Eng. 2015, 284, 541–555. [Google Scholar] [CrossRef]
  20. Deng, F.; Zeng, C.; Deng, J.S. Boundary-mapping parametrization in isogeometric analysis. Commun. Math. Stat. 2016, 4, 203–216. [Google Scholar] [CrossRef]
  21. Li, X.; Sederberg, T.W. S-Splines: A simple surface solution for IGA and CAD. Comput. Methods Appl. Mech. Eng. 2019, 350, 664–678. [Google Scholar] [CrossRef]
  22. Liu, H.; Yang, Y.; Liu, Y.; Fu, X.M. Simultaneous interior and boundary optimization of volumetric domain parameterizations for IGA. Comput. Aided Geom. Des. 2020, 79, 101853. [Google Scholar] [CrossRef]
  23. Rvachev, V.L.; Sheiko, T.I.; Shapiro, V.; Tsukanov, I. On completeness of RFM solution structures. Comput. Mech. 2000, 25, 305–316. [Google Scholar] [CrossRef]
  24. Tsukanov, I.; Shapiro, V. The architecture of SAGE—A meshfree system based on RFM. Eng. Comput. 2002, 18, 295–311. [Google Scholar]
  25. Rvachev, V.L. Theory of R-Functions and Some Applications; Naukova Dumka: Russia, 1982. [Google Scholar]
  26. Sederberg, T.W.; Zheng, J.; Bakenov, A.; Nasri, A. T-splines and T-NURCCs. Acm Trans. Graph. Tog 2003, 22, 477–484. [Google Scholar] [CrossRef]
  27. Deng, J.; Chen, F.; Li, X.; Hu, C.; Tong, W.; Yang, Z.; Feng, Y. Polynomial splines over hierarchical T-meshes. Graph. Model. 2008, 70, 76–86. [Google Scholar] [CrossRef]
  28. Farin, G. Curves and Surfaces for Computer-Aided Geometric Design: A Practical Guide; Elsevier: Amsterdam, The Netherlands, 2014. [Google Scholar]
  29. Rouhani, M.; Sappa, A.D.; Boyer, E. Implicit B-spline surface reconstruction. IEEE Trans. Image Process. 2014, 24, 22–32. [Google Scholar] [CrossRef]
  30. Qarariyah, A.; Deng, F.; Yang, T.H.; Liu, Y.; Deng, J. Isogeometric analysis on implicit domains using weighted extended PHT-splines. J. Comput. Appl. Math. 2019, 350, 353–371. [Google Scholar] [CrossRef]
  31. Kantotovich, L.V.; Krylov, V.I. Approximate Methods of Higher Analysis; Interscience Publishers: Geneva, Switzerland, 1958. [Google Scholar]
  32. Shapiro, V. Real functions for representation of rigid solids. Comput. Aided Geom. Des. 1994, 9, 153–175. [Google Scholar] [CrossRef]
  33. Shapiro, V.; Tsukanov, I. Implicit functions with guaranteed differential properties. In Proceedings of the Fifth ACM Symposium on Solid Modeling and Applications, ACM, Ann Arbor, MI, USA, 8–11 June 1999; pp. 258–269. [Google Scholar]
  34. Yang, T.H.; Qarariyah, A.; Deng, J.S. Spline R-function and applications in FEM. Numer.-Math.-Theory Methods Appl. 2020, 13, 150–175. [Google Scholar]
  35. Rvachev, V.L.; Sheiko, T.I. R-functions in boundary value problems in mechanics. Appl. Mech. Rev. 1995, 48, 151–188. [Google Scholar] [CrossRef]
  36. Pakso, A.; Adzhiev, V.; Sourin, A.; Savchenko, V. Function representation in geometric modeling: Concepts, implementation and applications. Vis. Comput. 1995, 11, 429–446. [Google Scholar]
  37. Fougerolle, Y.D.; Gribok, A.; Foufou, S.; Truchetet, F.; Abidi, M.A. Boolean operations with implicit and parametric representation of primitives using r-functions. IEEE Trans. Vis. Comput. Graph. 2005, 11, 529–539. [Google Scholar] [CrossRef]
  38. Shapiro, V. Semi-analytic geometry with R-functions. Acta Numer. 2007, 16, 239–303. [Google Scholar] [CrossRef]
  39. Höllig, K. Finite Element Methods with B-Splines; SIAM: Philadelphia, PL, USA, 2003; Volume 26. [Google Scholar]
  40. Yang, T.H.; Qarariyah, A.; Kang, H.M.; Deng, J.S. Numerical integration over implicitly defined domains with topological guarantee. Commun. Math. Stat. 2019, 7, 459–474. [Google Scholar] [CrossRef]
Figure 1. Different R-function representations for x y .
Figure 1. Different R-function representations for x y .
Mathematics 12 03973 g001
Figure 2. The domain and weight function generated using function ω .
Figure 2. The domain and weight function generated using function ω .
Mathematics 12 03973 g002
Figure 3. On the left: Two B-splines of degree 2 the first colored blue and the second red in 1 D with Ξ = { 0 , 1 , 2 , 3 , 4 } are presented. On the right: A cardinal B-spline of degree 2 with uniform knot vector { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } is presented.
Figure 3. On the left: Two B-splines of degree 2 the first colored blue and the second red in 1 D with Ξ = { 0 , 1 , 2 , 3 , 4 } are presented. On the right: A cardinal B-spline of degree 2 with uniform knot vector { 0 , 1 , 2 , 3 } × { 0 , 1 , 2 , 3 } is presented.
Mathematics 12 03973 g003
Figure 4. The classification of biquadratic tensor-product B-splines: inner basis functions (center point of the support denoted by “•”) colored blue and outer basis functions (center point of the support denoted by “∘”) colored green.
Figure 4. The classification of biquadratic tensor-product B-splines: inner basis functions (center point of the support denoted by “•”) colored blue and outer basis functions (center point of the support denoted by “∘”) colored green.
Mathematics 12 03973 g004
Figure 5. The computed domain and corresponding numerical solution generated by the proposed approach for Example 1.
Figure 5. The computed domain and corresponding numerical solution generated by the proposed approach for Example 1.
Mathematics 12 03973 g005
Figure 6. For Example 1. On the left: the L 2 relative error for basis functions of degrees 2 and 3. On the right: the local error u u h with grid width h = 2 8 using basis functions with degree 3.
Figure 6. For Example 1. On the left: the L 2 relative error for basis functions of degrees 2 and 3. On the right: the local error u u h with grid width h = 2 8 using basis functions with degree 3.
Mathematics 12 03973 g006
Figure 7. The computed domain and corresponding numerical solution generated by the proposed approach for Example 2.
Figure 7. The computed domain and corresponding numerical solution generated by the proposed approach for Example 2.
Mathematics 12 03973 g007
Figure 8. For Example 2. On the left: the L 2 relative error for basis functions with degrees of 2 and 3. On the right: the local error u u h with grid width h = 2 9 using basis functions with a degree of 3.
Figure 8. For Example 2. On the left: the L 2 relative error for basis functions with degrees of 2 and 3. On the right: the local error u u h with grid width h = 2 9 using basis functions with a degree of 3.
Mathematics 12 03973 g008
Figure 9. The domain and chosen slices of the numerical solution are presented, generated by the proposed approach for Example 3.
Figure 9. The domain and chosen slices of the numerical solution are presented, generated by the proposed approach for Example 3.
Mathematics 12 03973 g009
Figure 10. For Example 3. On the left: the L 2 relative error for basis functions with degrees of 2 and 3. On the right: the local error u u h shown on slices of the domain with grid width h = 2 8 using basis functions with a degree of 3.
Figure 10. For Example 3. On the left: the L 2 relative error for basis functions with degrees of 2 and 3. On the right: the local error u u h shown on slices of the domain with grid width h = 2 8 using basis functions with a degree of 3.
Mathematics 12 03973 g010
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Qarariyah, A.; Yang, T.; Deng, F. A Solution-Structure B-Spline-Based Framework for Hybrid Boundary Problems on Implicit Domains. Mathematics 2024, 12, 3973. https://doi.org/10.3390/math12243973

AMA Style

Qarariyah A, Yang T, Deng F. A Solution-Structure B-Spline-Based Framework for Hybrid Boundary Problems on Implicit Domains. Mathematics. 2024; 12(24):3973. https://doi.org/10.3390/math12243973

Chicago/Turabian Style

Qarariyah, Ammar, Tianhui Yang, and Fang Deng. 2024. "A Solution-Structure B-Spline-Based Framework for Hybrid Boundary Problems on Implicit Domains" Mathematics 12, no. 24: 3973. https://doi.org/10.3390/math12243973

APA Style

Qarariyah, A., Yang, T., & Deng, F. (2024). A Solution-Structure B-Spline-Based Framework for Hybrid Boundary Problems on Implicit Domains. Mathematics, 12(24), 3973. https://doi.org/10.3390/math12243973

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop