Element length calculation in B-spline meshes for complex geometries

Variational multiscale methods, and their precursors, stabilized methods, have been playing a core-method role in semi-discrete and space–time (ST) flow computations for decades. These methods are sometimes supplemented with discontinuity-capturing (DC) methods. The stabilization and DC parameters embedded in most of these methods play a significant role. Various well-performing stabilization and DC parameters have been introduced in both the semi-discrete and ST contexts. The parameters almost always involve some element length expressions, most of the time in specific directions, such as the direction of the flow or solution gradient. Until recently, stabilization and DC parameters originally intended for finite element discretization were being used also for isogeometric discretization. Recently, element lengths and stabilization and DC parameters targeting isogeometric discretization were introduced for ST and semi-discrete computations, and these expressions are also applicable to finite element discretization. The key stages of deriving the direction-dependent element length expression were mapping the direction vector from the physical (ST or space-only) element to the parent element in the parametric space, accounting for the discretization spacing along each of the parametric coordinates, and mapping what has been obtained back to the physical element. Targeting B-spline meshes for complex geometries, we introduce here new element length expressions, which are outcome of a clear and convincing derivation and more suitable for element-level evaluation. The new expressions are based on a preferred parametric space and a transformation tensor that represents the relationship between the integration and preferred parametric spaces. The test computations we present for advection-dominated cases, including 2D computations with complex meshes, show that the proposed element length expressions result in good solution profiles.


Introduction
Targeting complex geometries, in this article we introduce directional element length expressions for B-spline meshes used in flow computations with the stabilized and variational multiscale (VMS) methods, discontinuity-capturing (DC) methods, and other special methods that require a directional element length.

Stabilized and VMS methods
Stabilized and VMS methods have for decades been playing a core-method role in flow analysis with semi-discrete and space-time (ST) computational methods. The incompressibleflow Streamline-Upwind/Petrov-Galerkin (SUPG) [1,2] and compressible-flow SUPG [3][4][5] methods are two of the earliest and most widely used stabilized methods. The incompressible-flow Pressure-Stabilizing/Petrov-Galerkin (PSPG) method [6,7], with its Stokes-flow version introduced in [8], is also among the earliest and most widely used. These methods bring numerical stability in computation of flow problems at high Reynolds or Mach numbers and when using equal-order basis functions for velocity and pressure in incompressible flows. Because the methods are residual-based, the stabilization is achieved without loss of accuracy. The residual-based VMS (RBVMS) [9][10][11][12], which is now also widely used, subsumes its precursor SUPG/PSPG.

DC methods
When the flow field has a discontinuity, stabilized and VMS methods are often supplemented with a DC term, which is also called "shock-capturing term" in the context of compressible flows. Supplementing the SUPG with a DC term started as early as 1986 [13,14]. The DC term played a significant role in the evolution of the compressible-flow SUPG, which was originally introduced in 1982 in the context of conservation variables. The 1982 method is now called "(SUPG) 82 ." At its inception, (SUPG) 82 was not used with any DC term, and the need for additional stabilization at the shocks was obvious from the test computations. Then (SUPG) 82 was recast in entropy variables, but also supplemented with a DC term [15]. This, as expected, resulted in better shock profiles. In a 1991 ASME paper [16], (SUPG) 82 was supplemented with a very similar DC term. All the test computations presented in [16,17], which were among the most popular test computations at that time, showed that, with the DC term, (SUPG) 82 was very comparable in accuracy to (SUPG) 82 recast in entropy variables. The stabilized and DC methods introduced in [14] for the advectiondiffusion-reaction equation included safeguards to prevent "compounding," i.e., augmentation of the SUPG effect by the DC effect when the advection and discontinuity directions are not orthogonal.

