1,030
Views
0
CrossRef citations to date
0
Altmetric
Articles

NURBS Enhanced Virtual Element Methods for the Spatial Discretization of the Multigroup Neutron Diffusion Equation on Curvilinear Polygonal Meshes

ORCID Icon, ORCID Icon &

Abstract

The Continuous Galerkin Virtual Element Method (CG-VEM) is a recent innovation in spatial discretization methods that can solve partial differential equations (PDEs) using polygonal (2D) and polyhedral (3D) meshes. Recently, a new formulation of CG-VEM was introduced which can construct VEM spaces on polygons with curvilinear edges. This paper presents the application of the curved VEM to the multigroup neutron diffusion equation and demonstrates its benefits over the conventional straight-sided VEM for a number of benchmark verification test cases with curvilinear domains. These domains were constructed using a topological data-structure developed as part of this paper, based on the doubly-connected edge list, with curves and surfaces both represented using non-uniform rational B-splines (NURBS). This data-structure is used both to specify the geometry of the reactor and to represent the curvilinear polygonal mesh. We also present two separate methods of performing integrations on curvilinear polygons, one for homogeneous functions and one for non-homogeneous functions.

1. Introduction

The multigroup neutron diffusion equation (NDE) is a coupled system of elliptic, second-order partial differential equations (PDEs). It is a special case of the neutron transport equation (NTE), where the angular dependence of the angular flux is linearly anisotropic (Hebert Citation2020). The NDE is widely used in the nuclear industry for whole-core nuclear reactor analysis simulations (Gaston et al. Citation2015; Mylonakis et al. Citation2014). Whole-core simulations are typically the final stage of a nuclear reactor core analysis and are usually performed using coarse mesh nodal methods (Lawrence Citation1986; Smith Citation2017; Sanchez Citation2009; Smith Citation1986). The nodal reactor analysis simulations utilize spatially homogenized, and energy group condensed, macroscopic neutron cross section data for each of the nuclear fuel assemblies (or nodes) within the reactor core (Lawrence Citation1986; Smith Citation2017; Sanchez Citation2009; Smith Citation1986). Nuclear reactor lattice physics computations are performed to determine the spatially homogenized and energy group condensed macroscopic neutron cross section data as well as assembly discontinuity factors (ADFs). These nuclear reactor lattice physics codes solve the neutron transport equation for a single nuclear fuel assembly (or node) with prescribed periodic boundary conditions (Lawrence Citation1986; Smith Citation2017; Sanchez Citation2009; Smith Citation1986). Typically between 2 to 4 energy groups are used when solving the NDE across the whole nuclear reactor core. The whole-core calculation is used to compute quantities such as the power distribution in the nuclear reactor core and nuclear fuel burn-up or depletion (Hebert Citation2020). This approach to nuclear reactor core analysis has been developed over decades and was initially conceived when computing resources were far less developed. As computing resources have grown over recent decades it has become feasible to perform calculations on nuclear reactor geometries which have not been spatially homogenized, for example see (Stimpson et al. Citation2020; Collins et al. Citation2020). This presents an opportunity to produce high-fidelity solutions where spatial information is not lost in the homogenization process, but it also poses an additional challenge. This challenge is to faithfully represent the full set of geometric features of the nuclear reactor within the computational mesh. Early numerical methods, such as the nodal method, were limited to structured, Cartesian grids and were therefore not able to exactly model complex, curvilinear geometric features.

The finite element method (FEM), which was first applied to neutron transport in the 1970s (Semenza, Lewis, and Rossow Citation1972; Kang and Hansen Citation1973), was an important advance in improved geometrical modeling capability. For the first time, unstructured meshes could be used to discretise the NTE. Unstructured finite element (FE) meshes are better able to approximate curvilinear geometries than structured Cartesian meshes. The key disadvantage of the FEM was the initial limitation to straight-sided elements, which result in a discrepancy between the computational mesh and the geometric domain. Higher-order isoparametric FEM, which has a piece-wise polynomial description of geometry, are often used to reduce this discrepancy. However, even the high-order isoparametric FEM is unable to exactly represent conic sections in 2D and quadric surfaces in 3D, meaning the mesh-geometry discrepancy is not eliminated. This is of particular relevance to nuclear reactor physics as many reactor designs feature cylindrical fuel rods. For a FEM scheme of higher polynomial order (p2), the geometric discrepancy becomes the dominant source of spatial discretization error relative to the other sources of error, which are the approximation error and the integration error. The approximation error arises due to difference between the approximate solution, which is expanded in a finite-dimensional global FE basis, and the exact solution. While the integration error occurs due to the discrepancy between analytic integrals and integrals performed by numerical quadrature. In this paper, we are primarily concerned with the approximation error and the geometric error. The integration error can always be reduced by increasing the order of quadrature. In fact, it was shown in (Ciarlet Citation2002) Section 4.1, that for a FEM scheme of order p that numerical quadrature of order 2(p1) is sufficient to guarantee that numerically integrated bilinear form is still coercive and that the FEM scheme will converge with the expected order of accuracy. A more recent innovation in the finite element method was the advent of the NURBS-enhanced finite element method (NE-FEM) (Sevilla, Fernández-Méndez, and Huerta Citation2008; Sevilla, Fernández-Méndez, and Huerta Citation2011), from whom we took inspiration for the name of our own method. In the NE-FEM, the mapping between parent space and real space is constructed using the NURBS definition of the boundary curves. The NE-FEM therefore also eliminates the geometry error between the computational mesh and the geometric domain from the lowest level of mesh refinement. The authors demonstrate that the NE-FEM exhibits optimal order of convergence for problems with curvilinear NURBS boundaries. The NE-FEM is still limited to triangular/quadrilateral meshes in 2D and tetrahedral/hexahedral meshes in 3D however.

Isogeometric analysis (IGA) (Hughes, Cottrell, and Bazilevs Citation2005) is a spatial discretization method designed to minimize the geometric model error between the computer aided geometric design (CAGD) geometric description of a domain and the computational mesh. It is a weighted-residual (WR) Galerkin spatial discretization where the basis functions used to represent the solution field are the same as those used to describe the geometry, in this case the Non-Uniform Rational B-spline basis, which is ubiquitous in CAGD. NURBS are capable of representing a wide variety of geometries including conic sections in 2D and quadric surfaces in 3D, making them very useful for the analysis of nuclear reactors. IGA has already been applied to numerous areas of nuclear reactor physics including the neutron diffusion equation, the even-parity form of the NTE, the first-order form of the NTE, the self-adjoint angular flux (SAAF) form of the NTE and the weighted least squares (WLS) form of the NTE (Owens et al. Citation2016; Hall, Eaton, and Williams Citation2012; Owens, Kópházi, and Eaton Citation2017a; Owens et al. Citation2017b; Owens et al. Citation2017c; Welch et al. Citation2017a; Welch et al. Citation2017b; Latimer et al., Citation2020; Latimer et al., Citation2020; Latimer et al. Citation2021). Many of these papers demonstrate a marked improvement in numerical accuracy for a given number of degrees of freedom (DoF) when compared to conventional finite elements of equal polynomial order. However, IGA has one potential disadvantage which is that a piece-wise volumetric NURBS parametrisation of the computational domain is required. Further, this volumetric NURBS parametrisation must be constructed from the representation of geometry found in most commercial CAD software which is the boundary-representation (b-rep). The b-rep is a topological structure which stores the incidence and adjacency of vertices, edges, faces and volumes. Faces, edges and vertices are then mapped to surfaces, curves and points which encode how these entities are embedded in 3D space. The process of producing an analysis-suitable NURBS mesh from a b-rep involves subdividing the computational domain, which may have complicated topology, into individual sub-regions which are curvilinear quadrilaterals in 2D and curvilinear hexahedra in 3D (Hughes, Cottrell, and Bazilevs Citation2005). Even with the use of hanging-node discontinuous IGA (Owens et al. Citation2016; Owens, Kópházi, and Eaton Citation2017a; Owens et al. Citation2017b; Owens et al. Citation2017c), constrained node continuous IGA (Latimer et al. Citation2021) or T-spline IGA methods (Harmel, Sauer, and Bommes Citation2017; Bazilevs et al. Citation2010) this represents a significant geometrical challenge. Some approaches to this problem may be found in (Khamayseh and Hamann Citation1996; Aigner et al. Citation2009; Xu et al. Citation2013a; Xu et al. Citation2013b; Lin et al. Citation2015; Schneider, Panozzo, and Zhou Citation2021; Schmidt, Wüchner, and Bletzinger Citation2012). Therefore, an alternative to IGA would be a method which employs a more conventional notion of mesh, in the sense of finite elements, but is able to preserve the full geometric information of the original geometry. One such numerical method is the virtual element method (VEM).

The virtual element method (VEM) is a generalization of the Galerkin finite element method (FEM) to polytopal grids. The VEM was first introduced in (Beirão da Veiga et al. Citation2013) for Poisson’s equation, which introduced the canonical H1-conforming, C0-continuous virtual element. Around the same time the H2-conforming, C1-continuous virtual element method for plate bending problems (Brezzi and Marini Citation2013) was also introduced. The VEM literature has since expanded substantially from these two original papers. In (da Veiga and Manzini Citation2014) the VEM was extended to include schemes with arbitrary regularity, i.e. Cm continuous with any m > 0, while in in (Manzini, Cangiani, and Sutton Citation2014; da Veiga et al. Citation2016) the H1-conforming VEM for general second-order elliptic problems was presented. Other major breakthroughs on VEM theory include the development of the computable L2 projection (Ahmad et al. Citation2013), the reduction of internal degrees of freedom (Beirão da Veiga et al. Citation2016a; Russo Citation2016), nonconforming discretisations (Antonietti, Manzini, et al. Citation2018; Cangiani, Manzini, and Sutton Citation2016; Berrone, Borio, and Manzini Citation2018; Ayuso de Dios, Lipnikov, and Manzini Citation2016; Liu, Li, and Chen Citation2017) and stabilisations and L2-orthogonalised local polynomial bases (Dassi and Mascotto Citation2018; Mascotto Citation2018; Berrone and Borio Citation2017). A rigorous analyses of stability and a priori error estimates may be found in (Brenner, Guan, and Sung Citation2017; Brenner and Sung Citation2018; da Veiga, Lovadina, and Russo Citation2017). Recently, formulations involving H1 virtual elements with curvilinear edges have been presented (Beirão da Veiga, Russo, and Vacca Citation2019; Bertoluzza, Pennacchio, and Prada Citation2019; Beirão da Veiga et al. Citation2020), with the version presented in (Beirão da Veiga, Russo, and Vacca Citation2019) being the one that has been used in this paper to solve the Neutron Diffusion Equation (NDE). One of the important advantages of the VEM presented in (Beirão da Veiga, Russo, and Vacca Citation2019) is its simplicity since an algorithm developed for a straight-sided VEM, such as that in (Beirão da Veiga et al. Citation2013) can easily be modified to accommodate curvilinear edges.

The novelty presented in this paper is the use of Non-Uniform Rational B-spline geometry, in conjunction with curvilinear VEM of (Beirão da Veiga, Russo, and Vacca Citation2019), to develop a high-order, exact-geometry discretization of the multigroup neutron diffusion equation (NDE). This is a direct extension of the research we presented in (Ferguson, Kópházi, and Eaton Citation2021), where it was shown that the geometric error was causing convergence rates in various quantities of interest (QoI) to saturate at second-order, irrespective of the polynomial order of the VEM scheme. This paper demonstrates that such effects can be eliminated using NURBS-enhanced VEM (NE-VEM) algorithms. Eliminating the geometric error means that the benefits of higher order VEM schemes are fully realized and this will be demonstrated through a series of benchmark verification test cases. Additionally, this paper will describe many of the algorithmic details needed to implement a computationally efficient NE-VEM, including a geometry/mesh data structures for both building nuclear reactor geometries and for representing curvilinear polygonal meshes and numerical integration on curvilinear polygons.

This paper is organized as follows: in Section 2 we review the definition of the curvilinear, H1-conforming virtual element space that has previously been developed within the existing research literature (Beirão da Veiga, Russo, and Vacca Citation2019). These are the local function spaces which we shall use to discretise the multigroup NDE. In Section 3 we derive the variational form of the multigroup neutron diffusion equation and present the virtual element discretization of both the fixed-source and effective multiplication factor (Keff), or k-eigenvalue, nuclear reactor physics problems. In Section 4 we present the data structure we developed to efficiently store both NURBS-based models of nuclear reactor geometries and NURBS-based curvilinear polygonal meshes. We also present the geometric model we developed to represent curvilinear polygons with NURBS edges. In Section 5 we present the method we developed to perform high-order numerical integration of homogeneous functions (in particular the set of monomials up to a given order) and general functions using a NURBS surface tessellation of curvilinear polygons. High-order numerical integration which incorporates exact-geometry information is the key to obtaining the maximum possible accuracy from the high-order VEM on curvilinear meshes. In Section 6 we present three numerical test cases which demonstrate the benefits of using the NE-VEM over standard straight-sided VEM for problems with curvilinear geometry. Finally, in Section 7 we give some concluding remarks.

2. The curved VEM

The theory of the NE-VEM shall be presented in this section. The formulation presented here is taken primarily from the previous research literature in the field (Beirão da Veiga et al. Citation2013; Ahmad et al. Citation2013; Russo Citation2016; Beirão da Veiga et al. Citation2016b) with the extension to curvilinear domains introduced in (Beirão da Veiga, Russo, and Vacca Citation2019).

2.1. Preliminaries

Vectors in Rd are denoted with lower case bold e.g. v and the element at index i of a vector is denoted (v)i. Matrices in Rm×n are denoted using upper case bold e.g. A and the element at index (i, j) of a matrix is denoted (A)i,j. Given a domain ERd the diameter, centroid and measure are denoted hE, xE and |E| respectively. If E is a polygon then the number of vertices, edges and degrees of freedom present in it are denoted NvE,NeE and NdofE respectively.

