MEF: singularidade da matriz de rigidez

11

(σ2(x)u(x))=f(x),0x1
u(0)=u(1)=0u(0)=u(1)=0σ(x)σ0>0Au=fA

Seguindo o esquema do FEM, reduzo meu problema a um problema de otimização

J(u)=(Au,u)2(f,u)minu
Eu introduzo elementos finitos hk(x) como
vk(x)={1(xxkh)2,x[xk1,xk+1]0,otherwise
para qualquer k=1,,n1 , em que xk=hk , h=1n . Os elementos finitos v0(x) e vn(x) são introduzidos de maneira semelhante.

Eu tento encontrar numericamente o vetor α forma que u(x)=k=0nαkvk(x) resolva o problema de otimização. Temos

J(u)=i=0nj=0nαiαj(Avi,vj)i=0n2αi(vi,f)=αTVα2αTbminα,
onde bi=(f,vi) e Vi,j=(Avi,vj) . Após diferenciação em relação a α , recebo
Vα=b,
mas aqui a matriz de rigidez V é singular. Então o que eu tenho que fazer? Talvez eu tenha que escolher outros elementos finitos?
Apliques
fonte
Olá, Nimza, você tem um problema de teste que sabe a solução exata? Se sim, tente resolver VTVα=VTb primeiro para testar se sua base está correta dentro do domínio, se tudo parece correto, então talvez seja o BC incorretamente posicionado que torna a matriz singular. Mas o BC parece bom para mim.
Shuhao Cao 12/04

Respostas:

13

Em ordem decrescente de probabilidade

  1. Base incorreta. Na sua descrição, parece que você tem exatamente duas funções quadráticas com suporte em cada elemento. Esse espaço não é uma partição da unidade e não é (primeiras derivadas contínuas). Para discretizar seu problema de quarta ordem diretamente (em vez de reduzi-lo a um sistema de equações de segunda ordem, por exemplo), você precisará de uma base . Observe que a base deve ser capaz de reproduzir exatamente todas as funções lineares.C1C1C1

  2. Condições de contorno insuficientes. Isso será óbvio se você calcular e plotar o espaço nulo.

  3. Montagem incorreta. Verifique o mapa dos elementos para a ordem montada para confirmar se é o que você esperava, por exemplo, que não está invertendo a orientação dos elementos.

  4. Montagem local incorreta. Em 1D, você pode calcular analiticamente como é a matriz de rigidez do elemento (talvez para um caso simplificado) e verificar se o código a reproduz.

Jed Brown
fonte
Obrigado. 1. Acho que vou precisar de uma base porque . Então, se eu considerar apenas funções que satisfazem as condições de contorno, . C2(Au,v)=01σ2(x)u(x)v(x)dxkerA={0}
Appliqué
1
Uma base é suficiente, o integrando não precisa ser contínuo. Observe que as condições de contorno nas segundas derivadas se tornarão uma integral de contorno. Você pode usar uma base para discretização direta de um problema de quarta ordem, mas precisará integrar termos de salto como nos métodos descontínuos de Galerkin para sistemas de primeira e segunda ordem. Não é um método ruim, mas é desnecessariamente complicado em 1D porque é muito fácil construir bases com qualquer ordem de continuidade (por exemplo, splines). Este artigo é um exemplo de " DG". C1C0C0
precisa
Está bem. minha base: agora em e . Agora é . Mas o método ainda não funciona. vk(x)=cos2(π2h(xxi))[xi1,xi+1]i=1,,n1C1
Appliqué
A base deve ser capaz de reproduzir funções lineares, mas isso não pode. Depois de corrigir isso, verifique se as integrais estão sendo executadas corretamente e verifique as condições de contorno. C1
22812 Jed Brown
0

Claramente, o problema tem um derivado de ordem ímpar. Mais especificamente, para números maiores de Péclet , a matriz de rigidez pode não manter a forma 'fina', o que cria zeros durante a montagem e, portanto, fica determinante singular ou, às vezes, muito pequeno, perceptível pelas oscilações no gráfico da solução.

A solução para esse tipo de problema é o uso de penalidade, entre outros métodos. Mais especificamente, isso é chamado de método Petrov-Galerkin .

Desculpe pela minha má compreensão do inglês.

Sohail Ahmed
fonte