Stabilized and VMS ST computational methods
Stabilized and VMS methods have been an important component of the ST computational methods, starting with the original Deforming-Spatial-Domain/Stabilized ST (DSD/SST) method [6,18,19] in 1990. The DSD/SST [6,20,21] was introduced for computation of flows with moving boundaries and interfaces (MBI), including fluid-structure interaction (FSI). In flow computations with MBI, the DSD/SST functions as a moving-mesh method. Moving the fluid mechanics mesh to follow an interface enables mesh-resolution control near the interface and, consequently, high-resolution boundary-layer representation near fluid-solid interfaces. Because the stabilization components of the original DSD/SST are the SUPG and PSPG stabilizations, it is now also called "ST-SUPS." The ST-VMS [22][23][24] is the VMS version of the DSD/SST. The VMS components of the ST-VMS are from the RBVMS. The ST-VMS, which subsumes its precursor ST-SUPS, has two more stabilization terms beyond those in the ST-SUPS, and the additional terms give the method better turbulence modeling features. The ST-SUPS and ST-VMS, because of the higher-order accuracy of the ST framework (see [22,23]), are desirable also in computations without MBI.

ST Slip Interface method
The ST Slip Interface (ST-SI) method was introduced in [98], in the context of incompressible-flow equations, to retain the desirable moving-mesh features of the ST-VMS and ST-SUPS in computations involving spinning solid surfaces, such as a turbine rotor. The mesh covering the spinning surface spins with it, retaining the high-resolution representation of the boundary layers, while the mesh on the other side of the SI remains unaffected. This is accomplished by adding to the ST-VMS formulation interface terms similar to those in the version of the ALE-VMS for computations with sliding interfaces [37,38]. The interface terms account for the compatibility conditions for the velocity and stress at the SI, accurately connecting the two sides of the solution. An ST-SI version where the SI is between fluid and solid domains was also presented in [98]. The SI in that case is a "fluid-solid SI" rather than a standard "fluid-fluid SI" and enables weak enforcement of the Dirichlet boundary conditions for the fluid. The ST-SI introduced in [120] for the coupled incompressible-flow and thermal-transport equations retains the high-resolution representation of the thermo-fluid boundary layers near spinning solid surfaces. These ST-SI methods have been applied to aerodynamic analysis of vertical-axis wind turbines [48,49,98], thermo-fluid analysis of disk brakes [120], flow-driven string dynamics in turbomachinery [121][122][123], flow analysis of turbocharger turbines [124][125][126][127][128], flow around tires with road contact and deformation [115,[129][130][131][132], fluid films [132,133], aerodynamic analysis of ram-air parachutes [134], and flow analysis of heart valves [111,113,116,117].
In the ST-SI version presented in [98] the SI is between a thin porous structure and the fluid on its two sides. This enables dealing with the porosity in a fashion consistent with how the standard fluid-fluid SIs are dealt with and how the Dirichlet conditions are enforced weakly with fluid-solid SIs. This version also enables handling thin structures that have T-junctions. This method has been applied to incompressibleflow aerodynamic analysis of ram-air parachutes with fabric porosity [134]. The compressible-flow ST-SI methods were introduced in [135], including the version where the SI is between a thin porous structure and the fluid on its two sides. Compressible-flow porosity models were also introduced in [135]. These, together with the compressible-flow ST SUPG method [137], extended the ST computational analysis range to compressible-flow aerodynamics of parachutes with fabric and geometric porosities. That enabled ST computational flow analysis of the Orion spacecraft drogue parachute in the compressible-flow regime [135,136].

ST Isogeometric Analysis
The success with Isogeometric Analysis (IGA) basis functions in space [26,37,55,138] motivated the integration of the ST methods with isogeometric discretization, which we broadly call "ST-IGA." The ST-IGA was introduced in [22]. Computations with the ST-VMS and ST-IGA were first reported in [22] in a 2D context, with IGA basis functions in space for flow past an airfoil, and in both space and time for the advection equation. Using higher-order basis functions in time enables deriving full benefit from using higher-order basis functions in space. This was demonstrated with the stability and accuracy analysis given in [22] for the advection equation.
The ST-IGA with IGA basis functions in time enables a more accurate representation of the motion of the solid surfaces and a mesh motion consistent with that. This was pointed out in [22,23] and demonstrated in [99,100,102]. It also enables more efficient temporal representation of the motion and deformation of the volume meshes, and more efficient remeshing. These motivated the development of the ST/NURBS Mesh Update Method (STNMUM) [99,100,102], with the name coined in [95]. The STNMUM has a wide scope that includes spinning solid surfaces. With the spinning motion represented by quadratic NURBS in time, and with sufficient number of temporal patches for a full rotation, the circular paths are represented exactly. A "secondary mapping" [22,23,29,99] enables also specifying a constant angular velocity for invariant speeds along the circular paths. The ST framework and NURBS in time also enable, with the "ST-C" method, extracting a continuous representation from the computed data and, in large-scale computations, efficient data compression [24,115,[120][121][122][123]139]. The STN-MUM and the ST-IGA with IGA basis functions in time have been used in many 3D computations. The classes of problems solved are flapping-wing aerodynamics for an actual locust [29, [99][100][101], bioinspired MAVs [96,97,102,103] and wing-clapping [104,105], separation aerodynamics of spacecraft [89], aerodynamics of horizontal-axis [45, [95][96][97] and vertical-axis [48,49,98] wind-turbines, thermo-fluid analysis of ground vehicles and their tires [24,115], thermo-fluid analysis of disk brakes [120], flow-driven string dynamics in turbomachinery [121][122][123], flow analysis of turbocharger turbines [124][125][126][127][128], and flow analysis of coronary arteries in motion [118].
The ST-IGA with IGA basis functions in space enables more accurate representation of the geometry and increased accuracy in the flow solution. It accomplishes that with fewer control points, and consequently with larger effective element sizes. That in turn enables using larger time-step sizes while keeping the Courant number at a desirable level for good accuracy. It has been used in ST computational flow analysis of turbocharger turbines [124][125][126][127][128], flow-driven string dynamics in turbomachinery [122,123], ram-air parachutes [134], spacecraft parachutes [136], aortas [111][112][113], heart valves [111,113,116,117], coronary arteries in motion [118], tires with road contact and deformation [130][131][132], and fluid films [132,133]. Using IGA basis functions in space is now a key part of some of the newest arterial zerostress-state estimation methods [113,[140][141][142][143][144][145] and related shell analysis [146].

Stabilization parameters and element lengths
In all the semi-discrete and ST stabilized and VMS methods discussed in the earlier subsections, an embedded stabilization parameter, known as "τ ," plays a significant role (see [29]). This parameter involves a measure of the local length scale (also known as "element length") and other parameters such as the element Reynolds and Courant numbers. The interface terms in the ST-SI also involve element length, in the direction normal to the interface. Various element lengths and τ s were proposed, starting with those in [1,2] and [3-5], followed by the ones introduced in [13,14]. In many cases, the element length was seen as an advection length scale, in the flow-velocity direction. The set of τ s introduced in [3-5] in conjunction with (SUPG) 82 is now called "τ 82 ." The τ definition introduced in [14], which is for the advective limit and is now called "τ SUGN1 " (and the corresponding element length is now called "h UGN "), automatically yields lower values for higher-order finite element basis functions (see [147,148]). Later, other τ definitions that are applicable to higher-order elements were proposed in [149] in the context of advective-diffusive systems. The τ used in [16] with (SUPG) 82 was a slightly modified version of τ 82 . Subsequent minor modifications of τ 82 took into account the interaction between the DC and (SUPG) 82 terms in a fashion similar to how it was done in [14] for the advection-diffusion-reaction equation. Until 2004, all these slightly modified versions of τ 82 were always used with the same DC parameter, which was introduced in the 1991 ASME paper [16] and is now called "δ 91 ." This DC parameter was derived from the one given in [15] for the entropy variables.
Calculating the τ s based on the element-level matrices and vectors was introduced in [150] in the context of the advection-diffusion equation and the Navier-Stokes equations of incompressible flows. These definitions are expressed in terms of the ratios of the norms of the matrices or vectors. They automatically take into account the local length scales, advection field and the element Reynolds number. The definitions based on the element-level vectors were shown [150,151] to address the difficulties reported at small time-step sizes. A second element length scale, in the solution-gradient direction and called "h RGN ," was introduced in 2001 [20, 152]. Recognizing this as a diffusion length scale, a new stabilization parameter for the diffu-sive limit, "τ SUGN3 ," was introduced in [20,153], to be used together with τ SUGN1 and "τ SUGN2 ," the parameters for the advective and transient limits. For the stabilized ST methods, "τ SUGN12 ," representing both the advective and transient limits, was also introduced in [20].
New ways of calculating the τ and DC parameter to be used with (SUPG) 82 were introduced in 2004 [ [153][154][155]. The new τ s, now categorized under the label "τ 04 ," have a matrix structure for viscous flows and reduce to a scalar for inviscid flows. The new DC parameters were of two types: one defined in a style the Discontinuity-Capturing Directional Dissipation [20, 155,156] parameter was defined, and one that is now called "YZβ" DC parameter. The YZβ DC parameter is residual-based, and it is simpler than δ 91 . It has options for smoother or sharper computed shocks. A number of 2D and 3D test computations with YZβ DC were reported in [157][158][159]. These computations showed that in addition to being simpler than δ 91 , the YZβ DC parameter was superior in accuracy. The computations reported in [157][158][159] were based on the compressible-flow ST SUPG.
Some new options for the stabilization parameters used with the SUPS and VMS were proposed in [21,24,94,95,99]. These include a fourth τ component, "τ SUGN4 " [24], which was introduced for the VMS, considering one of the two extra stabilization terms the VMS has compared to the SUPS. They also include stabilization parameters [24] for the thermaltransport part of the VMS for the coupled incompressibleflow and thermal-transport equations.

Directional element lengths for isogeometric discretization
The stabilization and DC parameters and element lengths discussed in the previous subsection were all originally intended for finite element discretization but quite often used also for isogeometric discretization. The element lengths and stabilization and DC parameters introduced in [172] target isogeometric discretization but are also applicable to finite element discretization. They were introduced in the context of the advection-diffusion equation and the Navier-Stokes equations of incompressible flows. The direction-dependent element length expression was outcome of a conceptually simple derivation. The key components of the derivation are mapping the direction vector from the physical ST element to the parent ST element, accounting for the discretization spacing along each of the parametric coordinates, and mapping what has been obtained in the parent element back to the physical element. The test computations presented in [172] for pure-advection cases, including those with discontinuous solution, showed that the element lengths and stabilization parameters proposed result in good solution profiles. The test computations also showed that the "UGN" parameters give reasonably good solutions even with NURBS basis functions.

Preferred parametric space and directional element lengths for simplex elements
In general, we decide what parametric space to use based on reasons like numerical integration efficiency or implementation convenience. Obviously, choices based on such reasons should not influence the method in substance. We require the element lengths, including the directional element lengths, to have node-numbering invariance for all element types, including simplex elements. The directional element length expression introduced in [173] meets that requirement. This is accomplished by using in the element length calculations for simplex elements a preferred parametric space instead of the standard integration parametric space. The element length expressions based on the two parametric spaces were evaluated in [173] in the context of simplex elements. It was shown that when the element length expression is based on the integration parametric space, the variation with the node numbering could be by a factor as high as 1.9 for 3D elements and 2.2 for ST elements. It was also shown that the element length expression based on the integration parametric space could overestimate the element length by a factor as high as 2.8 for 3D elements and 3.2 for ST elements.

Directional element lengths for B-spline elements
Targeting B-spline meshes for complex geometries, we introduce here new directional element length expressions, which are outcome of a clear and convincing derivation and more suitable for element-level evaluation. The new expressions are based on a preferred parametric space and a transformation tensor that represents the relationship between the integration and preferred parametric spaces.

Outline of the remaining sections
We provide the advection-diffusion equation in Sect. 2, and the ST method for the advection-diffusion equation in Sect. 3. The element length definitions are given, from [172], in Sect. 4, and the transformation tensor for B-spline elements are presented in Sect. 5. The test computations are presented in Sect. 6, and the concluding remarks are given in Sect. 7. The stabilization and DC parameters are given in "Appendix A".

Advection-diffusion equation
Let Ω t ⊂ R n sd be the spatial domain with boundary Γ t at time t ∈ (0, T ), where n sd is the number of space dimensions. The subscript t indicates the time-dependence of the domain. The advection-diffusion equation is written on Ω t and ∀t ∈ (0, T ) as where φ represents the quantity being transported (e.g., temperature, concentration), u is the flow velocity, and ν is the diffusivity. The essential and natural boundary conditions associated with Eq.
(1) are represented as is specified as the initial condition.

ST SUPG method
In the ST methods [6,20-23,29], the formulation is written over a sequence of N ST slabs Q n , where Q n is the slice of the ST domain between the time levels t n and t n+1 . The lateral boundary P n will have complementary subsets where essential and natural boundary conditions are enforced, just like how it is with Γ t . At each time step, the integrations are performed over Q n . The functions are continuous within an ST slab, but discontinuous from one ST slab to another, and the superscripts "−" and "+" will indicate the values of the functions just below and just above the time level. The trial solution and test function spaces are defined over Q n by using ST polynomials. Each Q n is decomposed into elements Q e n , where e = 1, 2, . . . , (n el ) n . The subscript n used with n el is for the general case where the number of ST elements may change from one ST slab to another.
We assume that we have constructed some suitablydefined finite-dimensional trial solution and test function spaces (S h φ ) n and (V h φ ) n . The ST SUPG formulation of Eq. (1) can be written as follows: where and (τ SUPG ) φ is the SUPG stabilization parameter, which will be given in "Appendix A.1". The tensor K DC is for DC, and that will be given in "Appendix A.2". We start with (φ h ) − 0 = φ 0 and apply the formulation sequentially to all ST slabs Q 0 , Q 1 , Q 2 , . . . , Q N −1 .

Element length
Element length is a key component of the stabilization and DC parameters. For the purpose of element length calculation, a scaling tensor D was introduced in [172] to take into account the polynomial order of the basis functions and other factors such as the dimensions of the element domain in the parametric space. Considering the non-diagonal nature of D in general and the context in [173], the terminology was changed to "transformation" tensor in [173].

Element metric tensor in space
We first define the Jacobian tensor as Then, based on that and D, we define the tensor where D = ∂ξ ξ ξ ∂ξ ξ ξ , withξ ξ ξ representing our preferred parametric space. For a unit vector r representing a direction in the physical space, we define the corresponding direction vector in the preferred parametric space aŝ From that, the directional element length is defined as = 2 r ·Q −T −1 (10) For notational convenience, we introduce the metric tensor and with that, Remark 1 What we get from this derivation with D = I has been used in many methods of calculating the stabilization parameters (see, for example, [29]). In those methods, a scaling factor taking the polynomial order into account is applied to the element length, and here we do the scaling in the parametric space, for each of the parametric directions.
Sweeping over all the directions represented by r, we obtain the minimum and maximum element lengths: They are equivalent to and where λ max and λ min are the maximum and minimum eigenvalues of the argument tensor.

Remark 2
In the implementation, we take measures to keep the calculated element length between h MIN and h MAX .

Element metric tensor in the ST framework
The ST Jacobian tensor is where θ is the parametric coordinate in time, and v is the mesh velocity: The ST transformation tensor is given as and the transformation becomeŝ The ST metric tensor is defined as

Formulating D for B-spline elements
We explain the concept in 1D, and that can be applied to the multiple dimensions. The parametric space is set to −1 ≤ ξ ≤ 1. We write the pth order B-spline basis functions as N p a . A position is expressed as From that, we obtain By using the Bézier extraction operator, B-spline basis functions can be represented as where B p a are the pth order Bernstein polynomials, and C a b are the coefficients constant within an element.
From Eq. (26), we write we write the inverse transformation as where C C C = [C a b ] ∈ R ( p+1)×( p+1) , and C C C −1 represents the transformation from the Bézier control points to the control points.
As the preferred parametric space, we select where the Bézier control points arê and Δξ is the Bézier-element length in the parametric space. The corresponding control points are Figure 1 illustrates the relationship between the control points and Bézier control points. Then the effective element length for a = 1, . . . , p can be calculated as From that, we define the ratio between the Bézier-element length in the parametric space and the effective element

RQD-MIN
In this version,

RQD-EL
In this version, Remark 3 Although the 1D expressions we have here for RQD-MIN, RQD-MAX and RQD-EL give the same elementlength values as those given by the expressions in [172], the expression forms are rather different. The forms we have here are outcome of a clear and convincing derivation. They are more suitable for element-level evaluation. They have straightforward extensions to multiple dimensions.

Extension to multiple dimensions
We split the Bézier extraction operator by direction and express the basis functions as where n pd is the number of parametric dimensions, the superscript i indicates the direction, and d i a is the mapping table from the element control-point index to the corresponding local index in the ith direction. From the Bézier extraction operator C C C i for direction i, we get the coefficient D i , and D i j = D i δ i j (no sum), where δ i j is the Kronecker delta.

Scaling study in 1D
Because the 1D expressions for RQD-MIN, RQD-MAX and RQD-EL give the same element length values as those given by the expressions in [172] (see Remark 3), for completeness, we include here the results from the 1D scaling study reported in [172]. The results included here are for RQD-MAX, RQD-EL, and RQD-1, which has D = 1.
The flow is from left to right, |u| = 1, and ν = 0.0. We are working with nondimensional numbers. The boundary conditions are φ = 1 at x = 0 and φ = 0 at x = 1. We use 4 different meshes, all consisting of a single uniform B-spline We see that RQD-1 yields results that are overdamped. We get good solutions with RQD-EL and β = 1, but there are small oscillations when the problem is underresolved, even though the oscillations are not visible in the plots. Overall, we see RQD-MAX with β = 1 as giving the best solution. It gives better and better solutions with higher and higher number of elements, and there is no oscillation even when we have just one element.

Advection skew to the mesh
The problem setup, which originates from [1] and was also used in [14] to test the SUPG method supplemented with new DC methods, is shown in Figure 4.
The domain size is 1.0×1.0, and the test computations are for θ = 63.4 • and ν = 1.0×10 −6 . We are working with nondimensional numbers. Even though we have a simple, square domain in the test computations, the mesh is complex because it is made of many NURBS patches, with different shapes and orientations (see Figure 5). The B-spline patches are with polynomial order 8, because that makes it easier to

Zalesak's solid-body rotation over a square domain
We compute the Zalesak's solid-body rotation problem [174] with the same computational domain and mesh we used for the advection skew to the mesh. The stabilization parameter is as given by Eq.  number of time steps per rotation is 320 (see also [22] for the problem setup). We compute with and compare RQD-MAX and RQD-I. Figure 12 shows the initial condition. Figures 13, 14, 15  and 16 show, for the four test combinations, the solution after a full rotation. For both β = 1 and β = 2, RQD-MAX performs better. As expected, β = 2 is better in this test problem because beyond the initial condition, there is no mechanism to sustain the discontinuity.

Concluding remarks
Stabilization parameters embedded in most of the stabilized and VMS methods almost always involve element lengths, most of the time in specific directions, such as the direction of the flow or solution gradient. These methods are sometimes supplemented with DC methods, and the DC parameters embedded in those also most of the time involve directional element lengths. Until recently, expressions for element lengths and stabilization and DC parameters originally intended for finite element discretization were being used also for isogeometric discretization. Recently, expressions targeting isogeometric discretization were introduced for ST and semi-discrete computations, and the expressions are also applicable to finite element discretization. The key stages of deriving those directional element length expressions were mapping the direction vector from the physical (ST or space-only) element to the parent element in the parametric space, accounting for the discretization spacing along each of the parametric coordinates, and mapping what has been obtained back to the physical element. Going beyond that and targeting B-spline meshes for complex geometries, we introduced in this article new element length expressions, which are outcome of a clear and convincing derivation and more suitable for element-level evaluation. The new expressions are based on a preferred parametric space and a transformation tensor that represents the relationship between the integration and preferred parametric spaces. The test computations we presented for advectiondominated cases, including 2D computations with complex meshes, show that the new element length expressions result in good solution profiles. Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecomm ons.org/licenses/by/4.0/.

A.1 Stabilization parameter
The stabilization parameter (τ SUPG ) φ is made of two components: The first component is given as Alternatively, we can split τ SUGN12 into two and define (τ SUPG ) φ to be made of three components: where and Δt is the time-step size. The last component is defined as where and because ∇ ∇ ∇φ could be zero, we modify the expression for τ −1 SUGN3 as Here ( ∇ ∇ ∇φ ) 0 is a reference value of ∇ ∇ ∇φ , and is a small constant.

A.2 DC parameter
The YZβ DC [153][154][155] has the form where Y = φ REF , which is a reference value, and β = 1 or 2. The element length h DC is set to h RQD , or some other direction-dependent element length expression.