Caso Básico
- Copiar diretório para pasta local
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
cd cavity
- Mudar para pasta system
cd system
- Visualizar blockMeshDict
cat blockMeshDict
- Mudar pasta
cd ..
- Executar blockmesh
blockMesh
- Mudar pasta
cd 0
- Exibir conteúdo de p
cat p
- Exibir conteúdo de U
cat U
- Mudar pasta
cd ../constant
- Exibir conteúdo de transportProperties
cat transportProperties
- Mudar pasta
cd ../system
- Exibir conteúdo de controlDict
cat controlDict
- Exibir conteúdo de fvSchemes
cat fvSchemes
- Exibir conteúdo de fvSolution
cat fvSolution
- Visualizar malha no ParaView
- Mudar pasta
cd ..
- Executar icoFoam
icoFoam
- Visualizar resultados no ParaView
Refinamento de Malha
- Ir para a pasta de execução
cd $FOAM_RUN
- Criar novo diretório e copiar pastas relevantes do caso anterior
mkdir cavityFine
cp -r cavity/constant cavityFine
cp -r cavity/system cavityFine
- Mudar de pasta
cd cavityFine
- Editar blockMeshDict e implementar a resolução (40 40 1).
- Mudar startTime no arquivo controlDict para 0.5 (tempo final da simulação) cavity
- Executar o comando
blockMesh
blockMesh
- Executar o comando
mapFields
com a opção -consistent
.
mapFields ../cavity -consistent
- Reduzir DeltaT em controlDict pela metade para garantir que o número de Courant permaneça menor que 1.
- Ainda em controlDict, mudar writeControl para runTime, writeInterval para 0.1 e endTime para 0.7.
- Mudar de diretório
cd ..
- Executar icoFoam como um processo em segundo plano, e gravar a saída em um arquivo de log.
icoFoam > log &
- Visualizar o log
cat log
- Criar o arquivo vazio necessário para visualizar os dados no ParaView
paraFoam -touch
- Visualizar campos de velocidade no ParaView e comparar com o caso cavity.
- Listar as opções de pós-processamento do OpenFOAM.
postProcess -list
- Extrair os componentes de velocidade do vetor velocidade para os casos cavity e cavityFine
cd $FOAM_RUN/cavity
postProcess -func "components(U)"
cd $FOAM_RUN/cavityFine
postProcess -func "components(U)"
- No ParaView, fazer um gráfico da componente
Ux
ao longo de uma linha vertical no centro do domínio.
- Criar o diretório cavityGrade e copiar a pasta do diretório tutorial.
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavityGrade .
cd cavityGrade
- Visualizar o arquivo blockMeshDict
cd system
cat blockMeshDict
- Executar
blockMesh
blockmesh
- Visualizar a malha no ParaView.
- Verificar o valor de deltaT de 2.5 ms e writeInterval para 40, de forma que os resultados sejam impressos a cada 0.1 s (dentro do arquivo controlDict)
- Mudar startTime para 0.7 s e endTime para 0.8 s, no arquivo controlDict.
- Mapear os campos de cavityFine para cavityGrade
cd $FOAM_RUN/cavityGrade
mapFields ../cavityFine -consistent
- Execute
icoFoam
icoFoam > log &
- Visualize os resultados no ParaView
Aumento do número de Reynolds
- Clonar o caso cavity para a o caso cavityHighRe com a ferramenta
foamCloneCase
run
foamCloneCase -latestTime cavity cavityHighRe
cd cavityHighRe
- Mude a viscosidade
nu
para 0.001 no dicionário transportProperties no diretório constant (equivalente a aumentar Re de 10 para 100)
- No dicionário controlDict, altere startFrom para latestTime e mude endTime para 2 s.
- Execute o
ìcoFoam
usando nohup
, o que permite que o usuário faça logoff do sistema e o processo continue em execução até ser completado. A opção -n 19
atribui baixa prioridade.
nohup nice -n 19 icoFoam > log &
cat log
- Visualize os resultados no ParaView
- Continue a aumentar o número de Reynolds e aumente a resolução.
- Visualize os resultados.
- Copie o caso cavity para o diretório
run
e renomeie-o para cavityRAS
run
cp -r $FOAM_TUTORIALS/incompressible/pisoFoam/RAS/cavity cavityRAS
cd cavityRAS
- Gere a malha
blockMesh
- Visualize o arquivo
0/nut
cd 0
cat nut
- Verifique que os seguintes valores iniciais são atribuídos para k e ε nos arquivos
k
e epsilon
do diretório 0
.
- Visualize o arquivo
turbulenceProperties
no diretório constant
.
cd ../constant
cat turbulenceProperties
- Para alcançar um número de Reynolds de 104, a viscosidade cinemática de 10-5 m2s-1 é requerida. Edite o arquivo
constant/transportProperties
- Ajuste
startTime
, stopTime
, deltaT
e writeInterval
em controlDict
. Configure deltaT
para 0.005
para satisfazer a restrição do número de Courant e endTime
para 10 s.
- Execute
pisoFoam
no diretório apropriado.
- Reconfigure o valor de
deltaT
para 0.02
e startFrom
para latestTime
. O valor endTime
deve agora ser 20
.
- Reinicie a simulação novamente e monitore a convergência da solução.
- Veja os resultados em passos de tempo consecutivos na medida em que a solução progride para ver se há convergência para um regime permanente ou se possivelmente um estado oscilatório periódico é alcançado.
Mudança de Geometria
- Copie o caso cavityClipped do diretório tutorials para o diretório run do usuário, e mude para o diretório cavityClipped.
run
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavityClipped .
cd cavityClipped
- Visualize o arquivo
blockMeshDict
e tente entender a mudança de geometria implementada.
- Gere a malha
blockMesh
- Copie os dados iniciais do tempo
0
para o tempo 0.5
.
cp -r 0 0.5
- Visualize a malha e os dados.
- Edite o dicionário mapFieldsDict, localizado no diretório system.
patchMap
(
lid movingWall
);
- Executar mapFields de dentro do diretório cavityClipped.
mapFields ../cavity
- Visualize o campo mapeado no ParaView.
- Execute icoFoam
icoFoam
- Visualize os resultados.