¿Cómo incorporar las condiciones de contorno con el método Galerkin?

21

He estado leyendo algunos recursos en la web sobre los métodos de Galerkin para resolver PDEs, pero no tengo claro algo. Lo siguiente es mi propio relato de lo que he entendido.

Considere el siguiente problema de valor límite (BVP):

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

donde es un operador de diferenciación lineal de segundo orden, Ω R 2 es el dominio del BVP, Ω es el límite del dominio y S es un operador diferencial lineal de primer orden. Exponga u ( x , y ) como una aproximación de la forma:LΩR2ΩSu(x,y)

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

donde el son un conjunto de funciones que vamos a utilizar para aproximar u . Sustituyendo en el BVP:giu

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

Como nuestra aproximación no es exacta, la residual no es exactamente cero. En el método de Galerkin-Ritz-Raleigh minimizamos R con respecto al conjunto de aproximar funciones requiriendo R , g i= 0 . Por lo tantoRRR,gi=0

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

Por lo tanto, para encontrar los coeficientes , debemos resolver la ecuación matricial:ai

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

Mi pregunta es: ¿Cómo incorporo las condiciones de contorno en esto?

EDITAR: Originalmente, la pregunta decía que era un operador diferencial lineal de segundo orden. Lo cambié a un operador diferencial lineal de primer orden.S[u]

llamar
fuente
1
becko, bienvenido a scicomp! Nuestra política de publicación cruzada sigue la de otros sitios de Stack Exchange . Está permitido realizar publicaciones cruzadas si adapta la misma pregunta (más o menos) a diferentes audiencias. Es permisible hacer que su pregunta se migre a otro sitio después de un tiempo, si considera que su pregunta no está siendo respondida satisfactoriamente (o no se responde) en el sitio donde se publicó inicialmente.
Geoff Oxberry
Sin embargo, en general, se considera un comportamiento abusivo al poste cruzado. Si observa la lista de sitios beta en el Área 51, muchos de ellos todavía están en versión beta pública después de un año. Todavía vamos a estar cerca por un tiempo (al menos en una escala de tiempo más larga de lo que se necesita para responder a la mayoría de las preguntas en este sitio). Además, a menos que los mathusuarios que responden a su pregunta también sean scicompusuarios, no obtendrán el crédito o la atribución adecuados por su respuesta aquí scicompsi los copia y pega math, y viceversa.
Geoff Oxberry
1
¿Estás seguro de que también es un operador de segundo orden? En general, ese no es un problema bien planteado. Por ejemplo, si S = L , entonces está solicitando L u = 0 en ˉ Ω que tiene soluciones terriblemente no únicas (por ejemplo, la solución de la PDE en cualquier dominio más grande con cualquier condición de límite también es una solución). Por lo general, pedimos que S sea ​​un operador de primer orden (posiblemente no lineal). SS=LLu=0Ω¯S
Jed Brown
2
Incluso si , todavía está buscando soluciones no únicas. Considere si L es el operador de laplace y S es cualquier otro operador lineal de segundo orden. Entonces cualquier u tal que u = k para algún vector constante k se puede agregar a una solución para hacer otra solución. SLLSuu=kk
Dan
1
@GeoffOxberry Para su tranquilidad, la pregunta duplicada en mathha sido eliminada. Obviamente tenías razón al mantener la pregunta aquí. He recibido respuestas muy útiles.
Becko

Respuestas:

15

A respuestas rápidas y generales sin abstracciones matemáticas. Hay varias opciones para imponer condiciones de contorno, p. Ej.

Estrictamente hablando, el método de Galerkin requiere que elija un conjunto de funciones básicas que satisfagan el BC del problema (por ejemplo, mediante recombinación de base y / o división de la aproximación con u 0 responsable de las soluciones no homogéneas y u N una suma parcial que se basa en funciones básicas que satisfacen las condiciones homogéneas)uh=u0+uNu0uN

  • Métodos de penalización / Lagrange se multiplica cuando uno esencialmente agrega un término de penalización que incorpora la condición límite, por ejemplo, A + donde B es una matriz responsable de la condición de límite discreta y b p es responsable de términos no homogéneos. En el límite τ las condiciones se imponen fuertemente y, de lo contrario, se imponen débilmente. Elección de ττB=b+τbpBbpττ afecta el condicionamiento del sistema.

  • Método de Tau donde se intercambian varias ecuaciones (modificación de filas en el sistema Galerkin) con versiones discretas de condiciones de contorno que luego se aplican explícitamente. Nota: una opción también es hacer que los sistemas estén sobredeterminados con condiciones de contorno adicionales.

  • Antes de la discretización (Método Ritz), reescriba la formulación de Galerkin mediante el teorema de divergencia de Gauss para transformar las integrales de volumen en integrales de límite y luego incorporar (exacto o aproximadamente) las condiciones de límite directamente en la formulación antes de la discretización.

  • Finalmente, al explotar la conexión entre expansiones nodales / modales también es posible derivar un método de Galerkin nodal donde la solución al sistema son los coeficientes de una base de Lagrange en lugar de una base modal.

