soluções fabricadas para Navier-Stokes incompressível - como encontrar campos de velocidade livres de divergências?

10

No método de soluções manufaturadas (MMS), postula-se uma solução exata, substitui-a nas equações e calcula o termo da fonte correspondente. A solução é então usada para verificação de código.

Para equações incompressíveis de Navier-Stokes, o MMS leva facilmente a um termo de origem (diferente de zero) na equação de continuidade. Mas nem todos os códigos permitem termos de origem nas equações de continuidade, portanto, para esses códigos, apenas soluções fabricadas com campos de velocidade livres de divergências o farão. Encontrei este exemplo para um domínio Ω=[0,1]2

u1=cos(πx)sin(πy)u2=sin(πx)cos(πy)
Em casos 3D gerais, como se fabrica um campo de velocidade livre de divergência?
chris
fonte

Respostas:

7

Use uma função de fluxo vetorial ou use o produto cruzado de dois gradientes. Ou seja: onde é um campo vetorial de sua escolha, ou onde e são dois campos escalares de sua escolha.

u=×A
A
u=f×g
fg

É difícil ter a velocidade livre de divergências e prescrever as condições de contorno, mas desde que seu código permita definir funções arbitrárias para suas condições de contorno, você deve estar bem.

ETA: É claro que sua equação de momento terá que aceitar uma função de forçar, mas sempre me senti melhor em forçar a equação de momento do que adicionar um lado direito à equação de continuidade.

Bill Barth
fonte
Obrigado! (forçando da equação da continuidade só ocorre na modelagem de cavitação, tanto quanto eu sei)
chris
5

Esta não é uma resposta geral, mas para as equações de Navier-Stokes, existem soluções fabricadas que descrevem o fluxo real. Por exemplo, o campo de fluxo Kovasznay é uma escolha popular:

http://link.springer.com/article/10.1007/BF00948290

A referência original é: Kovasznay LIG, "Fluxo laminar atrás de uma grade bidimensional". Proc. Cambridge Philos. Soc., Página 44, 1948.

Wolfgang Bangerth
fonte
1948 (!) Eu não sabia que isso era "fluxo real". Com isso, você quer dizer que ele pode realmente ser medido em um experimento físico (em oposição a simulado em um experimento numérico)?
perfil
Eu acredito sim
precisa saber é o seguinte
Não. É um fluxo idealizado à distância atrás de uma grade. Mas ninguém sabe o que os olhares grade como e, provavelmente, ele deve ser feito de "muito suave" o material
Guido Kanschat
2

É o que eu costumo fazer.

Defina a função aerodinâmica:

Ψ=[ψxψyψz]

a velocidade é igual a:

u=×Ψ=[ux=yψzzψyuy=zψxxψzuz=xψyyψx].

Agora você pode escolher qualquer pressão razoável com média zero e construir um termo de força.

Publico um código de exemplo SymPy para e condições de contorno homogêneas, aproveite:Ω=[0,1]3

 from sympy import *

 x,y,z = symbols('x y z')

 X = Matrix([[x],[y],[z]])

 psi = zeros(3,1)
 psi[0,0] = sin(2*pi*x)*y**2*(1-y)**2*z**2*(1-z)**2
 psi[2,0] = x**2*(1-x)**2*y**2*(1-y)**2*sin(2*pi*z)

 curl_psi = zeros(3,1)
 curl_psi[0] = diff(psi[2],X[1]) - diff(psi[1],X[2])
 curl_psi[1] = diff(psi[0],X[2]) - diff(psi[2],X[0])
 curl_psi[2] = diff(psi[1],X[0]) - diff(psi[0],X[1])
Nicola Cavallini
fonte