Como incorporar as condições de contorno com o método Galerkin?

21

Eu tenho lido alguns recursos na web sobre os métodos de Galerkin para resolver PDEs, mas não tenho certeza sobre alguma coisa. A seguir, é minha própria descrição do que entendi.

Considere o seguinte problema de valor limite (BVP):

L[u(x,y)]=0on(x,y)Ω,S[u]=0on(x,y)Ω

onde L é um operador de diferenciação linear de 2ª ordem, ΩR2 é o domínio do BVP, Ω é o limite do domínio e S é um operador diferencial linear de 1ª ordem. Expense u(x,y) como uma aproximação do formulário:

u(x,y)i=1Naigi(x,y)

onde gi é um conjunto de funções que usaremos para aproximar-se de u . Substituindo no BVP:

iaiL[gi(x,y)]=R(a1,...,aN,x,y)

Como nossa aproximação não é exata, o R residual Rnão é exatamente zero. No método Galerkin-Ritz-Raleigh, minimizamos R em relação ao conjunto de funções aproximadas, exigindo R,gi=0 . Conseqüentemente

R,gi=j=1NajL[gj],gi=0

Portanto, para encontrar os coeficientes ai , devemos resolver a equação da matriz:

(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=0

Minha pergunta é: como incorporar as condições de contorno a isso?

EDIT: Originalmente, a pergunta dizia que S[u] era um operador diferencial linear de 2ª ordem. Eu mudei para um operador diferencial linear de 1ª ordem.

becko
fonte
1
becko, bem-vindo ao scicomp! Nossa política de postagem cruzada segue a de outros sites do Stack Exchange . É permitido publicar mensagens cruzadas se você adaptar a mesma pergunta (mais ou menos) a diferentes públicos. É permitido que sua pergunta seja migrada para outro site depois de algum tempo, se você achar que sua pergunta não está sendo respondida satisfatoriamente (ou de todo) no site em que foi postada inicialmente.
Geoff Oxberry
No entanto, geralmente é considerado comportamento abusivo fazer postagens cruzadas. Se você olhar a lista de sites beta na Área 51, muitos deles ainda estarão em beta público depois de um ano. Ainda estaremos por um tempo (pelo menos em uma escala de tempo mais longa do que a maioria das perguntas neste site para serem respondidas). Além disso, a menos que os mathusuários que responderem à sua pergunta também sejam scicompusuários, eles não receberão crédito ou atribuição adequados pela resposta aqui, scicompse você copiar e colar mathe vice-versa.
Geoff Oxberry
1
Você tem certeza de que também é um operador de segunda ordem? Em geral, esse não é um problema bem colocado. Por exemplo, se , você está pedindo em que possui soluções horrivelmente não exclusivas (por exemplo, a solução do PDE em qualquer domínio maior com condições de contorno também é uma solução). Normalmente, solicitamos que seja um operador de primeira ordem (possivelmente não linear). S = G G u = 0 ˉ ohms SSS=LLu=0Ω¯S
precisa
2
Mesmo se , você ainda está procurando soluções não exclusivas. Considere se é o operador laplace e é qualquer outro operador linear de segunda ordem. Então, qualquer tal que para algum vetor constante possa ser adicionado a uma solução para criar outra solução. L S u u = k kSLLSuu=kk
18412 Dan
1
@ GeoffOxberry Para sua tranquilidade, a pergunta duplicada em mathfoi excluída. Obviamente, você estava certo em manter a pergunta aqui. Eu recebi respostas muito úteis.
Becko

Respostas:

15

Respostas rápidas e gerais, sem abstrações matemáticas. Existem várias opções para impor condições de contorno, por exemplo

Estritamente falando, o método Galerkin exige que você escolha um conjunto de funções que satisfaçam o BC do problema (por exemplo, através da recombinação de bases e / ou divisão da aproximação com responsável por soluções não homogêneas e uma soma parcial que depende de funções básicas que satisfazem as condições homogêneas)u 0 u Nuh=u0+uNu0uN

  • Métodos de penalidade / Lagrange multiplica onde se adiciona essencialmente um termo de penalidade que incorporou a condição de contorno, por exemplo, A + que é uma matriz responsável pela condição de contorno discreta e é responsável por termos não homogêneos. No limite as condições são fortemente impostas e, caso contrário, são fracamente impostas. A escolha de afeta o condicionamento do sistema. B b p τ ττB=b+τbpBbpττ

  • Método Tau, onde são trocadas várias equações (modificação de linhas no sistema Galerkin) com versões discretas das condições de contorno, que são aplicadas explicitamente. Nota: uma opção também é tornar os sistemas sobredeterminados com condições adicionais de contorno.

  • Antes da discretização (Método Ritz), reescreva a formulação de Galerkin por meio do teorema da divergência de Gauss para transformar integrais de volume em integrais de limite e, em seguida, incorporar (exatas ou aproximadamente) condições de contorno diretamente na formulação antes da discretização.

  • Finalmente, explorando a conexão entre expansões nodais / modais, também é possível derivar um método nodal de Galerkin, em que a solução para o sistema são os coeficientes de uma base de Lagrange em vez de uma base modal.

Allan P. Engsig-Karup
fonte
1
Eu acho que é , não é? λτλ
shuhalo 21/02/12
Sim. corrigido.
Allan P. Engsig-Karup
1
Deveria ler "O método Galerkin exige que você escolha um conjunto de funções básicas que satisfaçam o BC do problema"?
KNL
@knl: Eu acho que sim, enquanto a outra frase não faz sentido. Eu vou fazer uma edição.
Davidhigh 21/0318
7

Uma possibilidade é montar a matriz do sistema e o vetor do lado direito , com os graus de liberdade prescritos como desconhecidos, como qualquer outro grau de liberdade. Então, e são modificados zerando linhas e colunas associadas aos DOFs prescritos, colocando um um na entrada diagonal correspondente e modificando adequadamente o vetor rhs .b A b bAbAbb

Quando você zera linhas, coloca uma na diagonal e altera os rhs para aplicar o valor prescrito, o sistema não é mais simétrico. É por isso que você zera colunas e modifica o vetor rhs para contabilizar o valor prescrito.b

Outra possibilidade é adicionar um número muito grande (geralmente 1e10) à diagonal do dof prescrito e defina a entrada rhs como p * , onde é o valor prescrito desse dof.ˉ u ˉ upu¯u¯

Bernardo MR
fonte
6

O problema geral de lidar com condições de contorno com o método dos elementos finitos pode ser bastante complicado. Mas se:

  • S ( u ) = 0 u f ( x , y ) δ ΩS(u) é tal que a única imposição que faz na forma de é que é igual a algum em .S(u)=0uf(x,y)δΩ

  • Você pode organizar seus elementos de forma que esteja inteiramente nos limites de vários elementosδΩ

é realmente muito simples. Sua equação:

(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=0
precisa ser substituído por
(L[g1],g1L[gN],g1L[g1],gNL[gN],gN)(a1aN)=b

onde o vetor do lado direito representa as condições de contorno.b

Para determinar , defina os elementos de sua base que determinam o valor de on para quaisquer valores que eles precisem para satisfazer as condições de contorno. Em , você deve excluí-los do mas não do (os elementos de que correspondem a essas funções já foram determinados, portanto eles não devem ser incluídos no a equação da matriz). Em seguida, configure como uma equação da matriz e os valores dos elementos de deve aparecer como os produtos internos dabuδΩL[gj],gigjgia

R,gi=j=1NajL[gj],gi=0
bL operando em sua base interior com elementos de sua base de fronteira.
Dan
fonte
Obrigado pela resposta Dan. Não entendo o parágrafo que começa com "Para determinar ..." (que é a parte essencial, eu acho). Você poderia torná-lo um pouco mais explícito? b
Becko
Por outro lado, o problema que estou tentando resolver satisfaz apenas a segunda condição definida: o limite é um retângulo. Quanto à primeira condição, as condições de contorno não especificam os valores da função no limite. As condições de contorno especificam os valores das combinações lineares das derivadas de segunda ordem da função (algo como , onde são constantes. Também as condições de contorno são homogêneas. a2u/xy+b2u/x2=0)a,b
Becko
@ Becko: Você pode querer ser mais explícito sobre o que e estão em sua pergunta. Diferentes tipos de condições de contorno podem ser tratados de maneiras diferentes. LS
18412 Dan
1
Eu editei a pergunta um pouco para torná-la mais clara, eu acho. Não quero postar o problema exato que estou tentando resolver, porque quero manter a pergunta o mais geral possível. Acho que posso entender melhor o método dessa maneira.
Becko
@ Becko: Podemos querer mudar isso para o chat , pois está ficando um pouco longo.
1855 Dan
2

Aqui está um método conhecido como recombinação de base , que não foi mencionado no presente thread. Estou citando o livro de JP Boyd, "Chebyshev e Fourier Spectral Methods", 2ª Ed., Capítulo 6.5:

Se o problema tiver condições de contorno não homogêneas, ele sempre poderá ser substituído por um problema equivalente com condições de contorno homogêneas, desde que as condições de contorno sejam lineares. O primeiro passo é escolher uma função simples que satisfaça as condições de contorno não homogêneas. Pode-se então definir uma nova variável e uma nova função forçante via de modo que o problema modificado é onde satisfaz condições de contorno homogêneas. ...

Lu=f
B(x)v(x)g(x)
u(x)v(x)+B(x)g(x)f(x)LB(x)
Lv=g
v(x)

A função de deslocamento é arbitrária, exceto pela restrição de que ela deve satisfazer todas as condições de fronteira não homogêneas. No entanto, a escolha mais simples é a melhor: interpolação polinomial da ordem mais baixa que funciona.B(x)

Em seguida, vem minha própria explicação:

  • "Condição de fronteira não homogênea" significa uma condição que contém uma constante, por exemplo,

    xu(x,y)|x=x0=1.

    De acordo com o programa acima, escolhendo uma função conveniente , você a reduz para B(x)

    xu(x,y)|x=x0=0.
  • Depois de tornar homogêneas todas as condições de contorno, você pode voltar para a expansão da sua base (que eu assumo que é feita em termos de base do produto): Aplicando o operador BC correspondente, obtém-se e deve ser zero para acordo com o exemplo acima.

    u(x,y) = ijaijϕi(x)φj(y)
    xu(x,y) = ijaijϕi(x)φj(y)
    x=x0
  • Agora vem o passo crucial : usando uma base que já satisfaz o BC por si só, ou seja, para todos os , o BC do ( transformado) problema bidimensional são satisfeitos automaticamente ! Conjuntos de bases desse tipo e similares podem ser encontrados, por exemplo, por um procedimento chamado "recombinação de bases" (que é frequentemente usado em combinação com métodos de colocação).φ ' i ( x ) | x = x 0 = 0 iϕi(x)ϕi(x)|x=x0=0i

  • Observe que este é o ponto em que as condições de contorno homogêneas realmente importam, porque, caso contrário, seria necessário impor restrições adicionais. Por exemplo, suponha que estaríamos trabalhando com a condição " " acima e, correspondentemente, vamos tentar usar uma base com . Então e para tornar essa expressão igual a para todo , seria necessário restringir os coeficientes de expansão . Assim, para BCs não homogêneos, existe uma maneira geral de aplicar as restrições às partes unidimensionais, mas usá-las para o problema completo.φ ' i ( x ) | x = x 0 = 1 x u ( x , y ) | x = x 0 = i j a i j=1ϕi(x)|x=x0=1

    xu(x,y)|x=x0 = ijaijφj(y)
    Y um i j1yaij

O bom de toda essa abordagem é que ela está trabalhando em um nível relativamente abstrato. Os ingredientes necessários são apenas linearidade do operador BC e uma ansatz em termos de funções da base do produto. Como tal, também é aplicável a métodos aproximados.

davidhigh
fonte