Suponha que temos uma função $ u $ definida em uma bola de forma discreta: sabemos apenas os valores de $ u $ nos nós $ (i, j, k) $ da grade esférica, onde $ i $ é uma coordenada de raio, $ j $ é uma coordenada para o ângulo $ \ varphi $, $ k $ é uma coordenada para o ângulo $ \ psi $ .
Considere uma função vetorial $$ \ nabla u_ {i, j, k} = \ left (\ frac {\ partial u} {\ partial r} _ {i, j, k}, \ frac {1} {r_i \ sin \ psi_k} \ frac {\ parcial u} {\ parcial \ varphi} _ {i, j, k}, \ frac {1} {r_i} \ frac {\ parcial u} {\ parcial \ psi} _ {i, j, k} \ right) – $$ gradiente de $ u $.
Preciso saber os valores de $ \ nabla u_ {i, j, k} $ no eixo z em coordenadas cartesianas, que corresponde a $ \ psi = 0 $ – eixo em coordenadas esféricas, mas não podemos usar a fórmula acima, porque no caso de $ \ psi = 0 $ o segundo termo muda para o infinito.
Na verdade, podemos encontrar os valores de $ \ frac {\ partial u} {\ partial z} $ com a ajuda da fórmula da derivada numérica, mas temos um problema em encontrar $ \ frac {\ parcial u} {\ parcial x} $, $ \ frac {\ parcial u} {\ parcial y} $, porque a grade não é retangular. Você poderia me ajudar com essas coisas e me aconselhar o que fazer?
Comentários
- Você não conseguiu calcular a derivada numérica em $ (r, \ varphi, \ psi) $ sistema de coordenadas? Isso deve dar a você um vetor que você pode projetar nos $ x $ – $ y $ – e $ z $ -axes para obter os $ x $ – $ y $ – e $ z $ -componentes do gradiente
- Não, não podemos calcular a derivada numérica, porque para $ \ psi = 0 $ $ \ varphi $ -angulo não está definido e temos singularidade na fórmula.
- Provavelmente existe uma solução usando quatérnios, mas é meio complicado descobrir o que exatamente isso se parece com o wrt. sua nomenclatura. O efeito que você está tentando combater é comumente referido como " gimbal-lock "
- Eu encontrei uma variante para lidar com essas coisas corretamente: aqui podemos usar o método dos mínimos quadrados para reconstrução de gradiente, mas não encontrei uma explicação exata de como usá-lo
- Talvez seja ' o caso – para $ u $$ moderadamente bem comportado – que $ \ lim _ {\ psi \ to 0} \ frac {1} {\ sin \ psi} \ frac {\ partial u} {\ partial \ phi} = 0 $. Mas eu não ' não acho que o componente do meio do seu vetor tenha significado, então se você ' conectá-lo novamente a uma equação diferencial em polar coordenadas a equação diferencial também pode não dar peso à coordenada do meio.
Resposta
Existem 3 maneiras de evite esta situação, mas antes de usar deve-se verificar se esta forma é adequada devido a erro de cálculo:
1) Método da célula de Green-Gauss: aqui a definição de gradiente é usada:
$$ \ nabla u_i \ approx \ frac {1} {V_ {i}} \ int \ limits _ {\ V_i parcial} ud \ overline {S} \ approx \ sum \ limits_ {k = 1} ^ {n} {u_ {f_k} S_k \ overline {n} _k}, $$ onde $ k $ – número de vizinhos da célula $ V_ {i} $
2) Método dos mínimos quadrados: o erro
$$ \ sum \ limits_ {k = 1} ^ {n} {\ frac {1} {d_ {ik}} E_ {i, k} ^ {2}}, E_ {i, k} = \ nabla u_i \ cdot \ Delta r_ {i, k} + u_i-u_k $$ deve ser minimizado, portanto, obtemos os componentes de $ \ nabla u_i $
3) Método de interpolação. O valor do gradiente é interpolado a partir dos valores da função vetorial de gradiente.