Let the domain of interest V be bounded by a set of n general NURBS curves, denoted {Γi}i=1n, with the only restriction being that each curve is a member of Cm, with m0. We shall let {Th}h denote a family of partitions of V where h denoted the maximum face diameter in the mesh: h=maxFThhF. The mesh shall satisfy the usual restrictions: that faces are non-overlapping and share one or more edges only if they are adjacent. The faces themselves are each bounded polygons with possibly curved edges. The set of faces in the mesh Fh may be split into two disjoint sets: Fhi and Fhb such that Fh=FhiFhb. The set Fhi are the internal faces, defined as the set of faces that are not incident with a geometric curve. The set Fhb are the boundary faces, defined as those faces which are incident with a geometric curve. An example is presented in . The reason for making the distinction between these two sets of faces is that the faces FFhi are guaranteed to have all their edges be straight lines. Therefore, the local curved virtual element spaces coincide with classical VEM described in (Beirão da Veiga et al. Citation2013; Beirão da Veiga et al. Citation2016b; Beirão da Veiga et al. Citation2014). The faces FFhb however, may have one or more of their edges be curvilinear. Therefore, the local curved VEM spaces diverge from the classical ones. Similarly we may split the set of edges in Th, denoted Eh into boundary edges Ehb and internal edges Ehi. All edges may either be straight or curvilinear depending on whether they are incident on either curved boundaries or curved internal interfaces. We make the following mesh regularity assumptions:

Figure 1. Illustration of the VEM DoFs on a curvilinear polygon and an example of a curvilinear polygonal mesh (right).

Figure 1. Illustration of the VEM DoFs on a curvilinear polygon and an example of a curvilinear polygonal mesh (right).

Assumption 2.1.

(Mesh Regularity) The exists a positive constant η such that

  • for every face FTh the length of all the edges of F have length ηhF.

  • every face FTh is star-shaped with respect to a ball BF with radius ηhF.

We denote the usual norm and seminorm in the Sobolev spaces as vs,E,|v|s,E for all v in Hs(E) and we denote the the the broken Sobolev space and broken polynomial space as: Hs(Th)={vL2(V):v|FHs(F)FTh}, Pp(Th)={qpL2(V):qp|FPp(F)FTh}.

We define the broken Sobolev norms on Hs(Th) in the usual way: vs,h=(FThvs,F2)1/2,|v|s,h=(FTh|v|s,F2)1/2.

Finally, we define the set of scaled monomials of order p on face F as: Mp(F)={mα(x)=(xxFhF)αx(yyFhF)αy:αx+αyp}, and use Mp(F) as a basis for Pp(F) therefore the dimension of Pp(P) is given by: np=(p+1)(p+2)/2. Following (Beirão da Veiga et al. Citation2014) we establish the following ordering between 1D index α and multi-index (αx,αy): (2.1) 1(0,0),2(1,0),3(0,1),4(2,0),5(1,1),6(0,2),(2.1)

This mapping shall be denoted α(i,j).

2.2. The local curved VE space

2.2.1. The initial space

Given a curved polygon FTh, on each edge e, straight or curved, let γe:[0,1]e be the NURBS parametrisation of that edge. The forward mapping is denoted x=γet and the inverse mapping t=γe1x. We define a 1D polynomial space Pp([0,1]) from which we may define a pseudo-polynomial space on each edge e P˜p(e):={q˜p(γet)=qp(t):ppPp([0,1])t[0,1]}.

Note P˜p(e) will not be polynomial unless γe is an affine map. Let F be bounded by the union of a set of curvilinear edges E˜F and a set of straight edges EF such that F=E˜FEF. Following the usual process of constructing local VEM spaces for elliptic operators we begin by defining a boundary space Bp(F): Bp(F):={v:vC0(F)andv|e˜P˜p(e˜)e˜E˜Fandv|ePp(e)eEF}.

With Bp(F) defined, the initial local VEM space may be constructed as follows: V˜p(F):={vH1(F):v|FBp(F)andΔvPp(F)}

We now present two propositions about the dimension of both Bp(F) and V˜p(F).

Proposition 2.1.

For a polygon F with NeF edges, Bp(F) has dimension pNeF and V˜p(F) has dimension pNeF+np.

See ((Beirão da Veiga, Russo, and Vacca Citation2019), proposition 2.2) and ((Ahmad et al. Citation2013), proposition 1) for a short proof.

illustrates V˜p(F) on an example curved polygon where e2, e6 (shown in orange) are curved and the remaining edges are straight. We may define the following linear functionals on V˜p(F) (Beirão da Veiga, Russo, and Vacca Citation2019):

  • D1: The value of v at each of the vertices of F.

  • D2: The value of v at the p – 1 internal points of the p + 1 Gauss-Lobatto quadrature on eEF.

  • D3: The value of v at each of the points given by x=γe˜t where t is a member of the p – 1 internal points of the p + 1 Gauss-Lobatto rule on [0,1] and γe˜:[0,1]e˜ is the NURBS parameterization for curve e˜E˜F.

  • D4: The moments with the members of Mp2(F): 1|F|vmαdxmαMp2(F).

Using these linear functionals, it is possible to compute three important projection operators: the energy projector Πp:H1(F)Pp(F), the gradient projector Πp10:H1(F)[Pp1(F)]2 and the L2(F) projection Πp20:L2(F)Pp2(F).

Definition 2.2.

(The energy projector) The energy projector is defined by the following projection onto constants and the following orthogonality condition: FΠpvvdx=0vH1(F) ((Πpvv),qp)0,F=0vH1(F)andqpPp(F).

Definition 2.3.

(The gradient projector) The gradient projector is defined by the following orthogonality condition: (Πp10vv,qp1)0,F=0forqp1[Pp1(F)]2,

Definition 2.4.

(The L2 projector) The L2 projector is defined by the following orthogonality condition. (Πp20vv,qp2)0,F=0vH1(F)andqp2Pp2(F).

2.2.2. The enhanced virtual element space

The initial virtual element space V˜p(F) is sufficient to solve pure diffusion problems. However, if one wishes to solve problems involving either convection or reaction terms then the full L2(F) projector is required. Following the method of (Ahmad et al. Citation2013), it is possible to construct the enhanced virtual element space in which the full L2 projection onto Pp(F) is computable from just the linear functionals D1D4. The enhanced virtual element space is defined as follows Vp(F):={vV˜p(F):(v,qp)0,F=(Πpv,qp)0,FqpP¯p(F)P¯p1(F)}, where P¯p(F)=Pp(F)/Pp1(F) is the set of polynomials of order strictly equal to p. Therefore, Vp(F)V˜p(F), and is the set comprised of all functions vV˜p(F) for which the internal moments of v and Πpv coincide for orders p − 1 and p. The linear functionals D1,,D4 are well defined on Vp(F) and may be taken as a set of insolvent degrees of freedom, meaning that every vVp(F) is uniquely determined by the values of D1D4.

Proposition 2.5.

For a polygon F with NeF edges the dimension of Vp(F) is pNeF+np2 and the linear functionals D1,,D4 may be taken as a unisolvent set of degrees of freedom.

See ((Ahmad et al. Citation2013), proposition 2) for a proof. With unisolvence established, the linear functionals D1,,D4 shall now be referred to as degrees of freedom (DoFs) and dim Vp(F) shall be denoted NdofF. The i’th degree of freedom shall be denoted dofi(v):Vp(F)R and the local Lagrangian basis φiVp(F) satisfies: dofi(φj)=δi,jfori,j=1,,NdofF.

Every vVp(F) has a unique representation in the local Lagrangian basis: v=i=1NdofFdofi(v)φi.

Remark 1.

Due to the fact the the boundary spaces P˜p(e) are not polynomial unless γe:[0,1]e is an affine map, then in general the set of polynomials Pp(F) are not contained in Vp(F) (i.e Pp(F)Vp(F)). However we still have P0(F)Vp(F) (Beirão da Veiga, Russo, and Vacca Citation2019).

