The default integration method in RFEM is a Gauss-Lobatto quadrature with nine integration points. This default setting is sufficient for most cases. In order to represent nonlinear stress-strain diagrams with a sufficient accuracy (for example, in the case of steel fiber-reinforced concrete), it can be useful to increase the number of integration points. Therefore, when using nonlinear material , it is possible to customize the number of integration points in each layer between three and 99 points (see image Adjusting Integration Points for Layers ). Please note, however, that a higher number of integration points results in a longer calculation time.
Furthermore, three different integration methods are available for selection (see image Specifying Integration Method ):
- Gauss-Lobatto quadrature
- Simpson's rule
- Trapezoidal rule
These integration methods, also known as quadrature formulas, are explained below. In general, it can be assumed that the Gauss-Lobatto quadrature with a fixed number of integration points provides the highest accuracy without significantly increasing the computational effort. The trapezoidal or the Simpson's rule only leads to a better result in special cases.
Quadrature Formulas
The goal of a quadrature formula is to calculate a numerical approximation to an integral. For this, support points are selected in the integration domain and the weighted function evaluations are added at these points. The calculation of a moment is used as an example for the following explanations.
d is the height of any layer in a multilayer surface. The program then tries to approximate the integral as follows:
For this, n grid points −d/2 ≤ z1 < z2 < . . . < zn ≤ d/2 over the height of the layer, as well as scalar weights ω1, . . . , ωn are required that are specific to the respective quadrature formula.
RFEM always uses an uneven number n = 2k + 1 of grid points and at least the top, middle, and bottom of the layer is selected as integration points. It thus results in z1 = −d/2, zk = 0, and zn = d/2. This is necessary so that the stress values at these locations can be calculated exactly and then displayed in the program. If you set an even number of grid points, the next highest uneven number is used for the calculation.
The degree of accuracy of a quadrature formula is given in its order p. This is the highest degree of a polynomial, which is exactly integrated.
Trapezoidal rule
A simple example of a quadrature formula is the trapezoidal rule. In this case, the two outer edges of the integration domain are selected as support locations; that is, z1 = −d/2 and z2 = d/2. The trapezoidal rule is of the first order, since linear functions are integrated exactly, but quadratic functions are not.
In the case of the variant of the cumulative trapezoidal rule used in RFEM, if you select n integration points, the integration interval is divided equidistantly into n − 1 partial intervals and the trapezoidal rule is applied to each of them.
The following figure shows an example of the summed up trapezoidal rule for five integration points.
Simpson's rule
Simpson's rule is a third-order quadrature formula that uses three integration points – two on the edges and one in the center of the integration region. The weights are selected in such a way that the approximate solution corresponds to the integral over a parabola that runs through these three points. With z1 = −d/2, z2 = 0, and z3 = d/2, we obtain the shape:
RFEM also uses a built-up quadrature here. If there is an uneven number n of support points, (n − 1)/2 equally long partial intervals are obtained to which Simpson's rule can be applied. The figure shows this again as an example for five integration points.
Gauss-Lobatto quadrature
In the Gauss-Lobatto quadrature, the two boundary points z1 = −d/2 and zn = d/2 are always specified as supporting locations and all other integration points are selected in such a way that the highest possible order is achieved. This is p = 2n − 3. For n = 3, the Gauss-Lobatto quadrature is equivalent to the Simpson's rule; for n = 5, for example: