Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

fempack.quadrature

LNCC - Laboratório Nacional de Computação Científica

Regras de quadratura numérica para integração em elementos finitos.

Classes

QuadratureRule

Regra de quadratura numérica em uma célula de referência.

Parâmetros:

Funções de Quadratura

gauss_legendre_interval(n)

Regra de Gauss-Legendre no intervalo físico [0, 1].

Parâmetros:

Retorna: QuadratureRule exata para polinômios até grau 2n-1

gauss_legendre_reference_interval(n)

Regra de Gauss-Legendre no intervalo de referência [-1, 1].

Parâmetros:

Retorna: QuadratureRule exata para polinômios até grau 2n-1

tensor_product_square_reference(rule_1d)

Constrói regra de produto tensorial no quadrado de referência.

Parâmetros:

Retorna: QuadratureRule no quadrado de referência com o mesmo grau de exatidão em cada direção coordenada

triangle_quadrature(order)

Regra de quadratura no triângulo de referência.

Parâmetros:

Retorna: QuadratureRule apropriada para triângulos

Exemplo

from fempack.quadrature import gauss_legendre_interval, QuadratureRule

# Regra de Gauss-3 (exata até grau 5)
quad = gauss_legendre_interval(3)
print(quad.points.shape)  # (3, 1)
print(quad.weights.shape)  # (3,)
print(quad.degree)  # 5

# Integrar função no intervalo [0,1]
import numpy as np
f = lambda x: x**2
result = np.sum(quad.weights * f(quad.points[:, 0]))
print(f"Integral: {result}")  # 0.333...

Veja o código fonte.