The choice of local DoF numbering, and their mapping to D1,,D4 is arbitrary so long as it is consistent. Here we opt to number the vertex DoFs counter-clockwise first (D1), then edge DoFs counter-clockwise (D2 and D3 irrespective of whether edge e is curvilinear) and finally internal DoFs in order of increasing monomial id. An example is presented in for VEM order p = 3. We also use De to denote the set of DoFs (two vertex DoFs and the edge Dofs) that reside on edge e. In Vp(F) the full L2(F) projection Πp0:Vp(F)Pp(F) is computable using just the degrees of freedom as follows: (Πp0v,qp)0,F={(v,qp)0,FforqpPp2(F)(Πpv,qp)0,FforqpP¯p1(F)P¯p(F)

Finally, we define the global H1-conforming VE space as follows: Vp(V)={vH1(V):v|FVp(F)FTh}

This is the functional space in which we shall approximate solutions to the multigroup neutron diffusion equation.

3. Discretization of the neutron diffusion equation

3.1. The neutron diffusion equation

Let VR2 be the domain of interest, the boundary V is the union of a prescribed vacuum boundary and reflective boundary ΓV and ΓR such that ΓRΓV=. Then the steady-state, multigroup NDE is given by EquationEquation (3.2) (Wang and Ragusa Citation2009; Duderstadt and Hamilton Citation1976): (3.1) ·Dg(x)ϕg(x)+Σrg(x)ϕg(x)=Qg(x)xV,Dg(x)ϕg(x)·n=0xΓR,12Dg(x)ϕg(x)·n+14ϕg=0xΓV,(3.1) where g=1,,G,Dg(x) is the group g neutron diffusion coefficient, Σrg(x) is the group g macroscopic neutron removal cross section, defined as: Σrg(x)=Σag(x)+ggGΣsgg(x)=Σtg(x)Σsgg(x), where Σtg(x) is the macroscopic neutron total cross section. By convention g = 1 is the high energy (fast) flux and g = G is the low energy (thermal) flux. Qg(x) is a neutron source for group g which will take one of two forms depending on the type of problem under consideration.

  • In eigenvalue, or nuclear criticality (Keff) problems, Qg(x) takes the form: Qg(x)=χg(x)Keffg=1GνΣfg(x)ϕg(x)+ggGΣsgg(x)ϕg(x)

where χg(x) is the group g prompt neutron fission spectrum, ν is the average number of neutrons per fission, Σfg(x) is the group g macroscopic neutron fission cross section, Σsgg(x) is the macroscopic neutron scattering cross section from group g to g and Keff is the effective multiplication factor, an important quantity of interest (QoI) in nuclear reactor physics as it indicates the degree of criticality of the system.

  • In extraneous, or prescribed (fixed) neutron source problems Qg(x) takes the form: Qg(x)=ggGΣsgg(x)ϕg(x)+qg(x)

where qg(x):R2R is an extraneous, or prescribed (fixed) neutron source.

Let us denote the group removal operator with Lg=.Dg+Σrg, the gg scattering operator with Sg,g=Σsgg and the fixed source vector q=[q1,,qG]T, then the fixed-source problem has the following matrix form (Duderstadt and Hamilton Citation1976; Miller and Lewis Citation1993): (3.2) [L1000L2000LG][ϕ1ϕ2ϕG][0S1,2S1,GS2,10S2,GSG,1SG,20][ϕ1ϕ2ϕG]=[q1q2qG](3.2)

Letting ϕ=[ϕ1,ϕ2,,ϕG] then we may write the fixed-source problem more succinctly in operator form (LS)ϕ=q. Let us denote the gg fission operator with Fg,g=χgνΣfg then the k-eigenvalue problem has the following matrix form: (3.3) [L1000L2000LG][ϕ1ϕ2ϕG][0S1,2S1,GS2,10S2,GSG,1SG,20][ϕ1ϕ2ϕG]=1γ[F1,1F1,2F1,GF2,1F2,2F2,GFG,1FG,2FG,G][ϕ1ϕ2ϕG],(3.3) or equivalently in operator form (LS)ϕ=1γFϕ from which it becomes clear that γ are the eigenvalues of the operator (LS)1F. It has been shown that spectrum of this operator form a positive decreasing series γ1>γ2>γ3> (see Habetler and Martino Citation1958 or Wachspress Citation1966 section 3.3). The effective multiplication factor is defined as the first eigenvalue of the spectrum Keff=γ1. The corresponding eigenvector ϕ is the fundamental mode of the system. The discrete NE-VEM approximation of the pair (ϕ,Keff) is the desired solution of the nuclear reactor physics benchmark verification test case in this paper.

3.2. The VEM discretisation of the NDE

First, we define the infinite-dimensional space W(V):=[H1(V)]G where we pose the variational forms of EquationEquations (3.2) and Equation(3.3). Letting u,vW(V), the inner product and norm of W(V) are defined as: (u,v)W(V):=g=1G(ug,vg)1,V,uW(V)2:=g=1Gug1,V2.

We make three assumptions about the computational mesh Th in addition to assumption 2.1:

Assumption 3.1.

Material properties: the neutron diffusion coefficient and the macroscopic neutron cross sections are all constant, finite and positive within each material sub-domain. For example within a nuclear fuel pin or the moderator.

Assumption 3.2.

Face Conformity: in Th there exists no polygon that crosses a material boundary. This means that every polygon must reside entirely within a material sub-domain and must conform to internal boundaries.

Assumption 3.3.

Edge Conformity: the set of edges in Eh that lie on the boundary V may be split into two disjoint sets of edges ER and EV: EV={eEV:eΓV}ER={eEV:eΓR} that lie solely within ΓR and ΓV respectively. In other words, there exists no boundary edge that crosses the interface between ΓR and ΓV.

We also define the following notation: Dg¯=infxVDg(x),Dg¯=supxVDg(x),ΣXg¯=infxVΣXg(x),ΣXg¯=supxVΣXg(x) where ΣXg is a placeholder for any macroscopic neutron cross section. Following the derivation presented in Ferguson, Kópházi, and Eaton (Citation2021, Section 3.1), the variational form of the fixed-source problem is: (3.4) {Find ϕW(V) which satisfies:L̂(ϕ,v)Ŝ(ϕ,v)=Q̂(v)vW(V),(3.4) and variational form of the k-eigenvalue problem is: (3.5) {Find λR and ϕW(V) which satisfies:L̂(ϕ,v)Ŝ(ϕ,v)=λF̂(ϕ,v)vW(V).(3.5)

The terms L̂(ϕ,v),Ŝ(ϕ,v) and F̂(ϕ,v) are the removal, scattering and fission bilinear forms respectively, while the term Q̂(v) is the fixed source linear form. Their respective definitions are: L̂(ϕ,v)=g=1G(Dgϕg,vg)0,V+(Σrgϕg,vg)0,V+12(ϕg,vg)0,ΓV,Ŝ(ϕ,v)=g=1GggG(Σsggϕg,vg)0,V,F̂(ϕ,v)=g=1Gg=1G(Fg,gϕg,vg)0,V,Q̂(v)=g=1G(qg(x),vg)0,V.

We shall now present the VE discretization of EquationEquations (3.4) and Equation(3.5). The first step of the VE discretization, and of Galerkin discretisations in general, is to define a finite-dimensional subspace Wp(V)W(V) in which to pose the VE variational problems. In this paper we define Wp(V):=[Vp(V)]G to be this space. Given that Vp(V)H1(V) then it follows that Wp(V)W(V). The trial and test functions are then defined follows: vh=[v1h,v2h,,vGh]Wp(V),ϕh=[ϕ1h,ϕ2h,,ϕGh]Wp(V)

To discretise the variational problems of EquationEquations (3.4) and Equation(3.5) we must derive computable VE bilinear and linear forms L̂h(·,·),Ŝh(·,·),Q̂h(·) F̂h(·,·) which approximate their continuous counterparts L̂(·,·),Ŝ(·,·),Q̂(·) F̂(·,·) (Beirão da Veiga et al. Citation2013). We begin with the discrete removal operator, which is defined as follows: L̂h(ϕh,vh)=g=1G(FThLg,Fh(ϕgh,vgh)+12eEV(ϕgh,vgh)0,e) where Lg,Fh(ϕgh,vgh)=DFg(Πp10ϕgh,Πp10vgh)0,F+Σr,Fg(Πp0ϕgh,Πp0vgh)0,F+cg,FSF(ϕghΠpϕgh,vghΠpvgh) where cg,F:=(DFg+hF2Σr,Fg) is a stabilization scaling parameter for face F and SF(ϕghΠpϕgh,vghΠpvgh)=l=1NdofFdofl(ϕghΠpϕgh)dofl(vghΠpvgh) is the local stability term. Letting Lg,F(u,v) denote the un-discretized removal operator on face F: Lg,F(u,v)=DFg(u,v)0,F+Σr,Fg(u,v)0,F, then the stability term is constructed to satisfy: α*Lg,F(u,u)cg,FSF(u,u)α*Lg,F(u,u),uKer(Πp) where 0<α*<α* are positive constants independent of F or hF which depend on the mesh regularity parameter η (see assumption 2.1). It may be shown that Lg,Fh satisfies the p-consistency property and the stability property:

Property 3.1.

(p-consistency) If either uPp(F) or vPp(F) then the discrete removal operator satisfies: Lg,Fh(u,v)=Lg,F(u,v)

Property 3.2.

(Stabilty) For all uVp(F) the discrete removal operator satisfies: β*Lg,F(u,u)Lg,Fh(u,u)β*Lg,F(u,u)

Where 0<β*<β* are positive constants independent of F or hF which only depend on the mesh regularity parameter η (see assumption 2.1).

The Discretized scattering and fission bilinear forms, and the fixed source linear form are given by Ŝh(ϕh,vh)=g=1GggGFThΣs,Fgg(Πp0ϕgh,Πp0vgh)0,F,F̂h(ϕh,vh)=g=1Gg=1GFThχgνΣf,Fg(Πp0ϕgh,Πp0vgh)0,FQ̂h(vh)=g=1GFTh(Πp0vgh,qg)0,F

We may now define the discrete VE variational problems. First, the extraneous, prescribed (or fixed) neutron source problem: (3.6) {Find ϕhWp(V) which satisfies:L̂h(ϕh,vh)Ŝh(ϕh,vh)=Q̂h(vh)vhWp(V).(3.6)

Second, is the effective multiplication factor (Keff) or k-eigenvalue nuclear reactor physics problem: (3.7) {Find λhR and ϕhWp(V) which satisfies:L̂h(ϕh,vh)Ŝh(ϕh,vh)=λhF̂h(ϕh,vh)vhWp(V).(3.7)

3.3. Numerical solution

The functions ϕgh,vghWp(V) and vgh have the following expansions in the global basis of Vp(V): (3.8) ϕgh=i=1Ngdofdofi(ϕgh)φi,vgh=i=1Ngdofdofi(vgh)φi,g=1,..,G.(3.8) where Ngdof is the dimension of global VEM space Vp(V) and the number of global DoFs on mesh Th for each discrete, group scalar neutron flux ϕgh. We also denote the global vector of scalar neutron flux DoFs as ϕg=[dof1(ϕgh),,dofNgdof(ϕgh)]. Letting KF,MF and SF be the NdofF×NdofF stiffness, mass and stability matrices on face FTh and letting Me be the (p+1)×(p+1) mass matrix on edge eEh (KF)i,j=(Πp10φi,Πp10φj)0,F,(MF)i,j=(Πp0φi,Πp0φj)0,F,(SF)i,j=SF(φiΠpφi,φjΠpφj),(Me)i,j=(φi,φj)0,e

3.3.1. The extraneous, prescribed (or fixed) neutron source problem

Substituting the expansions of EquationEquation (3.8) into the discrete fixed source problem of EquationEquation (3.6) and performing the steps presented in Ferguson, Kópházi, and Eaton (Citation2021, Section 3.3), EquationEquation (3.6) may be written as the following block matrix system of equations: (3.9) [L1000L2000LG][ϕ1ϕ2ϕG][0S1,2S1,3S2,10S2,3SG,1SG,20][ϕ1ϕ2ϕG]=[q1q2qG].(3.9) where: (3.10) Lg=FThDFgKK+Σr,FgMF+cg,FSF+12eΓVMeSg,g=FThΣs,FggMF,qg=FTh(Πp0φi,qg)0,F(3.10)

In this paper, we implemented a standard source iteration (SI) procedure to solve EquationEquation (3.9) which proceeds as follows: let ϕg(i) denote the i’th iterate of the group g global scalar neutron flux vector. First, scalar neutron fluxes are first initialized to zero ϕg(0)=0. The SI then proceeds as follows: (3.11) ϕg(i+1)=Lg1(g<gSggϕg(i+1)+g>gSggϕg(i)+qg).(3.11)

In the absence of up-scattering Equation (3.11) will converge after a single outer iteration. This is because the scattering source for each energy group is a linear combination of scalar neutron fluxes that have already been computed. In the case where up-scattering is present, a suitable convergence criteria must be defined. In the present work we choose the following criteria: (3.12) maxg(δg)<ϵwhereδg=ϕg(i+1)ϕg(i)Ngdofϕg(i)Ngdof.(3.12)

The value of the tolerance, ϵ, is problem-dependent, therefore we shall state its value when specifying each numerical test case later in this paper. The operator Lg is symmetric positive-definite, therefore the action of the operator Lg1 on a vector is computed using the preconditioned conjugate gradient (PCG) algorithm from PETSc (Balay et al. Citation2020). In (Ferguson, Kópházi, and Eaton Citation2021) we discuss some of nuances and convergence behavior of computing the action of Lg, which have not changed appreciably between the NURBS-enhanced VEM and the classical VEM.

3.3.2. The effective multiplication factor (Keff) or k-eigenvalue nuclear reactor physics problem

Again, substituting the expansions of EquationEquation (3.8) into the discrete fixed source problem of EquationEquation (3.7) and performing the steps presented in Ferguson, Kópházi, and Eaton (Citation2021, Section 3.3), yields the following global system of equations: (3.13) [L1000L2000LG][ϕ1ϕ2ϕG][0S1,2S1,3S2,10S2,3SG,1SG,20][ϕ1ϕ2ϕG]=λh[F1,1F1,2F1,3F2,1F2,2F2,3FG,1FG,2FG,G][ϕ1ϕ2ϕG](3.13) where Fg,g=FThχgΣf,FgMF. and Lg and Sg,g have the same meaning as in EquationEquation (3.10). EquationEquation (3.13) may be written write equivalently as: (LS)ϕ=λhFϕ. EquationEquation (3.13) is a generalized eigenvalue problem, the equivalent standard eigenvalue problem would be (3.14) (LS)1Fϕ=γhϕwhereγh=1/λh(3.14)

The most common method of solving EquationEquation (3.14) for the largest eigenvalue (γ1h=Keff), is the power iteration (PI). This is the method we have implemented in this paper. Let ϕg(i) denote the i’th iterate of the group g global flux vector and Keff(i) the i’th iterate of the effective multiplication factor. The power iteration begins by initializing the fluxes to some initial flux profile, in this case unit scalar neutron flux ϕg(0)=1 and Keff(0)=1. The iterative procedure then follows EquationEquation (3.15) below (Duderstadt and Hamilton Citation1976): (3.15) ϕg(i+1)=Lg1(1Keff(i)g=1GFggϕg(i)+g<gSggϕg(i+1)+g>gSggϕg(i)).(3.15)

After each full power iteration a new set of fluxes will have been computed: {ϕ1(i+1),ϕ2(i+1),,ϕG(i+1)}.

After each power iteration the next iterate of the effective multiplication factor Keff(i+1) may be computed as follows Keff(i+1)=Keff(i)VSf(i+1)dxVSf(i)dxwhereSf(i)=g=1GνΣfgϕgh,(i)

Following (Ferguson, Kópházi, and Eaton Citation2021) the fission source integrals were computed as follows: Vg=1GνΣfgϕgh=g=1GFThνΣf,FgFϕghdx, where each flux integral in face F is computed as follows: Fϕghdx={FΠp0ϕghdxifp=1|F|dofpNvF+1(ϕgh)ifp>1.

The iteration procedure is continued until the convergence criteria presented in EquationEquation (3.12) is satisfied.

4. The description of topology and geometry

This section shall explain the underlying description of topology and geometry used in this paper for the purpose of implementing the NURBS-Enhanced virtual element method (VEM) to solve the NDE. First, a brief review of the doubly-connected edge list (DCEL) shall be presented. The DCEL is a minimal datastructure which stores vertices, half-edges and faces and the connections between them in a way which can encode any 2-manifold topology. We use the DCEL to both represent geometric domains, such as nuclear reactor cores, and curvilinear polygonal meshes used in the NE-VEM. Second, we present our geometric description of curvilinear polygons. Our implementation uses non-uniform rational B-spline (NURBS) curves to describe the loop of edges which bound the polygon and uses NURBS surfaces to represent the interior of the polygon. Having this geometric description built into the data structure itself means we may implement exact-geometry numerical quadratures without recourse to an external computer-aided geometric design (CAGD) modeling kernel such as OpenCascade, ACIS or Parasolid.

4.1. The Doubly-Connected edge list

In a computer-aided geometric design (CAGD) context the storage of topological data entails the encoding of topological entities: 0-cells (vertices), 1-cells (edges), 2-cells (faces), 3-cells (cells) and even n-cells depending on the application. When choosing a format in which to store discrete topological data there is often a tradeoff between low storage requirements and having fast access to adjacency and incidence relations between topological entities. Therefore, a careful consideration of the functional requirements of the application and the likely size of the final meshes is needed to make an informed decision. An additional consideration is which topological entities need explicit representation for a given application. For example, in the VEM, vertices, edges and faces all have degrees of freedom attached to them. Therefore, having each of these entities explicitly represented in the mesh greatly eases many common operations: such as finding all the degrees of freedom coupled to a given degree of freedom (DoF), or enumerating the set of degrees of freedom attached to the closure of a face. In Beall and Shephard (Citation1997) a framework for analyzing these considerations is presented and applied to examples of mesh data-structures presented in the numerical analysis literature. Such as an edge-based analysis and refinement (Biswas and Strawn Citation1994) and volumetric meshes with adaptive refinement (Kallinderis and Vijayan Citation1993).

The topology data-structure developed as part of this paper is an implementation of the double-connected edge list (DCEL) (Muller and Preparata Citation1978; de Berg et al. Citation2008). This is a well-known data-structure in computer-aided geometric design (CAGD). The DCEL is capable of representing any 2-manifold geometry. Vertices, edges and faces each have explicit representation in the DCEL making it an ideal topology description for the VEM, where degrees of freedom are attached to each of these entities. The basic principle of the DCEL is to split each edge going between vertices (v1,v2) into two half-edges, one being v1v2 and the other v2v1. This means that the orientation of edges and faces are explicitly encoded into the DCEL.

The DCEL is defined as a triple (V,E,F) where V is the set of vertex records, E is the set of half-edge records and F is the set of face records. Each vertex record vV stores two items (de Berg et al. Citation2008):

  • A reference to an arbitrary outgoing half-edge, denoted outHedge(v), which has v as its start point.

  • A point in the plane xR2 which represents the embedding of the vertex in R2, this is denoted by point(v).

Each half-edge record heE stores six items (de Berg et al. Citation2008):

  • A reference to the twin half edge, which is the second half-edge of a pair when an edge is split. This is denoted twin(he).

  • A reference to the face f on which he is incident. Incidence in this case is defined as being a member of a ring of half edges which bounds face f. This is denoted face(he)

  • A reference to the edge that comes directly after he in the ring bounding f, this is denoted next(he).

  • A reference to the edge that comes directly before he in the ring bounding f, this is denoted prev(he).

  • A reference to the vertex v which is the start point of he, this is denoted origin(he).

  • A curve which represents the embedding of the half edge in R2. This could be any continuous curve however, in this paper we restrict it to be a NURBS curve in the plane. This is denoted curve(he). Note, that the curve belonging to twin(he) must be the exact same curve with the orientation reversed.

The vertex and half-edge records are illustrated in . The face records fF are best explained using an example, consider the DCEL in .

Figure 2. Illustrations of the vertex and half-edge records (left) and the face records (right).

Figure 2. Illustrations of the vertex and half-edge records (left) and the face records (right).

Each bounded face in the DCEL has one outer ring of half-edges that bound the face from the outside, for example face f2 is bounded by {he10,he12}. Additionally, each bounded face may have an arbitrary number of rings that bound the face from the inside, in the case of f1 these two rings are {he9,he11} and {he13,he21,he19,he17}. A ring bounding a face will always be oriented such that the face will be to its left (w.r.t to the tangent vector). Therefore, outer rings run counter clockwise and inner rings will run clockwise. The unbounded face, which in this paper will always be defined as f0, is a face used to delineate the boundary of the DCEL. This face stretches into infinity in all directions and is also the face bounded by any rings that form holes in the DCEL. In this paper all of the geometries will be assumed to be connected, therefore the unbounded face has exactly one inner ring that bounds it from the inside, in this case it is {he1,he7,he5,he3}. The number of outer rings belonging to f0 is equal to the number of holes in the DCEL, in this case there is just one hole and it is bounded by the ring {he14,he16,he18,he20}. To traverse the rings that bound it, each face need only store a reference to an arbitrary half-edge in each ring. The next() and prev() pointers may then by followed to traverse each ring. Each face record fF therefore stores the following (de Berg et al. Citation2008):

  • An array of outer-ring half edges, for bounded faces this will have just one half-edge which is any half-edge in the outer ring that bounds f. For the unbounded face this array will have one half-edge for every hole in the domain and each. This array shall be denoted outerHedges(f).

  • An array of inner-ring half edges, for bounded faces this may have any number of half-edges in it. For the unbounded face f0 this will have just one half-edge. This array shall be denoted innerHedges(f).

For a given DCEL the face records are not unique, there would be many ways to describe the same DCEL. In the case of , a possible set of values for the face records could be that shown in If the DCEL is in a valid state, with validity defined as being 2-manifold, then the DCEL will satisfy the Euler-Poincarè formula: (4.1) VE+F=2(SH)+R(4.1) where V, E, F, S, H and R are the number of vertices, edges, faces, shells, holes and rings respectively. In R2 a shell is simply a connected component of the DCEL. In this paper all geometries will consist of one connected component so S = 1. In the case of we have V = 10, E = 10, F = 3, H = 1 and R = 3. Using these values in EquationEquation (4.1) gives 3=3, therefore the DCEL of is a valid 2-manifold geometry.

Table 1. Possible choice of half-edges for defining rings of face f0.

In this paper, Euler operators (Mantyla and Sulonen Citation1982; Mäntylä Citation1983; Mantyla Citation1984) are used to construct geometry. These operators add or remove vertices, edges, faces, shells, holes and rings in such a way as to preserve Euler-Poincarè formula at every stage (Mantyla and Sulonen Citation1982). The Euler operators serve as manipulation primitives which may be combined to form complex and intuitive geometric operations which are guaranteed to be 2-manifold. Although the terms of EquationEquation (4.1) may only have positive integer values: if one were to briefly consider (V,E,D,S,H,R) to be a vector in R6, then the Euler-Poincarè formula may be thought of a hyperplane with normal vector (1,1,1,2,2,1). Under this interpretation, the Euler operators may be thought of as a set of 5 linearly independent vectors in R6, with integer values, that span the hyperplane (Mäntylä Citation1983). There are many valid choices for this spanning set however the literature on Euler operators has converged to the set given in (Mäntylä Citation1983).

Table 2. The set of 5 Euler operators and their inverses.

We demonstrate the use of Euler operators to build a square with a hole inside of it in , this is one of the simplest geometries that uses all five operators.

Figure 3. The series of Euler operators used to create a DCEL representing a square with a hole in it.

Figure 3. The series of Euler operators used to create a DCEL representing a square with a hole in it.

Both the “mesh” and the “domain”, as they are commonly thought of in the FEM literature, are represented using the DCEL data-structure. The only difference between the mesh and the initial domain is that the mesh is subdivided into many more faces. To remain consistent with the FEM literature, the subscript h will be used to refer to the mesh. Therefore, the mesh shall be defined as a triple (Vh,Eh,Fh) where Vh,Eh and Fh have the same definitions as they did for the initial domain. All of the geometric information needed to implement the NE-VEM is stored in point field of each vertex vVh and in thee curve field of each half-edge heEh, this data is generated during mesh generation.

4.2. The NURBS polygon

The key to implementing the NURBS-enhanced VEM is to have a geometric description of curvilinear polygons which can serve as a base for numerical integration. To this end, the edges of the curvilinear polygon were encoded using NURBS curves and the polygon itself is tessellated into NURBS surfaces. NURBS are a standard description of geometry which are ubiquitous in computer-aided geometric design. The knot vector is a non-decreasing set of real numbers u=[u1,,um] with each ui referred to as a knot. Repeated knots are permitted and the number of times a knot appears in a knot vector is referred to as the knot multiplicity. The i’th half-open interval [ui,ui+1), which may have zero length, are referred to as knot spans. From a given knot vector, a set of B-spline basis functions of polynomial order p (denoted Ni,p(u)) are using the Cox-deBoor recursion (Piegl and Tiller Citation1995; Cox Citation1972; de Boor Citation1972): Ni,0(u)={1ifuiu<ui+10otherwise,p=0Ni,p(u)=uuiui+puiNi,p1(u)+ui+p+1uui+p+1ui+1Ni+1,p1(u),p>0

For a knot vector with m knots there will be r=m(p+1) basis functions of order p. Given r points in Rd, denoted {Pi}i=1r where d = 2, 3 and r corresponding wights {wi}i=1r, a p-order NURBS curve is defined as (Piegl and Tiller Citation1995): C(u)=i=1rRip(u)Pi,whereRip(u)=wiNi,p(u)j=1rwjNj,p(u).

NURBS curves are non-interpolatory, meaning that the curve does not pass through its control points unless the corresponding knot has a multiplicity of p. We give an example NURBS curve and the associated B-spline basis in . If all the weights are equal then Rip(u)=Ni,p(u) and the NURBS curve becomes the B-spline curve. Given two knot vectors u=[u1,,um] and v=[v1,,vn], two polynomial orders p and q, a r-by-s 2D array of points Pi,j (where r=m(p+1) and s=n(q+1)) and r-by-s 2D array of weights wi,j the NURBS surface is defined as (Piegl and Tiller Citation1995): S(u,v)=i=1rj=1sRi,jp,q(u,v)Pi,j,whereRi,jp,q(u,v)=wi,jNi,p(u)Nj,q(v)k=1rl=1qwk,lNk,p(u)Nl,q(v) where {Ni,p(u)}i=1r are the basis functions corresponding to u and {Nj,q(v)}j=1s are the basis functions corresponding to v. Again, when all of the weights wi,j are equal then Ri,jp,q(u,v)=Ni,p(u)Nj,q(v) and the NURBS surface becomes a B-spline surface.

Figure 4. An example NURBS curve and its underlying B-spline basis.

Figure 4. An example NURBS curve and its underlying B-spline basis.

Given a curvilinear polygonal mesh there are two situations which arise when extracting polygons on which to perform local computations (such as computing local bilinear forms). The first case is where the polygon is not incident on any curved external boundaries or internal-interfaces (left polygon in ) and the second situation is where one or more of the polygon edges are incident on a curved external boundary or internal interface. In both cases, the objective is to have an NURBS description of the boundary of the polygon as a loop of NURBS curves and to also have a NURBS description of the interior of the polygon as a collection of NURBS surfaces.

Figure 5. A curvilinear mesh and an internal, all-straight polygon (left) and a boundary, curvilinear polygon (right).

Figure 5. A curvilinear mesh and an internal, all-straight polygon (left) and a boundary, curvilinear polygon (right).

Straight-sided polygon: In the straight-sided case each edge ei between vertices vi and vi+1 is represented with a linear B-spline curve: (4.2) p=1,u=[0,0,1,1],{Pi}={vi,vi+1},{wi}={1,1}.(4.2) and the interior of each straight-sided polygon is modeled as a collection of bilinear NURBS surfaces (see ) where the vertices of each surface Si are the polygon vertex vi, the midpoint of edge ei which is denoted vei, the midpoint of edge ei1 denoted vei1 and the centroid of the polygon denoted xF. Each Si therefore has the following definition: (4.3) p=q=1,u=v=[0,0,1,1],{Pi,j}={vi,vei,vei1,xf},{wi,j}={1,1,1,1}.(4.3)

Figure 6. NURBS tesellations of the polygons highlighted in .

Figure 6. NURBS tesellations of the polygons highlighted in Figure 5.

Curvilinear polygon: In the curvilinear case each edge ei of the polygon is either a straight line defined using EquationEquation (4.2) or is the curve segment of a boundary/internal-interface curve corresponding to a parameter interval [ul,uh][0,1]. During mesh generation, knot insertion is used to extract the curve segment corresponding to ei from the boundary/internal-interface curve and the knot vector of the new curve ei is reparameterised to span [0,1] (see (Piegl and Tiller Citation1995) sections 5.2 and 6.4). The resulting curve segment is then stored in the curve field of the half-edge. After retrieving the curve fields for all eiF from the DCEL, then the set of NURBS curves which bound the polygon have been defined. The surfaces Si describing the interior of the curved polygon are either bilinear quads using EquationEquation (4.3) if all their edges are straight lines or they are Coons surfaces if one or more of the boundary edges is curved (see ). Coons surfaces, named after Steven A Coons (Coons Citation1967; Coons Citation1974), are interpolation surfaces which exactly conform to a set of four bounding curves. The Coons surface is defined as follows: (4.4) S(u,v)=i=1rj=1sRi,jp,q(u,v)Qi,j=S1(u,v)+S2(u,v)+S3(u,v)(4.4) where S1(u,v) is the ruled surface between Cu,1 and Cu,2,S2(u,v) is the ruled surface between Cv,1 and Cv,2 and S3(u,v) is the bilinear quad with corners equal to the endpoints of the boundary curves. S1(u,v)=C1,u(u)+(1v)C2,u(u),S2(u,v)=C1,v(v)+(1u)C2,v(v).

The steps necessary to construct a Coons surface are to find the orders p and q, knot vectors u and v, control points Qi,j and weights wi,j such that EquationEquation (4.4) is satisfied ().

Figure 7. A loop of four bounding curves (left) and the resulting Coons surface.

Figure 7. A loop of four bounding curves (left) and the resulting Coons surface.

The order p in the u-parameter is the maximum of the orders of c1,u and c2,u and the knot vector u is the merger knot vectors of c1,u and c2,u (denoted u1,u2). This means that if knot uiu1 or uiu2 then uiu and the maximum multiplicity of ui in either u1 or u2 is inherited by u (Piegl and Tiller Citation1995, Section 8.4). The same steps are performed with c1,v and c2,v to find order q and knot vector v. Next, through a mixture of order-elevation and knot-insertion (see Piegl and Tiller Citation1995, Chapter 5) the knot vectors of S1,S2 and S3 are made to be equal to u and v. After this step, the number of control points/weights in each surface are equal. We may then follow the method presented in (Lin and Hewitt Citation1994) for finding the control points and weights in homogenous coordinates. For the internal points in the control net (so for all (i,j){2,,r1}×{2,,s1}) we have: [wi,jQi,jwi,j]=[wi,j1Pi,j1+wi,j2Pi,j2wi,j3Pi,j2wi,j1+wi,j2wi,j3]. and for all boundary control points (so for all (i, j) where i=1,r or j=1,s) [wi,jQi,jwi,j]=[wi,j1wi,j2(Pi,j1+Pi,j2Pi,j3)wi,j1wi,j2].

5. Integration on curvilinear polygons

Accurate integration on curvilinear polygons is accomplished using one of two methods: Lasserre’s Method (Lasserre Citation1998) for homogenous functions and a Subtessellation Method for non-homogenous functions. Lassere’s Method makes use of the NURBS boundary curves computed in Section 4.2 while the subtessellation method, as the name suggests, makes use of the NURBS surface representation of the interior of the polygon also computed in Section 4.2. Using the exact-geometry information encoded by the NURBS curves and surfaces means that the geometric error is eliminated and the VEM attains the theoretical order of accuracy for problems with curved domains.

The motivation for presenting two methods of integration is that each method performs a separate function within the VEM implementation presented in this paper.

Lassere’s method is very computationally efficient for computing integrals of families of scaled monomials up to a given order. Therefore, it greatly accelerates the computation of matrices containing scaled monomial inner products (mα,mβ)0,F and (mα,mβ). These inner products are necessary to construct the local VEM bilinear forms, for more details as to why this is the case the author should consult (Beirão da Veiga et al. Citation2014)).

The subtessellation method of integration is required to integrate non-homogeneous functions on curvilinear polygons, the most important application of which the computation of source terms of the form: (f(x),φi)0,F where f(x) is a prescribed extraneous source.

5.1. Lasserre’s method

Lassere’s method was first presented in (Lasserre Citation1998) and is a method of converting integrals of homogeneous functions over a volume (polyhedra in 3D and polygons in 2D) into the sum of integrals over surfaces (polygons in 3D and edges in 2D). In (Chin, Lasserre, and Sukumar Citation2015) the authors extended Lassere’s original method to include non-convex polygons and polyhedra. Finally, in (Antonietti, Manzini, et al. Citation2018) the authors applied the method presented in (Chin, Lasserre, and Sukumar Citation2015) to develop very efficient recursive algorithm to compute all of the monomials up to a given order on arbitrary polygons/polyhedra. In this paper we implemented the algorithm presented in (Antonietti, Manzini, et al. Citation2018) however we modified it to also handle curvilinear polygons. This section shall review the theory and the pseudocode of our algorithm is given in the Appendix A.1.

Definition 5.1.

Homogeneous function. A homogenous function g(x):RdR of degree q is any function that satisfies: g(λx)=λqg(x),

Monomials fall into this class of function therefore many computations in VEM are greatly accelerated by Lasserre’s Method. Consider a polygon FR2 which has a boundary F made up of a set of curvilinear edges ÊF and straight edges EF. Using the terminology and notation of (Antonietti, Manzini, et al. Citation2018) each straight edge is a subset of a hyperplane in R2 defined as: eiHi={xR2:x.ni=bi} where ni is the outward unit-normal vector of edge ei the and bi is the perpendicular distance of the hyperplane from the origin, see for an example.

Figure 8. Polygon F with an example hyperplane Hi. This is a recreation of ((Antonietti, Manzini, et al. Citation2018) ).

Figure 8. Polygon F with an example hyperplane Hi. This is a recreation of ((Antonietti, Manzini, et al. Citation2018) Figure 1).

Lasserre’s Method makes use of two results from vector calculus: the first is Euler’s homogeneous function theorem, which states that for a homogeneous function of degree q the following identity holds: (5.1) qg(x)=g(x)·x,(5.1) the second result is generalized Stokes’ Theorem which states for a vector field f:FRd that: (5.2) F·fg(x)dx+Ff·g(x)dx=Ff·ng(x)ds.(5.2)

Choosing the vector field to be f=x and substituting EquationEquation (5.1) into EquationEquation (5.2) yields Lasserre’s method for homogenous functions: (5.3) Fg(x)dx=12+qFx·ng(x)ds=12+q[eiÊFeix·ng(x)ds+eiEFbieig(x)ds](5.3)

For all curvilinear edges eiÊF direct integration is performed using Gauss-Legendre quadrature on the underlying NURBS curve, which assumed to be defined on [0,1]. Denoting the NURBS curve parameterization as c(t), the quadrature is computed as follows: eix·ng(x)ds=01c(t)·n(t)g(c(t))|J(t)|dti=1nqpc(ti)·n(ti)g(c(ti))wi|J(ti)| where ti, wi are the quadrature points and weights respectively and n(t) and J(t) are: n(t)=dc(t)dtdc(t)dtR21,J(t)=dc(t)dt·dc(t)dt

The full quadrature rule on a curve is computed by mapping a standard Gauss-Lobatto quadrature defined in [1,1] to each non-zero length knot span [ui,ui+1)[0,1]. So, given a knot vector with M non-zero knot spans and a quadrature rule with m points then nqp=m×M. This is a simplistic way to generate quadrature points for NURBS curves and more efficient methods exist (Hughes, Reali, and Sangalli Citation2010) which take into account continuity of the B-spline basis. However, the vast majority of edges in the EG-mesh are straight lines so the additional computational cost of this quadrature is negligible.

For all straight edges eiEF we follow the technique introduced in (Lasserre Citation1998; Chin, Lasserre, and Sukumar Citation2015), whereby Lasserre’s Method is applied recursively to each straight edge in EquationEquation (5.3). Using the notation of , if we define x0,i=vi,1 to be the origin of Hi we have: eig(x)dx=1(1+q)[|ei|g(vi,2)+eivi,1·g(x)ds].

If g(x) is polynomial then the term vi,1.g(x) is a polynomial of lower order. This property of polynomials lends itself to the design of a recursive algorithm for computing the integrals of families of monomials up to a specified order. In (Antonietti, Manzini, et al. Citation2018) one such recursive algorithm was presented and has been slightly modified here to allow for polygons with curvilinear edges. The problem which was solved in (Antonietti, Manzini, et al. Citation2018) is is to compute the array: IpF=[Fm1dx,Fm2dx,,Fmnpdx],mα(x)Mp(F) as efficiently as possible and without simply resorting to direct quadrature. Before detailing the algorithm a quick review of properties of scaled monomials is needed.

Property 5.2.

Let F̂ be the same as F but translated by xF. Therefore, xF̂=0. The following identity holds: Fmi(x)dx=1hF̂αx+αyF̂ui(x)dxwhereui(x)=xαxyαy

Property 5.3.

The derivative of a monomial of order p is another monomial of order p – 1, recalling the single index to multi-index mapping of EquationEquation (2.1), α(i,j):N2N we have: xuα(a,b)(x)=auα(a1,b)(x)andyuα(a,b)(x)=buα(a,b1)(x)

Property 5.2 is crucial if one wishes to used Lassere’s Method as ui(x) is homogenous and mi(x) is not. Algorithms 1 to 4 in the appendix present the full algorithm for computing IpF using the method presented in this section.

Once the array of scaled monomial integrals has been computed it may be stored and used to compute many important quantities in VEM, most notably the inner products (mi,mj)0,F and (mi,mj)0,F. For example, let’s say mi(x) has exponents (a, b) and mj(x) has exponents (c, d) then mi(x)mj(x)=ml(x) where l=α(a+c,b+d). Therefore, the inner product of these two monomials will already have been computed and stored in IpF[l]. A similar approach may be employed to compute (mi,mj)0,F by making use of property 5.3.

5.2. Subtessellation method

If the integrand f(x) is not homogeneous i.e. does not satisfy EquationEquation 5.1, then the method of integration used in this paper is the Subtessellation Method. Let us assume that polygon F has been decomposed into a set of (possibly curvilinear) NURBS quads Si using one of the methods given in the previous section: F=i=1NeFSiwhereSi={xR2:x=Si(u,v)(u,v)[0,1]2}.

Then tensor-product Gauss-Legendre quadrature rules of any required order may be generated on [0,1]2 and then mapped onto each NURBS surface Si. An example is presented in .

Figure 9. An example curvilinear polygon (left), its NURBS tessellation (middle) and its quadrature points (right).

Figure 9. An example curvilinear polygon (left), its NURBS tessellation (middle) and its quadrature points (right).

The integral of f(x) may be computed as follows: Ff(x)dx=i=1NeFSif(x)dx=i=1NeF[0,1]2f(Si(u,v))Ji(u,v) du dv where Ji(u,v) is the surface Jacobian given by: Ji(u,v)=det(Ji(u,v)),whereJi(u,v)=[Si(u,v)uSi(u,v)v].

Let {ul}l=1nqpu denote the nqpu Gauss-Legendre points on [0,1] for the u surface parameter, let {vm}m=1nqpv denote the nqpv Gauss-Legendre points on [0,1] for the v surface parameter and let wl,m=wlwm denote the weight at point (ul,vm) then the integral over each NURBS surface of the subtessellation may be written as: [0,1]2f(Si(u,v))Ji(u,v) du dvl=1nqpum=1nqpvf(Si(ul,vm)wl,mJ(ul,vm))

The subtessellation method presented here is an alternative to method of integration presented in (Beirão da Veiga, Russo, and Vacca Citation2019; Sommariva and Vianello Citation2007), which does not require subtessellation but rather uses Green’s integration formula to convert an integral of function f(x) over the polygon into an integral of the antiderivative F(x) over the boundary. The values of the the antiderivative at the boundary quadrature points are then generated by integrating f(x) along a line perpendicular to a” base line” and incident on the boundary quadrature point (Sommariva and Vianello Citation2007).

6. Numerical results

In this this section shall present a series of numerical tests to demonstrate the key features of the NECG-VEM. Specifically, the optimal rates of convergence under h-refinement for curvilinear polygonal meshes and improved rates of convergence in integral quantities (such as scalar neutron flux integrals) for nuclear reactor physics problems with curvilinear domains.

As a practical matter, when comparing the NECG-VEM to the classical CG-VEM, we represent linear polygonal meshes with the same DCEL-plus-NURBS representation described in Section 4. The only difference is that we restrict the NURBS curves attached to half-edges to be linear NURBS representing a straight lines between two points. Additionally, as we mentioned in Section 2, the classical CG-VEM local space and the local NECG-VEM space coincide when the polygon is linear. Therefore, we do not have a separate implementation of the classical VEM, it is simply a special case of the NECG-VEM when all edges in the mesh are assigned linear NURBS curves. Consequently, the classical CG-VEM on linear polygonal meshes is just a special case of the NECG-VEM, thus avoiding the need to maintain two separate VEM codes.

In Section A.3 we provide detail on how the linear meshes approximate curves, with one implementation simply interpolating curves with line segments, which we call the non-area-preserved linear mesh as in this case the areas of material subdomains will be incorrect relative to the geometry. In the second implementation we displace the vertices of the mesh in such a way as to force the area to be preserved. We shall refer to this second case as the area-preserved linear mesh.

All polygonal meshes, both curvilinear and linear, used in this paper were generated using our own mesh-generator which we developed as part of this research. The mesh generator itself uses the centroidal Voronoi tessellation to decompose the domain. However, a full description of the mesh generator is outside the scope of this paper.

6.1. Quadrature comparison

The comparison between Lassere’s Method and subtessellation quadrature, both in terms of integral errors and computational complexity, was thoroughly investigated in (Antonietti, Manzini, et al. Citation2018) for straight-sided polygons and polyhedra when computing families of monomials up to a prescribed order. In this section, we shall provide a brief comparison of the subtessellation method and Lessere’s method for computing all of the scaled monomials up to order p = 4 on a curvilinear polygon where all edges are NURBS curves. The purpose of this section is to demonstrate that both methods yield the same results to within very narrow margin of one another: a relative difference of less than 1×108 in most cases. The curvilinear polygon used for this test is presented in .

Figure 10. Curvilinear polygon used in this test case, left image shows the NURBS surface tessellation and the right image shows a substessellation quadrature set of order p = 8.

Figure 10. Curvilinear polygon used in this test case, left image shows the NURBS surface tessellation and the right image shows a substessellation quadrature set of order p = 8.

Let IL(mi) and IS(mi) denote the Lassere and subtessellation approximations to the integral: Fmi(x)dx respectively and let the relative difference between them be: δ(mi)=|IL(mi)IS(mi)||IL(mi)|

The values of IL(mi),IS(mi) and δ(mi) are tabulated in up to order p = 4. In the supplementary data we also show that δ(mi) stays low (around 1×108) up to order p = 10. The conclusion we may draw from is that the use of Lassere’s method to compute scaled monomial integrals on NURBS polygons does not incur a significant integration error when compared to direct subtessellation quadrature. The curvilinear polygon presented in this section also represents a worst-case scenario in that all of the edges are curvilinear. In practice no more than two edges in a given polygon are curvilinear ().

Figure 11. The domain, V=V1V2 used for this MMS test case.

Figure 11. The domain, V=V1∪V2 used for this MMS test case.

Table 3. Comparison of integrals of scaled monomials up to p = 4.

6.2. Method of manufactured solutions

Consider the following geometry comprised of two subdomains V1 and V2 shown below:

The following two-group problem is defined on V=V1V2. (6.1) {.(D1ϕ1)+Σr1ϕ1=f1xV.(D2ϕ2)+Σr2ϕ2=f2+Σs12ϕ1xVD1ϕ1.n=r1xVD2ϕ2.n=r2xV.(6.1)

The values of the material coefficients may be found in the appendix, . Letting v=(v1,v2)[H1(V)]2, ϕ=(ϕ1,ϕ2)[H1(V)]2 and f=(f1,f2), EquationEquation (6.2) has the following variational form: (6.2) {Find ϕ[H1(V)]2such thatA(v,ϕ)=l(v)v[H1(V)]2,(6.2) where A(v,ϕ)=(v1,D1ϕ1)0,V+(v1,Σr1ϕ1)0,V+(v2,D2ϕ2)0,V+(v2,Σr2ϕ2)0,V(v2,Σs12ϕ1)0,V and l(v)=(v1,f1)L2(V)+(v1,r1)V+(v2,f2)L2(V)+(v2,r2)V.

Table 7. Table of macroscopic nuclear cross section material data.

The source functions (f1, f2), derived in Section A.4, and boundary functions (r1, r2) are selected such that the exact solutions are given by the same function below: (6.3) ϕ̂1=ϕ̂2=(x+cos(y))(ysin(x)).(6.3)

EquationEquation (6.3) is plotted in .

Figure 12. Plot of the MMS solution, Equation (6.6), with isolines in white.

Figure 12. Plot of the MMS solution, Equation (6.6), with isolines in white.

The variational form in EquationEquation (6.2) was solved for VEM orders orders p=1,2,3,4,5 and for two sets of successively more refined polygonal meshes. The first were curvilinear meshes which were used in conjunction with the NECG-VEM and the second were linear meshes which were used in conjunction with the classical CG-VEM. In the linear meshes, curves were approximated with a series of line segments where the start and end points lie on the curve (see Section A.3 for more detail). Therefore, the surface areas of V1 and V2 will be under-approximated by the mesh. Some examples of curvilinear meshes are given in . Let h be the average element diameter for a given mesh and let ϕ1h and ϕ2h be the discrete VEM solutions to EquationEquation (6.2) then for every diameter-order pair, denoted (h, p), both the L2(V) and H1(V) errors were computed as follows: EL2(ϕ1h)=(FThF(ϕ̂1Πp0ϕ1h)(ϕ̂1Πp0ϕ1h)dx)12, and EH1(ϕ1h)=(FThF(ϕ̂1Πp10ϕ1h).(ϕ̂1Πp10ϕ1h)dx)12, with the errors for ϕ2h having the same definition. Given that the exact solutions ϕ̂1 and ϕ̂2 are infinitely differentiable everywhere in V then the both ϕ1h and ϕ2h should converge with O(hp) and O(hp+1) accuracy in the H1 and L2 norms respectively. presents the L2(V) and H1(V) errors for the curvilinear meshes with the NECG-VEM As may be seen, the expected order of accuracy is attained. plots the errors with the set of non-area-preserved linear meshes solved using the classical CG-VEM. In this case the errors at higher orders (orders >2 for the L2 error and orders >3 for the H1) are dominated by the geometric error. The rates of convergence for these higher orders are therefore limited to the rate of convergence of the geometric error, which is apparently O(h2) for the L2 error and O(h3) for the H1 error.

Figure 13. Three of the polygonal meshes used to solve EquationEquation (6.3).

Figure 13. Three of the polygonal meshes used to solve EquationEquation (6.3)(6.3) ϕ̂1=ϕ̂2=(x+ cos (y))(y− sin (x)).(6.3) .

Figure 14. The errors EL2 and EH1 for the case where both exact geometry and polynomial basis orthogonalisation are enable.

Figure 14. The errors EL2 and EH1 for the case where both exact geometry and polynomial basis orthogonalisation are enable.

Figure 15. The errors EL2 and EH1 for the case where exact geometry has been disabled.

Figure 15. The errors EL2 and EH1 for the case where exact geometry has been disabled.

6.3. Burnable supercell benchmark verification test case

This problem, originally presented in (Wood and Williams Citation1984) and modified in (Owens, Kópházi, and Eaton Citation2017a), is a single group, extraneous, prescribed (or fixed) neutron source problem consisting of 8 identical fuel pins arranged around a central burnable absorber pin. A schematic of the geometry is presented in along with two of the curvilinear polygonal meshes used to solve this problem.

Figure 16. The geometry of the burnable supercell problem (left) and a curvilinear polygonal mesh with 3759 faces (middle) and 6863 faces (right).

Figure 16. The geometry of the burnable supercell problem (left) and a curvilinear polygonal mesh with 3759 faces (middle) and 6863 faces (right).

Reflected boundary conditions are prescribed on all four sides of the supercell. The values of the neutron macroscopic neutron cross sections and the value of the extraneous, prescribed (fixed) neutron source q(x) are given in . Additionally, the scalar neutron flux contour of the reference solution is presented in .

Figure 17. The scalar neutron flux contour of the reference solution.

Figure 17. The scalar neutron flux contour of the reference solution.

Table 4. The nuclear data for the burnable supercell benchmark verification test case.

The governing equations of this problem are: {.(D(x)ϕ(x))+Σa(x)ϕ(x)=q(x)xVR2D(x)ϕ(x).n=0xV where D=1/3Σt and Σa=ΣtΣs. Qualitatively, the solution in behaves as one would expect. It is flat and smooth far away from the moderator-absorber interface while at the interface the solution exhibits a large gradient in the scalar neutron flux radially out from the center. The cause of this feature of the solution is the large change in the macroscopic absorption neutron cross section. Finally, the solution is symmetric with 45 degree symmetry. We shall define four quantities of interest (QoIs) for this problem:

  • The integral of the scalar neutron flux over the moderator Imod.

  • The integral of scalar neutron flux over all eight fuel pins Ifuel.

  • The integral of scalar neutron flux over the absorber annulus Iab1.

  • The integral of the scalar neutron flux over the absorber pin Iab2.

The reference values for these quantities are shown in .

Table 5. The reference values of the QoIs.

To generate the error curves shown in we solved the burnable supercell problem for VEM orders p=1,2,3,4 and for three separate sets of polygonal meshes. The first mesh set was curvilinear and exactly represented the geometry of the burnable supercell from the lowest level of mesh refinement. The second mesh series was linear and was not area-preserved, and the third and final mesh series was also linear but the mesh was area-preserved. The curvilinear mesh was used in conjunction with the NECG-VEM while the two linear meshes were used in conjunction with the classical CG-VEM.

Figure 18. Convergence plots of Imod for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 18. Convergence plots of Imod for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 19. Convergence plots of Ifuel for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 19. Convergence plots of Ifuel for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 20. Convergence plots of Iab1 for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 20. Convergence plots of Iab1 for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 21. Convergence plots of Iab2 for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Figure 21. Convergence plots of Iab2 for the exact-geometry VEM (left), the non-area-preserved classical VEM (middle) and area-preserved classical VEM (right).

Area preservation in the mesh refers to a process whereby the edges which approximate curves in linear meshes are pushed outward along the curve normals to correct the surface areas of each material subdomain. Section A.3 in the appendix provides more information on the area-preservation process.

For each QoI presented in , the y-axis is shared between all three plots to facilitate easy comparison. The exact-geometry VEM result are the shown in the left images, the non-area-preserved linear mesh (middle) and the area-preserved linear mesh on the right.

From , we may observe a few things:

  • First, the exact geometry meshes exhibit superior convergence to the both linear meshes. The p = 3, 4 curves are shifted downward considerably and have a steeper slope. This indicates that the geometry error is not the dominant source of error and that the approximation error of the global VEM basis is the dominant source of error. As evidenced by the fact that by increasing the VEM order we both reduce the nominal value of the approximation error and increase the rate of convergence under h-refinement.

  • Second, the non-area-preserved set of linear meshes exhibit sub-optimal convergence, with the observed order of convergence saturating at second-order. This implies that the limiting factor in the rate of convergence is the geometric error. Specifically, the rate at which the area of each material subdomains converge to those of the exact geometry.

  • Third, the area-preserved set of linear meshes also exhibit sub-optimal convergence however the observed order of accuracy saturates at third-order. So, when compared to the non-area-preserved meshes, this scheme gains an order of accuracy. This is to be expected as the limiting factor in the geometric error is no longer the rate of convergence of the material subdomain areas to those of the exact geometry, but rather the rate of convergence of material interface arc-lengths to those of the exact geometry. If the arc-lengths between materials are wrong, then even if the areas of the material subdomains are correct, quantities such as neutron leakage between domains will be inaccurate.

The QoI which departs from this pattern is the flux integral over the burnable absorber pin Iab2. The non-area preserved meshes still exhibit considerable loss in accuracy however the area-preserved meshes do not. A possible explanation is that the scalar neutron flux field in the vicinity of the the burnable pin cell almost zero (see ). Under these conditions it is possible that for the area-preserved linear mesh, the geometric error is less significant and approximation error is more significant, thus leading to the situation where there is not much difference between the area-preserved linear mesh and the curvilinear mesh with respect to the value of Iab2.

Alternatives to the NECG-VEM would include higher-order isoparametric FEM, where the description of element geometry uses the same finite element basis functions as the finite element itself. This means that elements have a piece-wise polynomial description of geometry. While superior to linear elements, this description of geometry is still unable to exactly represent conic sections such as circles and ellipses. Consequently, there will still be a geometric error associated with these schemes. In a series of papers on the application of Isogeometric Analysis (IGA) to neutron diffusion and neutron transport (Owens et al. Citation2016; Owens et al. Citation2017b; Owens et al. Citation2017c; Welch et al. Citation2017a; Welch et al. Citation2017b) the authors found that isoparametric FEM would also exhibit sub-optimal convergence rates in problems with curvilinear domains, for the same reasons the straight-sided VEM exhibited sub-optimal convergence.

6.4. The 2D OECD-NEA C5G7 benchmark verification test case

The 2D OECD-NEA C5G7 Benchmark verification test case, presented in (Lewis et al. Citation2003), is a nuclear reactor physics problem defined on a PWR geometry. The benchmark was developed in order to verify the ability of nuclear reactor physics codes to solve problems without spatial homogenization. The geometry of the problem is presented in .

Figure 22. The geometry of the 2D C5G7 benchmark verification test case.

Figure 22. The geometry of the 2D C5G7 benchmark verification test case.

Symmetry along the x and y axes have reduced the problem to a quarter-core geometry consisting of two UOX assemblies and two MOX assemblies. Each assembly is a 17 × 17 array of nuclear fuel pins surrounded by a water reflector and each nuclear fuel pin has a radius of 0.54 cm. The values of the macroscopic nuclear cross section material data may be found in the OECD/NEA benchmark specification (Lewis et al. Citation2003).

The quantities of interest (QoIs) are the the Keff, the maximum pin power Pmin, the minimum pin power Pmin, the power of either MOX assembly PMOX, the power of the inner UO2 assembly PUO2i and the power of the outer UO2 assembly PUO2o. The full mathematical definitions of these QoIs are in the appendix (). A reference solution was calculated using the VEM with a 129,802-element polygonal mesh and an order of p = 4. This reference solution had 2,028,163 DoFs per group. The values of the QoIs for this reference solution are given in .

Figure 23. Two examples of C5G7 curvilinear polygonal meshes.

Figure 23. Two examples of C5G7 curvilinear polygonal meshes.

Table 6. Reference results for the C5G7 (2,028,163 DoFs).

These values are in good agreement with the values presented in (Welch et al. Citation2017a), where a high-fidelity and exact-geometry IGA solution was calculated. The scalar neutron flux contours of the reference solution are given in for the g=1,3,5,7 energy groups. To investigate the numerical behavior of the exact-geometry VEM, the C5G7 was solved using a series of 10 polygonal meshes ranging from 22,968 elements to 82,359 elements and for orders k=1,2,3,4. The QoIs were calculated for each mesh-order pair and the relative errors with respect to the reference values of were computed. These errors are plotted in . The convergence criterium used to terminate the power iteration was that given in Equation (3.38); the maximum relative difference between successive iterates of the scalar neutron flux. The tolerance for this criterium was set to 1×1012, at this value the C5G7 would require around 137 power iterations to converge. The scalar neutron fluxes were then normalized such that the fission source is equal to the number of nuclear fuel pins: 1056 (Lewis et al. Citation2003). Vg=1GνΣfgϕg(x)dx=1056.

Figure 24. Scalar neutron flux contours for energy groups 1, 3, 5 and 7.

Figure 24. Scalar neutron flux contours for energy groups 1, 3, 5 and 7.

Figure 25. Errors in QoIs for the C5G7.

Figure 25. Errors in QoIs for the C5G7.

shows a portion of the 44,802 element mesh and the 82,359 element mesh from which the uniform refinement strategy may be seen. No adaptive refinement was used, additional elements were simply added to each region in proportion the surface area of each region.

Looking at the convergence curves of it is clear that for p = 2, 3, 4 there is a considerable amount of numerical noise. Particularly for p = 2, 3, the errors jump considerably. The reason for this is that the errors change sign, making the absolute value of the error appear to jump. However, it is still clear that the higher order curves are shifted downward relative to lower order curves and the errors themselves become very small, showing good agreement with the reference solution.

An additional complication is that the QoIs are a mix of global quantities, such as the Keff, and more localized quantities such as the min/max pin powers. Therefore, their error curves will exhibit different convergence properties depending upon how well converged the flux field is in the vicinity of the QoI. This is as problem that will be overcome in the future with adaptive mesh refinement (AMR) techniques which for each region of the nuclear reactor will converge the scalar neutron flux to roughly the same tolerance ().

Figure 26. The control points of the bounding NURBS curves.

Figure 26. The control points of the bounding NURBS curves.

7. Conclusion

This paper presented the NURBS-enhanced VEM (NE-VEM) for the solution of the multigroup neutron diffusion equation (NDE). It extends the research presented in (Ferguson, Kópházi, and Eaton Citation2021) and addresses the main disadvantage of VEM presented in that paper: which was the geometric discretization error incurred by the use of straight-sided polygons to model curvilinear nuclear reactor geometries. The extension of the VEM to curvilinear polygons with NURBS edges eliminated the geometric discretization error from the lowest level of mesh refinement. As a consequence, the convergence curves for higher-order VEM schemes (p = 3, 4) show a marked improvement over those of the conventional VEM for benchmark verification test cases with curvilinear domains. This effect is demonstrated for a variety of QoIs, such as the L2 and H1 errors, in Sections 6.2 and 6.3.

The NE-VEM of this paper is built on top of a description of topology and geometry which is well suited both to specifying the geometrical and computational domain of interest, such as a nuclear reactor core, and for representing curvilinear, polygonal meshes. Therefore, under this regime, the distinction between what are usually known as the “domain” and the “mesh” has been eliminated. A benefit of this representation of topology/geometry over that of say isogeometric analysis (IGA) is that only those polygons which are incident on curvilinear boundaries or internal interfaces need be modeled using a NURBS boundary representation. While in IGA usually all of the elements are curvilinear to some extent as a consequence of the NURBS patch mapping from parametric space to the physical domain.

Additionally, we presented a method of integrating the scaled monomials up to a given order on curvilinear polygons. This method, Lassere’s Method, is very computationally efficient compared to direct quadrature and greatly reduces the time to compute local bilinear forms. Additionally, for the integration of functions which are not homogeneous, we presented a method of generating quadrature rules on curvilinear polygons using a subtessellation algorithm with Coons patches. We present our subtessellation method as an alternative to the quadrature rule algorithm presented in (Beirão da Veiga, Russo, and Vacca Citation2019). However our method requires the bounding curves of the polygon to be NURBS, while the method of (Beirão da Veiga, Russo, and Vacca Citation2019) does not.

The primary limitation of the work presented in this paper is the lack of adaptive hp refinement. In each of the benchmark verification test cases we presented the mesh sequences were uniformly refined. For the purposes of investigating the convergence rates of QoIs within nuclear reactor physics benchmark verification test cases this is acceptable. However, for large industrial nuclear reactor physics problems, where computational efficiency is paramount, this will be the limiting factor. Therefore, the implementation of common refinement strategies for the NDE, such as those presented in (Wang and Ragusa Citation2009; Wang, Bangerth, and Ragusa Citation2009), and methods of transferring solution fields between meshes, is a priority if the VEM is to have applications outside of academia. Another limitation of the work presented in this paper is the lack of a formal proof of well-posedness and a priori error analysis, therefore a more theoretical analysis of the discretization presented in this paper is also a priority.

A logical next step from the research presented in this paper is to apply the NE-VEM to the first-order form of the neutron transport equation (NTE). The NE-VEM has a number of favorable properties for the discrete ordinate (SN) sweep algorithm used to solve the NTE. This favorable property is that for curvilinear meshes only a small subset of the elements will be curvilinear in shape (e.g. boundaries and some internal interfaces). The remaining polygonal elements within the mesh can be straight-sided. This has important implications in that the number of cyclic dependencies, where downstream fluxes depend on upstream fluxes and vice versa, will be reduced when compared to say IGA, where all elements can be curvilinear (Owens et al. Citation2016; Owens et al. Citation2017b; Owens et al. Citation2017c).

Data Statement

In accordance with EP SRC funding requirements all supporting data used to create figures in this paper may be accessed at the following URL: https://doi.org/10.5281/zenodo.6795306.

Acknowledgment

Mr. J. Ferguson would like to acknowledge the Engineering and Physical Sciences Research Council (EPSRC) through the Doctoral Training Partnership (DTP) PhD scheme (EPSRC Grant No.: EP/R512540/1). Mr. J. Ferguson also acknowledges the industrial and financial support of Rolls-Royce. Dr. M.D. Eaton and Dr. J. Kópházi would like to thank the Engineering and Physical Sciences Research Council (EPSRC) for their support through the following grants: Adaptive Hierarchical Radiation Transport Methods to Meet Future Challenges in Reactor Physics (EPSRC Grant No.: EP/J002011/1) and RADIANT: A Parallel, Scalable, High Performance Radiation Transport Modelling and Simulation Framework for Reactor Physics, Nuclear Criticality Safety Assessment and Radiation Shielding Analyses (EPSRC Grant No.: EP/K503733/1). The authors would like to thank Mr. M. Harvey, who is the research computing services (RCS) manager, and his team at Imperial College London. Finally, the authors would like to thank the anonymous reviewers for their suggestions.

References

  • Ahmad, B., A. Alsaedi, F. Brezzi, L. Marini, and A. Russo. 2013. Equivalent projectors for virtual element methods. Comput. Math. Appl. 66 (3):376–91. doi:10.1016/j.camwa.2013.05.015
  • Aigner, M., C. Heinrich, B. Jüttler, E. Pilgerstorfer, B. Simeon, and A. V. Vuong. 2009. Swept volume parameterization for isogeometric analysis. In Mathematics of Surfaces XIII. Mathematics of Surfaces 2009. Lecture Notes in Computer Science, vol. 5654, 19–44. Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-03596-8_2
  • Antonietti, P. F., G. Manzini, and M. Verani. 2018. The fully nonconforming virtual element method for biharmonic problems. Math. Models Methods Appl. Sci. 28 (2):387–407. doi:10.1142/S0218202518500100
  • Antonietti, P. F., P. Houston, and G. Pennesi. 2018. Fast numerical integration on polytopic meshes with applications to discontinuous Galerkin finite element methods. J. Sci. Comput. 77 (3):1339–70. doi:10.1007/s10915-018-0802-y
  • Ayuso de Dios, B., K. Lipnikov, and G. Manzini. 2016. The nonconforming virtual element method. ESAIM: M2AN 50 (3):879–904. doi:10.1051/m2an/2015090
  • Balay, S., S. Anhyankar, M. F. Adams, J. Brown, P. Brune, D. Buschleman, D. Kaushik, M. G. Knepley, D. A. May, L. C. McInnes, et al. 2020. PETSc users’ manual. Tech. rep., Argonne National Laboratory, Lemont, IL.
  • Bazilevs, Y., V. Calo, J. Cottrell, J. Evans, T. Hughes, S. Lipton, M. Scott, and T. Sederberg. 2010. Isogeometric analysis using T-splines. Comput. Methods Appl. Mech. Engng. 199 (5-8):229–63. doi:10.1016/j.cma.2009.02.036
  • Beall, M. W., and M. S. Shephard. 1997. General topology-based mesh data structure. Int. J. Numer. Meth. Engng. 40 (9):1573–96. doi:10.1002/(SICI)1097-0207(19970515)40:9¡1573::AID-NME128¿3.0.CO;2-9
  • Beirão da Veiga, L., A. Russo, and G. Vacca. 2019. The virtual element method with curved edges. ESAIM: M2AN 53 (2):375–404. doi:10.1051/m2an/2018052
  • Beirão da Veiga, L., F. Brezzi, A. Cangiani, G. Manzini, L. D. Marini, and A. Russo. 2013. Basic principles of virtual element methods. Math. Models Methods Appl. Sci. 23 (1):199–214. doi:10.1142/S0218202512500492
  • Beirão da Veiga, L., F. Brezzi, L. D. Marini, and A. Russo. 2014. The Hitchhiker’s guide to the virtual element method. Math. Models Methods Appl. Sci. 24 (8):1541–73. doi:10.1142/S021820251440003X
  • Beirão da Veiga, L., F. Brezzi, L. D. Marini, and A. Russo. 2016a. Virtual element method for general second-order elliptic problems on polygonal meshes. Math. Models Methods Appl. Sci. 26 (4):729–50. doi:10.1142/S0218202516500160
  • Beirão da Veiga, L., F. Brezzi, L. D. Marini, and A. Russo. 2016b. Serendipity nodal VEM spaces. Comput. Fluids 141:2–12. doi:10.1016/j.compfluid.2016.02.015
  • Beirão da Veiga, L., F. Brezzi, L. D. Marini, and A. Russo. 2020. Polynomial preserving virtual elements with curved edges. Math. Models Methods Appl. Sci. 30 (8):1555–90. doi:10.1142/S0218202520500311
  • Berrone, S., A. Borio, and G. Manzini. 2018. SUPG stabilization for the nonconforming virtual element method for advection-diffusion-reaction equations. Comput. Methods Appl. Mech. Engng. 340:500–29. doi:10.1016/j.cma.2018.05.027
  • Berrone, S., and A. Borio. 2017. Orthogonal polynomials in badly shaped polygonal elements for the Virtual Element Method. Finite Elem. Anal. Des. 129:14–31. doi:10.1016/j.finel.2017.01.006
  • Bertoluzza, S., M. Pennacchio, and D. Prada. 2019. High order VEM on curved domains. Atti. Accad. Naz. Lincei Cl. Sci. Fis. Mat. Natur. 30 (2):391–412. doi:10.4171/RLM/853
  • Biswas, R., and R. C. Strawn. 1994. A new procedure for dynamic adaption of three-dimensional unstructured grids. Appl. Numer. Math. 13 (6):437–52. doi:10.1016/0168-9274(94)90007-8
  • Brenner, S. C., and L.-Y. Sung. 2018. Virtual element methods on meshes with small edges or faces. Math. Models Methods Appl. Sci. 28 (7):1291–336. doi:10.1142/S0218202518500355
  • Brenner, S. C., Q. Guan, and L.-Y. Sung. 2017. Some estimates for virtual element methods. Comput. Methods Appl. Math. 17 (4):553–74. doi:10.1515/cmam-2017-0008
  • Brezzi, F., and L. D. Marini. 2013. Virtual element methods for plate bending problems. Comput. Methods Appl. Mech. Engng. 253:455–62. doi:10.1016/j.cma.2012.09.012
  • Cangiani, A., G. Manzini, and O. J. Sutton. 2016. Conforming and nonconforming virtual element methods for elliptic problems. IMA J. Numer. Anal. 37 (3):drw036. doi:10.1093/imanum/drw036
  • Chin, E. B., J. B. Lasserre, and N. Sukumar. 2015. Numerical integration of homogeneous functions on convex and nonconvex polygons and polyhedra. Comput. Mech. 56 (6):967–81. doi:10.1007/s00466-015-1213-7
  • Ciarlet, P. G. 2002. The finite element method for elliptic problems. Philadelphia, PA: Society for Industrial and Applied Mathematics. doi:10.1137/1.9780898719208
  • Collins, B., A. Godfrey, S. Stimpson, and S. Palmtag. 2020. Simulation of the BEAVRS benchmark using VERA. Ann. Nucl. Energy 145:107602. doi:10.1016/j.anucene.2020.107602
  • Coons, S. A. 1967. MAC-TR-41: Surfaces for computer-aided design of space forms. Tech. rep., Massachusetts Institute of Technology, Cambridge, MA.
  • Coons, S. A. 1974. Surface patches and B-spline curves. In Computer aided geometric design, 1–16. New York, NY: Elsevier. doi:10.1016/B978-0-12-079050-0.50006-0
  • Cox, M. G. 1972. The numerical evaluation of B-splines. IMA J. Appl. Math. 10 (2):134–49. doi:10.1093/imamat/10.2.134
  • da Veiga, L. B., and G. Manzini. 2014. A virtual element method with arbitrary regularity. IMA J. Numer. Anal. 34 (2):759–81. doi:10.1093/imanum/drt018
  • da Veiga, L. B., C. Lovadina, and A. Russo. 2017. Stability analysis for the virtual element method. Math. Models Methods Appl. Sci. 27 (13):2557–94. doi:10.1142/S021820251750052X
  • da Veiga, L. B., F. Brezzi, L. D. Marini, and A. Russo. 2016. Virtual element implementation for general elliptic equations. In Building bridges: Connections and challenges in modern approaches to numerical partial differential equations, 39–71. Berlin, Heidelberg: Springer International Publishing. doi:10.1007/978-3-319-41640-3_2
  • Dassi, F., and L. Mascotto. 2018. Exploring high-order three dimensional virtual elements: Bases and stabilizations. Comput. Math. Appl. 75 (9):3379–401. doi:10.1016/j.camwa.2018.02.005
  • de Berg, M., O. Cheong, M. van Kreveld, and M. Overmars. 2008. Computational geometry. Berlin, Heidelberg: Springer. doi:10.1007/978-3-540-77974-2
  • de Boor, C. 1972. On calculating with B-splines. J. Approximat. Theory 6 (1):50–62. doi:10.1016/0021-9045(72)90080-9
  • Duderstadt, J. J., and L. J. Hamilton. 1976. Nuclear reactor analysis. Hoboken, NJ: John Wiley & Sons, Inc.
  • Ferguson, J., J. Kópházi, and M. D. Eaton. 2021. Virtual element methods for the spatial discretisation of the multigroup neutron diffusion equation on polygonal meshes with applications to nuclear reactor physics. Ann. Nucl. Energy 151:107884. doi:10.1016/j.anucene.2020.107884
  • Gaston, D. R., C. J. Permann, J. W. Peterson, A. E. Slaughter, D. Andrš, Y. Wang, M. P. Short, D. M. Perez, M. R. Tonks, J. Ortensi, et al. 2015. Physics-based multiscale coupling for full core nuclear reactor simulation. Ann. Nucl. Energy 84:45–54. doi:10.1016/j.anucene.2014.09.060
  • Habetler, G. J., and M. A. Martino. 1958. KAPL-1886: The multigroup diffusion equations of reactor physics. Tech. rep., Knolls Atomic Power Laboratory, Niskayuna, NY.
  • Hall, S. K., M. D. Eaton, and M. M. R. Williams. 2012. The application of isogeometric analysis to the neutron diffusion equation for a pincell problem with an analytic benchmark. Ann. Nucl. Energy 49:160–9. doi:10.1016/j.anucene.2012.05.030
  • Harmel, M., R. A. Sauer, and D. Bommes. 2017. Volumetric mesh generation from T-spline surface representations. Comput-Aided. Des. 82:13–28. doi:10.1016/j.cad.2016.07.017
  • Hebert, A. 2020. Applied reactor physics. 3rd ed. Montréal, Canada: Presses internationales Polytechnique.
  • Hughes, T., A. Reali, and G. Sangalli. 2010. Efficient quadrature for NURBS-based isogeometric analysis. Comput. Methods Appl. Mech. Engng. 199 (5–8):301–13. doi:10.1016/j.cma.2008.12.004
  • Hughes, T., J. Cottrell, and Y. Bazilevs. 2005. Isogeometric analysis: CAD, finite elements, NURBS, exact geometry and mesh refinement. Comput. Methods Appl. Mech. Engng. 194 (39–41):4135–95. doi:10.1016/j.cma.2004.10.008
  • Kallinderis, Y., and P. Vijayan. 1993. Adaptive refinement-coarsening scheme for three-dimensional unstructured meshes. AIAA J. 31 (8):1440–7. doi:10.2514/3.11793
  • Kang, C. M., and K. F. Hansen. 1973. Finite Element Methods for Reactor Analysis. Nucl. Sci. Eng. 51 (4):456–95. doi:10.13182/NSE73-A23278
  • Khamayseh, A., and B. Hamann. 1996. Elliptic grid generation using NURBS surfaces. Comput. Aided Geom. Des. 13 (4):369–86. doi:10.1016/0167-8396(95)00050-X
  • Lasserre, J. B. 1998. Integration on a convex polytope. Proc. Amer. Math. Soc. 126 (8):2433–41. doi:10.1090/S0002-9939-98-04454-2
  • Latimer, C., J. Kópházi, M. D. Eaton, and R. G. McClarren. 2020. A geometry conforming isogeometric method for the self-adjoint angular flux (SAAF) form of the neutron transport equation with a discrete ordinate (SN) angular discretisation. Ann. Nucl. Energy 136:107049. doi:10.1016/j.anucene.2019.107049
  • Latimer, C., J. Kópházi, M. D. Eaton, and R. McClarren. 2020. A geometry conforming, isogeometric, weighted least squares (wls) method for the neutron transport equation with discrete ordinate (SN) angular discretisation. Prog. Nucl. Energy 121:103238. doi:10.1016/j.pnucene.2019.103238
  • Latimer, C., J. Kópházi, M. D. Eaton, and R. McClarren. 2021. Spatial adaptivity of the SAAF and Weighted Least Squares (WLS) forms of the neutron transport equation using constraint based, locally refined, isogeometric analysis (IGA) with dual weighted residual (DWR) error measures. J. Comput. Phys. 426:109941. doi:10.1016/j.jcp.2020.109941
  • Lawrence, R. 1986. Progress in nodal methods for the solution of the neutron diffusion and transport equations. Prog. Nucl. Energy 17 (3):271–301. doi:10.1016/0149-1970(86)90034-X
  • Lewis, E. E., M. A. Smith, N. Tsoulfanidis, G. Palmiotti, T. A. Taiwo, and R. N. Blomquist. 2003. Benchmark on deterministic transport calculations without spatial homogenisation: A 2-D/3-D MOX fuel assembly benchmark. Tech. Rep. NEA/NSC/DOC(2003)16, Nuclear Energy Agency (NEA), Organisation for Economic Co-operation and Development.
  • Lin, F., and W. Hewitt. 1994. Expressing Coons-Gordon surfaces as NURBS. Comput-Aided. Des. 26 (2):145–55. doi:10.1016/0010-4485(94)90035-3
  • Lin, H., S. Jin, Q. Hu, and Z. Liu. 2015. Constructing B-spline solids from tetrahedral meshes for isogeometric analysis. Comput. Aided Geom. Des. 35–36:109–20. doi:10.1016/j.cagd.2015.03.013
  • Liu, X., J. Li, and Z. Chen. 2017. A nonconforming virtual element method for the Stokes problem on general meshes. Comput. Methods Appl. Mech. Engng. 320:694–711. doi:10.1016/j.cma.2017.03.027
  • Mäntylä, M. 1983. Topological analysis of polygon meshes. Comput-Aided. Des. 15 (4):228–34. doi:10.1016/0010-4485(83)90126-4
  • Mantyla, M. 1984. A note on the modeling space of Euler operators. Comput. Vis. Graph. Image Process. 26 (1):45–60. doi:10.1016/0734-189X(84)90129-4
  • Mantyla, M., and R. Sulonen. 1982. GWB: A solid modeler with Euler operators. IEEE Comput. Grap. Appl. 2 (7):17–31. doi:10.1109/MCG.1982.1674396
  • Manzini, G., A. Cangiani, and O. Sutton. The conforming virtual element method for the convection-diffusion-reaction equation with variable coeffcients. Tech. rep., Los Alamos National Laboratory (LANL), Los Alamos, NM, oct. 2014. doi:10.2172/1159207
  • Mascotto, L. 2018. Ill-conditioning in the virtual element method: Stabilizations and bases. Numer. Methods Part. Different. Eq. 34 (4):1258–81. doi:10.1002/num.22257
  • Miller, W. F., and E. E. Lewis. 1993. Computational methods of neutron transport, 1st ed. La Grange Park, IL: American Nuclear Society.
  • Muller, D., and F. Preparata. 1978. Finding the intersection of two convex polyhedra. Theoretic. Comput. Sci. 7 (2):217–36. doi:10.1016/0304-3975(78)90051-8
  • Mylonakis, A., M. Varvayanni, N. Catsaros, P. Savva, and D. Grigoriadis. 2014. Multi-physics and multi-scale methods used in nuclear reactor analysis. Ann. Nucl. Energy 72:104–19. doi:10.1016/j.anucene.2014.05.002
  • Owens, A., J. Kópházi, and M. D. Eaton. 2017a. Optimal trace inequality constants for interior penalty discontinuous Galerkin discretisations of elliptic operators using arbitrary elements with non-constant Jacobians. Comput. Phys. 350:847–70. doi:10.1016/j.jcp.2017.09.020
  • Owens, A., J. Kópházi, J. Welch, and M. D. Eaton. 2017b. Energy dependent mesh adaptivity of discontinuous isogeometric discrete ordinate methods with dual weighted residual error estimators. Comput. Phys. 335:352–86. doi:10.1016/j.jcp.2017.01.035
  • Owens, A., J. Welch, J. Kópházi, and M. D. Eaton. 2016. Discontinuous isogeometric analysis methods for the first-order form of the neutron transport equation with discrete ordinate (SN) angular discretisation. Comput. Phys. 315:501–35. doi:10.1016/j.jcp.2016.03.060
  • Owens, A., J. Welch, J. Kópházi, and M. D. Eaton. 2017c. An adaptive, hanging-node, discontinuous isogeometric analysis method for the first-order form of the neutron transport equation with discrete ordinate (SN) angular discretisation. Comput. Methods Appl. Mech. Engng. 318:215–41. doi:10.1016/j.cma.2017.01.036
  • Piegl, L., and W. Tiller. 1995. The NURBS book, Monographs in visual communications. Berlin, Heidelberg: Springer. doi:10.1007/978-3-642-97385-7
  • Russo, A. 2016. On the choice of the internal degrees of freedom for the nodal virtual element method in two dimensions. Comput. Math. Appl. 72 (8):1968–76. doi:10.1016/j.camwa.2016.03.016
  • Sanchez, R. 2009. Assembly homogenization techniques for core calculations. Prog. Nucl. Energy 51 (1):14–31. doi:10.1016/j.pnucene.2008.01.009
  • Schmidt, R., R. Wüchner, and K.-U. Bletzinger. 2012. Isogeometric analysis of trimmed NURBS geometries. Comput. Methods Appl. Mech. Engng. 241–244:93–111. doi:10.1016/j.cma.2012.05.021
  • Schneider, T., D. Panozzo, and X. Zhou. 2021. Isogeometric high order mesh generation. Comput. Methods Appl. Mech. Engng. 386:114104. doi:10.1016/j.cma.2021.114104
  • Semenza, L. A., E. E. Lewis, and E. C. Rossow. 1972. The application of the finite element method to the multigroup neutron diffusion equation. Nucl. Sci. Eng. 47 (3):302–10. doi:10.13182/NSE72-A22416
  • Sethian, J. A. 1999. Fast Marching Methods. SIAM Rev. 41 (2):199–235. doi:10.1137/S0036144598347059
  • Sevilla, R., S. Fernández-Méndez, and A. Huerta. 2008. NURBS-enhanced finite element method (NEFEM). Int. J. Numer. Meth. Engng. 76 (1):56–83. doi:10.1002/nme.2311
  • Sevilla, R., S. Fernández-Méndez, and A. Huerta. 2011. 3D NURBS-enhanced finite element method (NEFEM). Int. J. Numer. Meth. Engng. 88 (2):103–25. doi:10.1002/nme.3164
  • Smith, K. S. 1986. Assembly homogenization techniques for light water reactor analysis. Prog. Nucl. Energy 17 (3):303–35. doi:10.1016/0149-1970(86)90035-1
  • Smith, K. S. 2017. Nodal diffusion methods and lattice physics data in LWR analyses: Understanding numerous subtle details. Prog. Nucl. Energy 101:360–9. doi:10.1016/j.pnucene.2017.06.013
  • Sommariva, A., and M. Vianello. 2007. Product Gauss cubature over polygons based on Green’s integration formula. Bit Numer. Math. 47 (2):441–53. doi:10.1007/s10543-007-0131-2
  • Stimpson, S., K. Clarno, R. Pawlowski, R. Gardner, J. Powers, B. Collins, A. Toth, S. Novascone, S. Pitts, J. Hales, et al. 2020. Coupled fuel performance calculations in VERA and demonstration on Watts Bar unit 1, cycle 1. Ann. Nucl. Energy 145:107554. doi:10.1016/j.anucene.2020.107554
  • Wachspress, E. 1966. Iterative solution of elliptic systems and applications to the neutron diffusion equations of reactor physics. Hoboken, NJ: Prentice-Hall.
  • Wang, Y., and J. Ragusa. 2009. Application of HP adaptivity to the multigroup diffusion equations. Nucl. Sci. Eng. 161 (1):22–48. doi:10.13182/NSE161-22
  • Wang, Y., W. Bangerth, and J. Ragusa. 2009. Three-dimensional h-adaptivity for the multigroup neutron diffusion equations. Prog. Nucl. Energy 51 (3):543–55. doi:10.1016/j.pnucene.2008.11.005
  • Welch, J., J. Kópházi, A. Owens, and M. D. Eaton. 2017a. A geometry preserving, conservative, mesh-to-mesh isogeometric interpolation algorithm for spatial adaptivity of the multigroup, second-order even-parity form of the neutron transport equation. J. Comput. Phys. 347:129–46. doi:10.1016/j.jcp.2017.06.015
  • Welch, J., J. Kópházi, A. Owens, and M. D. Eaton. 2017b. Isogeometric analysis for the multigroup neutron diffusion equation with applications in reactor physics. Ann. Nucl. Energy 101:465–80. doi:10.1016/j.anucene.2016.11.015
  • Wood, J., and M. M. R. Williams. 1984. Recent progress in the application of the finite element method to the neutron transport equation. Prog. Nucl. Energy 14 (1):21–40. doi:10.1016/0149-1970(84)90010-6
  • Xu, G., B. Mourrain, R. Duvigneau, and A. Galligo. 2013a. Analysis-suitable volume parameterization of multi-block computational domain in isogeometric applications. Comput-Aided. Des. 45 (2):395–404. doi:10.1016/j.cad.2012.10.022
  • Xu, G., B. Mourrain, R. Duvigneau, and A. Galligo. 2013b. Constructing analysis-suitable parameterization of computational domain from CAD boundary by variational harmonic method. Comput. Phys. 252:275–89. doi:10.1016/j.jcp.2013.06.029

Appendix A

A.1. Integration on curvilinear faceted polygons

Algorithm 1: Algorithm for integrating all scaled monomials mi(x) up to order p

1: Input: Order p and a polygon F

2: Output: Set of scaled monomial integrals on F, IpF.

3: Translate F by xF to get F̂

4: IpFIntegrateAll(p,F̂)

5: for α = 1 to np do

6:  q order of mα(x)

7:  IpF[α]1hFqIpF[α] ⊳ property 5.2

8: end for

Algorithm 2: Algorithm for integrating all monomials ui(x) up to order p on face F̂

1: procedure IntegrateAll(p, F) ⊳ Lassere on face

2:  IpF[0,,0] ⊳ Initialize integrals to zero

3:  for eiF do ⊳ For each edge

4:   if ei is a linear then

5:    IpeiIntegrateAll(p,ei) ⊳ integrate all monomials on edge

6:   else

7:    Ipei[0,,0]

8:    for α = 1 to np do

9:     Apply quadrature on curve: Ipei[α]j=1nqpc(tj).n(tj)uα(c(tj))wj|J(tj)|

10:    end for

11:   end if

12:   for α = 1 to np do ⊳ Add contribution from edge ei to face integral

13:    Let (αx,αy) be the exponents of uα(x)

14:    Let q=αx+αy ⊳ Monomial order

15:    IpF[α]IpF[α]+12+qIpei[α]

16:   end for

17:  end for

18:  return IpF

19: end procedure

Algorithm 3: Algorithm for integrating all monomials ui(x) up to order p on edge eF̂

1: procedure IntegrateAll(p, e) ⊳ Lassere on edge

2:  Ipe[0,,0]

3:  Ipvi,2IntegrateAll(p,vi,2) ⊳ integrate on second vertex of edge

4:  for α = 1 to np do

5:   Let (αx,αy) be the exponents of uα(x)

6:   Let q=αx+αy ⊳ Monomial order

7:   Let β1=α(αx1,αy) and β2=α(αx,αy1)

8:   Apply quadrature on curve: Ipe[α]=11+q[|e|Ipvi,2[α]+(x0,i)1αxIpe[β1]+(x0,i)2αyIpe[β2]]

9:  end for

10:  return Ipe

11: end procedure

Algorithm 4: Algorithm for integrating all monomials ui(x) up to order p on vertex v.

1: procedure IntegrateAll(p, v) ⊳ Lassere on vertex

2:  Ipv[0,,0]

3:  for α = 1 to np do

4:   Ipv[α]=uα(v)

5:  end for

6:  return Ipv

7: end procedure

A.2. Quadrature comparison

This section shall present all supplementary data necessary to replicate the test case presented in Section 6.1. All the bounding curves of the test polygon have the following order, knot vector and control weights: p=2,u=[0,0,0,1,1,1],w=[1,1.5,1] and the control points:

A.3. Linear polygonal meshes and area preservation

In both the MMS test case and the burnable supercell test case we compare the NE-VEM to classical VEM. To perform this comparison we must use linear polygonal meshes for the classical VEM. There are two situations to consider: the first is where there has been no attempt to preserve the area of the mesh and the second is where the mesh has been altered so that surface areas of material subdomains are preserved between the geometric domain and the linear mesh. In the non-area-preserved case the vertex coordinates in the mesh are left unchanged and all higher-order NURBS curves in the mesh are converted to linear NURBS curves (this is the dashed blue line in ).

Figure 27. Illustration of the exact-geometry line segment (thick red arc), the non-area preserved linear approximation (dashed blue line) and area-preserved approximation (solid blue line).

Figure 27. Illustration of the exact-geometry line segment (thick red arc), the non-area preserved linear approximation (dashed blue line) and area-preserved approximation (solid blue line).

In the area-preserved case, we find all the vertices which lie on internal interface curves of the material subdomains and push them all outward by some distance δ along the outward normals of the pincell at each curve parameter (shown as n(t1) and n(t2) in ). The optimal offset distance δ is determined as follows: first the set of vertices in the original curvilinear mesh which lie incident with the boundary of the material subdomain are found, let us denote this set {vi=(xi,yi)}i=1N and let us assume it is ordered counter-clockwise around the outer boundary of material subdomain. The area of the polygon enclosed by this loop is given by: Apoly=12i=1Nxiyi+1xi+1yi,where(xN+1,yN+1)=(x0,y0)

Next, we compute the outward normal ni=(ni,x,ni,y) to the pincell boundary at each point vi. Let us assume the material subdomain has area A, then the offset distance δ is computed as a minimization problem: δ=argminδR+(A12i=1N+1(xi+δni,x)(yi+1+δni+1,y)(xi+1+δni+1,x)(yi+δni,y))2

Once the offset δ has been found each of the vertices vi are displaced by δni. After this has been done, and all higher-order NURBS curves are replaced with linear NURBS curves between the newly computed vertices, the material subdomains of the linear mesh now have the same surface areas as the curvilinear mesh but are composed solely of linear elements.

A.4. Method of manufactured solutions

This section shall provide all the supplementary information needed to replicate the MMS benchmark verification test case of Section 6.2, beginning with the values of the macroscopic nuclear cross section material data are presented in .

Next, the construction of the forcing functions f1 and f2 shall be explained. Let DV11=D1|V1 and DV21=D1|V2, with the same subscript used for the other quantities to denote the same meaning. Let d(x):R2R be the signed distance function of V1, which is defined as: d(x)=sgn(x)minyV1xyR2,wheresgn(x)={1ifxV11otherwise.

The distance function has two important properties which also provide useful information. First, for xV1 the gradient d(x) points in the direction of the closest point on V1, denoted y. Second, provided x is not equidistant to more than one point on V1, that d(x) is equal to the outward normal vector at the nearest point y, this normal vector shall be denoted n(x). An example is presented in .

Figure 28. On the left are the isolines of d(x), on the right is an illustration of the properties of d(x) for xV1.

Figure 28. On the left are the isolines of d(x), on the right is an illustration of the properties of ∇d(x) for x∈V1.

Computing the signed distance function of a general curve is a non-trivial task typically accomplished by solving the Eikonal equation, dR2=1, using fast marching methods. A survey of which may be found in (Sethian Citation1999). However, because the boundary curve V1 in the present test case is a circle of radius R = 3 and center (0, 0), albeit in NURBS form, the distance function has a simple expression. Letting x=(x1,x2), the distance function may be written as: d(x)=x12+x22R

Therefore, all of the physical quantities may be written in the same way as D1 is below: D1(x)=DV11+(DV21DV11)H(d(x))=DV11+[[D1]]H(d(x)), where H(t):RR is the Heaviside step function and [[D1]] denotes the jump in D1 across the discontinuity. Substituting this description of the physical quantities and the manufactured solutions, ϕ̂1,ϕ̂2, into EquationEquation (6.2) to gives: f1=.(D1ϕ1̂)+Σr1ϕ1̂f2=.(D2ϕ2̂)+Σr2ϕ2̂Σs12ϕ̂1.

Therefore, the source functions are piecewise continuous with a discontinuity at V1. The diffusion terms require some further explanation as they include derivatives of discontinuous functions, beginning with the diffusion term for ϕ̂1: .(D1ϕ1̂)=.((DV11+[[D1]]H(d(x)))ϕ1̂)=.(DV11ϕ̂1).([[D1]]H(d(x))ϕ̂1)=(DV11+[[D1]]H(d(x)))2ϕ̂1term 1[[D1]]H(d(x)).ϕ̂1term 2.

Term 1 is a volume source, defined for all V, and may be written as: (DV11+[[D1]]H(d(x)))2ϕ̂1={DV112ϕ̂1ifxV1DV212ϕ̂1ifxV2.

Term 2 is a line source, defined only on V1, and is computed as follows. Beginning with the H(d(x)) term: xiH(d(x))=H(d(x))d(x).d(x)xi=δ(d(x))d(x)xi, where δ(t) is the Dirac delta distribution. Therefore, H(d(x))=δ(d(x))d(x). Substituting this back into term 2 gives: [[D1]]H(d(x)).ϕ̂1=[[D1]](δ(d(x))d(x)).ϕ̂1

The same result can be reached for the group 2 diffusion term, .(D2ϕ2̂), using the same argument.

To see how the forcing linear forms are computed in practice, consider the forcing term: (v1,f1)0,V=(v1,.(D1ϕ1̂)+Σr1ϕ1̂)0,V=(v1,DV112ϕ̂1)0,V1(v1,DV212ϕ̂1)0,V2+[[D1]](v1,n1.ϕ̂1)0,V1+(v1,Σr1ϕ̂1)0,V

Where n1(x)=d(x),xV1, is the outward normal to V1. This is a property of the distance function which was explained earlier.