Cómo implementar una condición de contorno de Neumann en el método de diferencia finita

Consideremos una condición límite de Neumann: [matemática] \ frac {\ partial u} {\ partial x} \ Big | _ {x = 0} = \ beta [/ math]

Tiene 2 formas de implementar una condición de contorno de Neumann en el método de diferencia finita:

  1. El primero se llama “discretización descentrada de la condición de frontera”

Utilizará una aproximación de la condición de contorno utilizando un esquema de diferencia finita pero descentrado. Utilizará el valor de [math] u_ {0} [/ math]:

[matemáticas] \ frac {\ partial u} {\ partial x} \ Big | _ {0} = \ beta \ approx \ frac {u_ {1} -u_ {0}} {\ Delta x} = \ beta [/ matemáticas]

Luego obtienes el valor de la solución en el nodo [math] i = 0 [/ math]:

[matemáticas] u_ {0} = u_ {1} – \ beta \ Delta x [/ matemáticas]

2. La segunda se llama “condición de espejo”:

Utilizará el esquema centrado clásico del método de diferencia finita en el nodo [matemáticas] i = 0 [/ matemáticas]. La expresión de la ecuación discreta es:

[matemáticas] a \ frac {u_ {i + 1} ^ {n} -2u_ {i} ^ {n} + u_ {i-1} ^ {n}} {h ^ {2}} + b \ frac { u_ {i + 1} ^ {n} -u_ {i-1} ^ {n}} {h ^ {2}} + c \ frac {u_ {i} ^ {n + 1} -u_ {i} ^ {n}} {\ Delta t} = f_ {i} [/ matemáticas]

En esta ecuación, tiene un valor desconocido [matemáticas] u _ {- 1} ^ {n} [/ matemáticas], lo calculará utilizando una condición espejo (es la traducción de la condición utilizando el principio de simetría:

[matemáticas] \ frac {\ partial u} {\ partial x} \ Big | _ {0} ^ {n} = \ beta \ approx \ frac {u_ {1} ^ {n} -u _ {- 1} ^ {n}} {2 \ Delta x} = \ beta [/ math]

Entonces obtienes:

[matemáticas] u _ {- 1} ^ {n} = u_ {1} ^ {n} -2 \ beta \ Delta x [/ matemáticas]

Y en el nodo [matemáticas] i = 0 [/ matemáticas]:

[matemáticas] a \ frac {u_ {1} ^ {n} -2u_ {0} ^ {n} + u_ {1} ^ {n} -2 \ beta h} {h ^ {2}} + b \ beta + c \ frac {u_ {0} ^ {n + 1} -u_ {0} ^ {n}} {\ Delta t} = f_ {0} [/ math]