Allan P. Engsig-Karup
fuente
1
supongo es λ , ¿no? τλ
shuhalo
Sí. corregido
Allan P. Engsig-Karup
1
¿Debería leer "El método de Galerkin requiere que elija un conjunto de funciones básicas que satisfagan el BC del problema"?
knl
@knl: Yo también lo creo, mientras que la otra oración no tiene sentido. Haré una edición.
davidhigh
7

Una posibilidad es ensamblar la matriz del sistema y el vector del lado derechoA, con los grados de libertad prescritos como incógnitas, como cualquier otro grado de libertad. Luego, A y b se modifican poniendo a cero las filas y columnas asociadas con los dof prescritos, y colocando uno en la entrada diagonal correspondiente, y modificando adecuadamente el vector rhs bbAbb .

Cuando pone a cero las filas, coloque una en la diagonal y cambie las rhs para que aplique el valor prescrito, el sistema ya no es simétrico. Es por eso que pone a cero columnas y modifica el vector rhs b para tener en cuenta el valor prescrito.

Otra posibilidad es agregar un número muy grande (generalmente 1e10) a la diagonal del dof prescrito y luego establecer la entrada de rhs en p * ˉ upu¯ , donde es el valor prescrito de ese dof.u¯

Bernardo MR
fuente
6

El problema general de lidiar con las condiciones de contorno con el método de elementos finitos puede ser bastante complicado. Pero si:

  • es tal que la única imposición que S ( u ) = 0 hace en forma de u es que es igual a alguna f ( x , y )S(u)S(u)=0uf(x,y) en .δΩ

  • Puede determinar sus elementos para que esté completamente en los límites de varios elementosδΩ

En realidad es muy simple. Su ecuación:

necesidades para ser reemplazados con (

(L[sol1],sol1...L[solnorte],sol1.........L[sol1],solnorte...L[solnorte],solnorte)(un1...unnorte)=0 0
(L[sol1],sol1...L[solnorte],sol1.........L[sol1],solnorte...L[solnorte],solnorte)(un1...unnorte)=si

donde el vector lado derecho representa las condiciones de contorno.si

Para determinar , establezca los elementos de su base que determinan el valor de u en δ Ω a los valores que necesitan ser para satisfacer las condiciones de contorno. En L [ g j ] , g i , debe excluirlos de la g j pero no la g i (los elementos de una ya se haya determinado que corresponden a estas funciones, por lo que no deben ser incluidos en la matriz ecuación) A continuación, configure R , g i= j =situδΩL[solj],solyosoljsolyouncomo una ecuación matricial, y los valores de los elementos debdebe salir bien como los productos interiores deLoperativo en su su base interior con elementos de su base límite.

R,solyo=j=1norteunjL[solj],solyo=0 0
siL
Dan
fuente
Gracias por la respuesta Dan. No entiendo el párrafo que comienza "Para determinar ..." (que es la parte esencial, creo). ¿Podrías hacerlo un poco más explícito? si
Becko
Por otro lado, el problema que estoy tratando de resolver solo satisface la segunda condición que estableces: el límite es un rectángulo. En cuanto a la primera condición, las condiciones de contorno no especifican los valores de la función en el límite. Las condiciones de contorno especifican los valores de combinaciones lineales de las segundas derivadas de orden de la función (algo así como , donde un , b son constantes. También las condiciones de contorno son homogéneas. un2tu/ /Xy+si2tu/ /X2=0 0)un,si
atrae
@becko: es posible que desee ser más explícito sobre lo que y S están en su pregunta. Los diferentes tipos de condiciones de contorno se pueden manejar de diferentes maneras. LS
Dan
1
Creo que edité un poco la pregunta para aclararla. No quiero publicar el problema exacto que estoy tratando de resolver porque quiero mantener la pregunta lo más general posible. Creo que puedo entender mejor el método de esa manera.
Becko
@becko: Es posible que queramos mover esto al chat , ya que se está haciendo algo largo.
Dan
2

Aquí hay un método conocido como recombinación de base , que no se ha mencionado en el presente hilo. Cito del libro de JP Boyd, "Métodos espectrales de Chebyshev y Fourier", segunda edición, capítulo 6.5 .:

Ltu=F
si(X)v(X)sol(X)
tu(X)v(X)+si(X)sol(X)F(X)-Lsi(X)
Lv=sol
v(X)

si(X)

Luego viene mi propia explicación:

  • Xtu(X,y)El |X=X0 0=1)

    si(X)

    Xtu(X,y)El |X=X0 0=0.
  • tu(X,y) = yojunyojϕyo(X)φj(y)
    Xtu(X,y) = yojunyojϕyo(X)φj(y)
    X=X0 0
  • ϕyo(X)ϕyo(X)El |X=X0 0=0 0yo

  • =1ϕyo(X)El |X=X0 0=1

    Xtu(X,y)El |X=X0 0 = yojunyojφj(y)
    1yunyoj

Lo bueno de todo este enfoque es que está trabajando en un nivel relativamente abstracto. Los ingredientes necesarios son solo la linealidad del operador BC y un ansatz en términos de funciones básicas del producto. Como tal, también es aplicable a métodos aproximados.

davidhigh
fuente