Definição de espaços de elementos finitos e funções de base globais.
Classes¶
FunctionSpace¶
Espaço de elementos finitos de Lagrange ordem 1 (P1/Q1).
Parâmetros:
mesh: ObjetoMeshsubjacentefamily: Família de elementos finitos (atualmente apenas"Lagrange"é suportado)degree: Grau polinomial (apenas grau 1 implementado)
Atributos:
mesh: Malha associadafamily: Família do elemento (padrão:"Lagrange")degree: Grau do elemento (padrão:1)element: ObjetoLagrangeElementcriado automaticamente
Propriedades:
ndofs: Número de graus de liberdade globaisdim: Dimensão espacial do espaço de elementos finitos
Exemplo:
from fempack.mesh import UniformMesh1D
from fempack.spaces import FunctionSpace
mesh = UniformMesh1D(0.0, 1.0, 10)
V = FunctionSpace(mesh, family="Lagrange", degree=1)
print(f"Número de DOFs: {V.ndofs}")
print(f"Dimensão: {V.dim}")Function¶
Função de elementos finitos associada a um FunctionSpace.
Parâmetros:
V: Espaço de elementos finitos ao qual a função pertencevalues: Array opcional de valores nodais (se omitido, inicializa com zeros)
Atributos:
V: Espaço de elementos finitosvalues: Array NumPy dos valores nodais
Métodos:
nodal_values(): Retorna os valores nodais como array NumPy
Exemplo:
from fempack.mesh import UniformMesh1D
from fempack.spaces import FunctionSpace, Function
import numpy as np
mesh = UniformMesh1D(0.0, 1.0, 10)
V = FunctionSpace(mesh)
# Função com zeros
u = Function(V)
# Função com valores específicos
x = mesh.vertices
u_exact = Function(V, values=np.sin(np.pi * x))
print(u_exact.nodal_values())Veja: código fonte.