Escolar Documentos
Profissional Documentos
Cultura Documentos
com
Kevin McGrattan
Simo Hostikka
Jason Floyd
Randall McDermott
Marcos Vanella
Eric Muller
http://dx.doi.org/10.6028/NIST.SP.1019
Publicação Especial NIST 1019
Sexta Edição
Kevin McGrattan
Randall McDermott
Marcos Vanella
Eric Muller
Divisão de Pesquisa de Incêndios, Laboratório de Engenharia, Gaithersburg, Maryland
Simo Hostikka
Universidade Aalto, Espoo, Finlândia
Jason Floyd
Instituto de Pesquisa de Segurança contra Incêndios, Institutos de Pesquisa UL, Columbia, Maryland
http://dx.doi.org/10.6028/NIST.SP.1019
18 de abril de 2023
Revisão: FDS-6.8.0-0-g886e009
ÓF C Ó
E NT MM
TM
AR
ER
DE P
CE
ECUA
voNcê
ETU
ER
D
E
ST AM
A T E S ÓF
O Fire Dynamics Simulator e o Smokeview são produtos de um esforço colaborativo internacional liderado pelo Instituto Nacional de
Padrões e Tecnologia (NIST) e pelo Instituto de Pesquisa de Segurança contra Incêndios, Institutos de Pesquisa da UL. Seus
desenvolvedores e colaboradores estão listados abaixo.
Colaboradores e Contribuintes
eu
Sobre os desenvolvedores
Kevin McGrattané matemático da Divisão de Pesquisa de Incêndios do NIST. Ele recebeu um bacharelado em
diploma em ciências pela Escola de Engenharia e Ciências Aplicadas da Universidade de Columbia em 1987 e doutorado
no Instituto Courant da Universidade de Nova York em 1991. Ele se juntou à equipe do NIST em 1992 e desde então tem
trabalhado no desenvolvimento de modelos de incêndio, principalmente o Simulador de Dinâmica de Fogo.
Simo Hostikkaé professor associado de engenharia de segurança contra incêndio na Escola de Engenharia da Universidade Aalto-
desde janeiro de 2014. Antes de ingressar na Aalto, trabalhou como cientista principal e líder de equipe no
Centro de Pesquisa Técnica VTT da Finlândia. Ele recebeu um mestrado em ciências (tecnologia) em 1997 e
um doutorado em 2008 pelo Departamento de Engenharia Física e Matemática da Universidade de
Tecnologia de Helsinque. Ele é o principal desenvolvedor dos submodelos de radiação e fase sólida do FDS.
Jason Floydé engenheiro-chefe de pesquisa no Underwriters Laboratories Fire Safety Research Institute
em Colúmbia, Maryland. Ele recebeu um bacharelado (1993), um mestrado (1995) e um doutorado. (2000) do
Programa de Engenharia Nuclear da Universidade de Maryland. Depois de se formar, ele recebeu uma bolsa de
pós-doutorado do National Research Council no Building and Fire Research Laboratory do NIST. Ele é o principal
desenvolvedor dos submodelos de combustão, lógica de controle, aerossol, evaporação de gotículas e HVAC
dentro do FDS.
Randall McDermottingressou na Divisão de Pesquisa de Incêndios do NIST em 2008. Ele recebeu um bacharelado pela
Universidade de Tulsa em Engenharia Química em 1994 e Ph.D. pela Universidade de Utah em 2005. Seus interesses de
pesquisa incluem modelos em escala de subrede e métodos numéricos para simulação de grandes redemoinhos,
combustão turbulenta, métodos de limites imersos e métodos de partículas Lagrangianas.
Marcos Vanellaingressou na Divisão de Pesquisa de Incêndio do NIST em 2019. Recebeu diplomas em Mecânica.
Cal e Engenharia Aeronáutica pela Universidade Nacional de Córdoba, Argentina, e MS e Ph.D. graduado em
Engenharia Mecânica pela Universidade de Maryland, College Park. Seus interesses de pesquisa incluem
simulação computacional e desenvolvimento de software científico aplicado a sistemas de engenharia,
principalmente nas áreas de escoamento de fluidos e problemas de interação multifísica.
Glenn Forneyé cientista da computação na Divisão de Pesquisa de Incêndios do NIST. Ele recebeu um bacharelado em
licenciatura em matemática pela Salisbury State College e mestrado em ciências e doutorado em matemática pela Clemson
University. Ele ingressou no NIST em 1986 (então National Bureau of Standards) e desde então tem trabalhado no
desenvolvimento de ferramentas que fornecem uma melhor compreensão dos fenômenos de incêndio, mais notavelmente o
Smokeview, uma ferramenta de software científico avançado para visualizar dados de simulação de dinâmica de incêndio.
Eric Mulleringressou na Divisão de Pesquisa de Incêndio do NIST em 2021. Ele recebeu um bacharelado em Engenharia Física
pela Tufts University (2010), mestrado pelo Worcester Polytechnic Institute (2012) e doutorado. pela Universidade de
Edimburgo (2017), ambos em engenharia de segurança contra incêndio. Seus interesses de pesquisa incluem o
iii
desenvolvimento de submodelos relevantes para a transferência de calor e massa em incêndios florestais e na interface florestal-urbana.
Emanuele Gissié chefe dos bombeiros profissional do Serviço Italiano de Bombeiros e Resgate (CNVVF) desde 2002.
Ele recebeu um Ph.D. em Engenharia Física pela Universidade de Ancona, Itália, em 2000. Além de gerenciar brigadas de
incêndio, seu principal interesse é preencher a lacuna entre a pesquisa sobre incêndios e a prática de engenharia de segurança
contra incêndio. Ele desenvolve ferramentas de código aberto para FDS.
Anthony Haminsingressou na Divisão de Pesquisa de Incêndios do NIST em 1989. Ele recebeu seu bacharelado pela Uni-
universidade da Califórnia, Berkeley, em Física e é Ph.D. pela UC San Diego em Engenharia Física em 1985. Seus interesses de
pesquisa incluem validação de modelos de fogo, dinâmica de fogo, processos de transferência de calor e massa em incêndios
de múltiplas escalas, supressão de incêndio, estrutura de chama, incêndios de interface florestal-urbana e combustão por
microgravidade.
Susan Kiliané um matemático com experiência em computação numérica e científica. Ela a recebeu
diploma pela Universidade de Heidelberg e recebeu seu doutorado pela Universidade Técnica de Dortmund em 2002.
Desde 2007 ela é pesquisadora da hhpberlin, uma empresa de engenharia de segurança contra incêndio localizada em
Berlim, Alemanha. Seus interesses de pesquisa incluem computação de alto desempenho e desenvolvimento de
solucionadores paralelos eficientes para a equação de Poisson de pressão.
William (Ruddy) Melé um matemático aplicado atualmente no Serviço Florestal dos EUA em Seattle, Washington.
Inton. Ele possui bacharelado pela Universidade de Minnesota (1981) e doutorado pela Universidade de
Washington (1994). Seus interesses de pesquisa incluem o desenvolvimento de métodos e submodelos de
simulação de grandes redemoinhos aplicáveis à física de grandes incêndios em edifícios, vegetação e interface
entre áreas urbanas e selvagens.
Júlio César Silvaé Tenente do Corpo de Engenheiros Navais da Marinha do Brasil. Ele trabalhou no Fogo
Divisão de Pesquisa do NIST como Pesquisador Convidado do Conselho Nacional de Desenvolvimento Científico
e Tecnológico, Brasil. Ele recebeu um M.Sc. em 2010 e doutorado em 2014 pela Universidade Federal do Rio de
Janeiro em Engenharia Civil. Seus interesses de pesquisa incluem interação fogo-estrutura e desenvolve
estratégias de acoplamento entre FDS e códigos de elementos finitos.
4
Prefácio
Este guia descreve como usar o Fire Dynamics Simulator (FDS). Como novos recursos são adicionados
periodicamente, verifique o número da versão atual na capa interna deste manual.
Observe que este Guia não fornece a teoria de base para o FDS. Um conjunto de quatro volumes de documentos
complementares, referidos coletivamente como Guia de Referência Técnica do FDS [1], contém detalhes sobre as equações
governantes e métodos numéricos, verificação de modelo, validação experimental e gerenciamento de configuração. O Guia
do Usuário do FDS contém informações limitadas sobre como operar o Smokeview, o programa de visualização
complementar do FDS. Sua capacidade total está descrita no Guia do usuário do Smokeview [2].
v
Isenção de responsabilidade
O Departamento de Comércio dos EUA não oferece nenhuma garantia, expressa ou implícita, aos usuários do Fire Dynamics
Simulator (FDS) e não aceita nenhuma responsabilidade por seu uso. Os usuários do FDS assumem responsabilidade exclusiva, de
acordo com a lei federal, por determinar a adequação de seu uso em qualquer aplicação específica; por quaisquer conclusões tiradas
dos resultados da sua utilização; e por quaisquer ações tomadas ou não como resultado de análises realizadas com essas
ferramentas.
Os usuários são avisados de que o FDS se destina ao uso apenas por pessoas competentes nas áreas de dinâmica de fluidos,
termodinâmica, transferência de calor, combustão e ciência do fogo, e destina-se apenas a complementar o julgamento informado
do usuário qualificado. O pacote de software é um modelo computacional que pode ou não ter capacidade preditiva quando aplicado
a um conjunto específico de circunstâncias factuais. A falta de previsões precisas por parte do modelo pode levar a conclusões
erradas no que diz respeito à segurança contra incêndios. Todos os resultados devem ser avaliados por um usuário informado.
Ao longo deste documento, a menção a hardware de computador ou software comercial não constitui
endosso do NIST, nem indica que os produtos sejam necessariamente os mais adequados para a finalidade
pretendida.
vii
Agradecimentos
O Simulador de Dinâmica de Incêndio, em diversas formas, está em desenvolvimento há quase 25 anos. Foi lançado
ao público pela primeira vez em 2000. Desde então, melhorias contínuas foram feitas no software com base em
grande parte no feedback de seus usuários. Abaixo estão alguns que fizeram contribuições importantes relacionadas
à aplicação do FDS.
• Ulf Wickström da Universidade de Tecnologia de Luleå, Suécia, forneceu orientação e artigos sobre o conceito de
temperatura adiabática de superfície.
• No NIST, Dan Madrzykowski, Doug Walton, Bob Vettori, Dave Stroup, Steve Kerber, Nelson Bryner e Adam Barowy
usaram o FDS e o Smokeview como parte de diversas investigações de mortes de bombeiros em serviço. Eles
forneceram informações valiosas sobre a usabilidade e precisão do modelo quando comparados com medições
em grande escala feitas durante reconstruções de incêndio.
• Bryan Klein, da Thunderhead Engineering, ajudou a adicionar funcionalidade de referência cruzada a este documento,
facilitando sua visualização eletronicamente. Ele também projetou os serviços on-line para controle de revisões,
relatórios de bugs e discussão geral de tópicos relacionados ao FDS.
• A Comissão Reguladora Nuclear dos EUA forneceu apoio financeiro para a verificação e validação do FDS, juntamente
com informações valiosas sobre como os modelos de incêndio são usados como parte de avaliações probabilísticas de
risco de instalações nucleares. Agradecimentos especiais a Mark Salley e Dave Stroup.
• A Sociedade de Engenheiros de Proteção contra Incêndios (SFPE) patrocina um curso de treinamento sobre o uso
do FDS e do Smokeview. Chris Wood da ArupFire, Dave Sheppard do US Bureau of Alcohol, Tobacco and Firearms
(ATF) e Doug Carpenter da Combustion Science and Engineering desenvolveram os materiais para o curso,
juntamente com Morgan Hurley da SFPE.
• David McGill, do Seneca College, Ontário, Canadá, conduziu um curso de aprendizagem remota sobre
o uso do FDS e também manteve um site que forneceu sugestões valiosas dos usuários.
• Paul Hart, da Swiss Re, GAP Services, e Pravinray Gandhi, do Underwriters Laboratories, forneceram sugestões
úteis sobre o transporte de gotas de água em objetos sólidos.
• François Demouge, do Centre Scientifique et Technique du Bâtiment (CSTB), em França, ajudou na implementação
de condições de contorno de entrada de turbulência sintética.
• Max Gould, pesquisador de graduação de verão, auxiliou nos testes e verificação de métodos de
tratamento de limites não padronizados.
• Salah Benkorichi da BB7, Reino Unido, ajudou a desenvolver os casos de verificação para transferência de calor 3D.
ix
• Daniel Haarhoff do Jülich Supercomputing Centre, Alemanha, ajudou a implementar as diretivas OpenMP e a criar o perfil
do código para o FDS v6.
• Timo Korhonen da VTT, Finlândia, foi o principal desenvolvedor do FDS+Evac (versões do FDS anteriores ao
6.7.8).
• Vivien Lecoustre, enquanto estava na Universidade de Maryland, College Park, melhorou o RadCal, que incluiu a adição de 8
novas espécies de combustível ao seu banco de dados.
• Anna Matala, VTT, Finlândia, ajudou a desenvolver o modelo de pirólise 1D e métodos de estimativa de parâmetros
cinéticos de pirólise.
• Kristopher Overholt, enquanto pós-doutorado no NIST, foi o principal desenvolvedor do “firebot”, a estrutura de
integração contínua do FDS.
• Benjamin Ralph, Universidade de Edimburgo, Reino Unido, ajudou a desenvolver o transporte de massa e energia no modelo
HVAC e na abordagem da curva do sistema para definir o ponto de operação de um ventilador.
• Ben Trettel, da Universidade do Texas em Austin, desenvolveu métodos de rastreamento de gotículas de alta ordem e modelos
primários de separação de gotículas.
Finalmente, nas páginas seguintes há uma lista de indivíduos e organizações que doaram seu tempo e esforço para
“testar beta” o FDS e o Smokeview antes de seu lançamento oficial. Sua contribuição é inestimável porque
simplesmente não há outra maneira de testar todos os diversos recursos do modelo.
x
Testadores beta do FDS 6
XI
Conteúdo
Desenvolvedores FDS eu
Prefácio v
Agradecimentos ix
Conteúdo xiii
1. Introdução 3
1.1 Recursos do FDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 O que há de novo no FDS 6?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Primeiros passos 7
2.1 Como adquirir FDS e Smokeview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Requisitos de Hardware do Computador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Sistema operacional (SO) do computador e requisitos de software. . . . . . . . . . . . . . . 8
2.4 Teste de Instalação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Executando FDS 9
3.1 Noções básicas de informática. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Uma breve introdução sobre hardware de computador. . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Duas maneiras de usar múltiplos processadores. . . . . . . . . . . . . . . . . . . . . . . 10
3.2 Iniciando um Trabalho FDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.1 Computador Único Executando MS Windows. . . . . . . . . . . . . . . . . . . . . . 12
3.2.2 Vários computadores executando MS Windows. . . . . . . . . . . . . . . . . . . . 12
3.2.3 Linux e Mac OS X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.4 Usando MPI e OpenMP juntos. . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.5 Executando trabalhos muito grandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Eficiência de Simulações Multiprocessos. . . . . . . . . . . . . . . . . . . . . . . . . . . 15
xiii
3.3.1 Eficiência do MPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.3.2 Eficiência OpenMP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Monitorando o Progresso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4 Suporte ao usuário 19
4.1 O número da versão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 Declarações de Erros Comuns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Solicitações de suporte e rastreamento de bugs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7 Geometria do Modelo 43
7.1 Especificando Condições Limites ............................... 43
7.2 Criando Obstruções Retilíneas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.2.1 Noções básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.2.2 Obstruções Finas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.2.3 Áreas Especificadas versus Áreas Reais. . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.4 Obstruções Sobrepostas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.5 Prevenção da remoção de obstruções. . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.6 Obstruções Transparentes ou Contornadas. . . . . . . . . . . . . . . . . . . . . . . . 45
7.2.7 Criando Furos em Obstruções. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.3 Criando Geometria Não Estruturada (Beta). . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.3.1 Minha Primeira Geometria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.3.2 Noções básicas de geometria não estruturada. . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.3.3 Qualidade de Superfícies Trianguladas. . . . . . . . . . . . . . . . . . . . . . . . . . . 47
XIV
7.3.4 Intersecções. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3.5 Mapas de Cores e Texturas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.3.6 Geometrias autogeradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7.3.7 Gerando Geometrias Complexas. . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3.8 Transformando Objetos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3.9 Lendo localizações de nós geométricos e dados de conectividade do binário. . . . . 54
7.3.10 Tratamento de células divididas e geometrias finas. . . . . . . . . . . . . . . . . . . . . 55
7.3.11 Limitações Atuais do GEOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
7.3.12 Panorama geral, tempo de execução e precisão. . . . . . . . . . . . . . . . . . . . . 56
7.4 Aplicando Propriedades de Superfície. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.4.1 Noções básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.4.2 Ventiladores Especiais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.4.3 Controlando Ventiladores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.4.4 Ventiladores para solução de problemas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
7.5 Colorindo Obstruções, Geometria, Ventilação, Superfícies e Malhas. . . . . . . . . . . . . . . 62
7.5.1 Cores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.5.2 Mapas de Textura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
7.6 Objetos Repetidos: OMÚLTIPLOGrupo de lista de nomes (Tabela 23.19). . . . . . . . . . . . . . . . . 65
7.6.1 UsandoMÚLTIPLOpara refinamento de malha. . . . . . . . . . . . . . . . . . . . . . . . . 66
7.6.2 UsandoMÚLTIPLOfazer formas a partir de obstruções. . . . . . . . . . . . . . . . . . 66
9 Fogo e Pirólise 85
9.1 Taxa de liberação de calor especificada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.1.1 Um incêndio que se espalha radialmente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
9.1.2 Compensação da área de superfície não resolvida. . . . . . . . . . . . . . . . . . . 87
9.1.3 Sólidos termicamente espessos que queimam a uma taxa especificada. . . . . . . . . . . . . . . 87
9.1.4 Escalando a Taxa de Queima pelo Fluxo de Calor. . . . . . . . . . . . . . . . . . . . . 88
9.2 Modelos Complexos de Pirólise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.2.1 Mecanismo de Reação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
9.2.2 Taxas de reação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
xv
9.2.3 Materiais de contração e dilatação. . . . . . . . . . . . . . . . . . . . . . . . . . 95
9.2.4 Múltiplas Reações em Fase Sólida. . . . . . . . . . . . . . . . . . . . . . . . . . . 96
9.2.5 O Calor da Reação. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.2.6 Combustíveis Líquidos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
9.2.7 Queima de Combustível. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
9.3 Testando seu modelo de pirólise. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.3.1 Simulando o Calorímetro Cone. . . . . . . . . . . . . . . . . . . . . . . . . . 104
9.3.2 Simulando medições em escala de bancada como TGA, DSC e MCC. . . . . . 106
9.4 Pirólise e Conservação de Energia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
10 Ventilação 111
10.1 Ventiladores, ventiladores e aquecedores simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.1.1 Ventiladores simples de abastecimento e exaustão. . . . . . . . . . . . . . . . . . . . . . . . .
10.1.2 111 Fluxo de Massa Total. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
10.1.3 Aquecedores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Aberturas com
10.1.4 venezianas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Gradiente de velocidade
10.1.5 normal especificado. . . . . . . . . . . . . . . . . . . . . . . . 113 Condições de limite de fluxo
10.1.6 de massa de espécies e espécies. . . . . . . . . . . . . . . 114 Condições de limite de
10.1.7 velocidade tangencial em superfícies sólidas. . . . . . . . . . . . 114 Condições limite
10.1.8 de entrada de turbulência sintética. . . . . . . . . . . . . . . . . 115 Variação aleatória do
10.1.9 fluxo de massa. . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
10.2 Sistemas HVAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
10.2.1 Parâmetros do duto HVAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
10.2.2 Amortecedores HVAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Parâmetros
10.2.3 do nó HVAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
10.2.4 Parâmetros do ventilador HVAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
10.2.5 Parâmetros do filtro HVAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
10.2.6 Parâmetros da bobina de ar HVAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Ventiladores
10.2.7 HVAC com persianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
10.2.8 Transporte de massa HVAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10.2.9 Fluxo especificado vs. fluxo não especificado. . . . . . . . . . . . . . . . . . . . . . . . 129
10.3 Compartimentos Selados, Vazamentos e Espaços Vazios . . . . . . . . . . . . . . . . . . . . . . 130
10.3.1 Especificando Zonas de Pressão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Vazamentos
10.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Quebrando Zonas de Pressão
10.3.3 Preenchendo Zonas de Pressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.4 Condições limite de pressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
10,5 Perfis de Fluxo Especiais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
xvi
12.1.2 Propriedades pré-definidas de gases e líquidos. . . . . . . . . . . . . . . . . . . . . . . 149
12.1.3 Propriedades de gases e líquidos definidas pelo usuário. . . . . . . . . . . . . . . . . . . . . . 149
12.1.4 Ar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.1.5 Duas espécies de gases com as mesmas propriedades. . . . . . . . . . . . . . . . . . . . . 152
12.1.6 Fuligem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
12.2 Especificando Espécies Agrupadas (Misturas de Espécies Primitivas). . . . . . . . . . . . . . . . . 154
12.2.1 Combinando Espécies Agrupadas e Primitivas. . . . . . . . . . . . . . . . . . . . . 155
13 Combustão 157
13.1 Combustão controlada por mistura e etapa única. . . . . . . . . . . . . . . . . . . . . . . . . 157
13.1.1 Parâmetros Químicos Simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
13.1.2 Calor de Combustão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
13.1.3 Química Simples em Duas Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
13.1.4 Calor de Combustão Completo . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
13.1.5 Combustão Turbulenta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
13.1.6 Extinção de Chamas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
13.1.7 Ignição Pilotada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
13.2 Estequiometria Complexa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
13.2.1 Equilibrando os Átomos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
13.2.2 Moléculas Combustíveis Complexas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
13.2.3 Múltiplas Reações Rápidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
13.2.4 Múltiplos Combustíveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
13.2.5 Usando oEQUAÇÃOparâmetro de entrada. . . . . . . . . . . . . . . . . . . . . . . 174
13.3 Combustão de Taxa Finita. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
13.3.1 Reação em Múltiplas Etapas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
13.3.2 Taxas de reação de constantes de equilíbrio. . . . . . . . . . . . . . . . . . . . 178
13.3.3 Reações do Terceiro Corpo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
13.3.4 Catalisadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
13.3.5 Integração do Tempo Químico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
13.4 Deposição de Aerossol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
13.4.1 Exemplo de Caso: Deposição de Fuligem de uma Chama de Propano. . . . . . . . . . . . . . 180
13.4.2 Oxidação da Superfície por Fuligem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
13.5 Aglomeração de Aerossol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
13.6 Esfregação com Aerossol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
13.7 Condensação de Vapor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
14 Radiação 183
14.1 Parâmetros Básicos de Radiação: ORADIGrupo de lista de nomes. . . . . . . . . . . . . . . . . . . 183
14.1.1 Opção de Radiação 1. Sem Transporte de Radiação. . . . . . . . . . . . . . . . . . . . 183
14.1.2 Opção de radiação 2. Limite opticamente fino; Fração Radiativa Especificada. . . . . 184
14.1.3 Opção de Radiação 3. Opticamente Espesso; Fração Radiativa Especificada. . . . . . . . 184
14.1.4 Opção de Radiação 4. Opticamente Espesso; Fração Radiativa Não Especificada. . . . . . . 185
14.2 Resolução Espacial e Temporal do Solucionador de Transporte de Radiação. . . . . . . . . . . . . 185
14.3 Coeficiente de Absorção de Gases e Fuligem. . . . . . . . . . . . . . . . . . . . . . . . . . . 186
14.3.1 Modelo de gás cinza (padrão). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
14.3.2 Modelo de Banda Larga (Modelo Caixa). . . . . . . . . . . . . . . . . . . . . . . . . . 187
14.3.3 Soma Ponderada de Gases Cinzentos (WSGG). . . . . . . . . . . . . . . . . . . . . . . 187
14.4 Absorção Radiativa e Dispersão por Partículas. . . . . . . . . . . . . . . . . . . . . . . 187
xvii
14.5 Outras Considerações. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
XVIII
16.6 Condições de Limite Externo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
XIX
18.5.11 Exemplo de caso: activate_vents. . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
18.6 Controlando umRAMPA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .280
18.6.1 Alterando a variável independente. . . . . . . . . . . . . . . . . . . . . . . . . 280
18.6.2 Congelando o valor de saída, caso de exemplo: hrr_freeze. . . . . . . . . . . . . . . 280
18.7 Visualizando Dispositivos FDS no Smokeview . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
18.7.1 Dispositivos que Indicam Ativação . . . . . . . . . . . . . . . . . . . . . . . . . . 281
18.7.2 Dispositivos com Propriedades Variáveis. . . . . . . . . . . . . . . . . . . . . . . . . . 283
18.7.3 Objetos que Representam Partículas Lagrangianas. . . . . . . . . . . . . . . . . . . . 285
21 Pressão 301
21.1 Precisão do Solucionador de Pressão. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
21.1.1 Solucionadores de Pressão Opcionais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
21.1.2 Caso de exemplo: Pressure_Solver/duct_flow. . . . . . . . . . . . . . . . . . . . . 305
21.1.3 Caso de exemplo: Pressure_Solver/dancing_eddies. . . . . . . . . . . . . . . . . . 305
21.2 Vorticidade Baroclínica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
21.3 Considerações sobre Pressão em Túneis Longos. . . . . . . . . . . . . . . . . . . . . . . . . . . 308
22 Saída 313
22.1 Controlando a Frequência de Saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
22.2 Saída do Dispositivo: ODEVCGrupo de lista de nomes. . . . . . . . . . . . . . . . . . . . . . . . . . 315
22.2.1 Quantidade de fase gasosa em um único ponto. . . . . . . . . . . . . . . . . . . . . . . . 315
22.2.2 Quantidade de fase sólida em um único ponto. . . . . . . . . . . . . . . . . . . . . . . 316
22.2.3 Resultados Espacialmente Integrados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
22.2.4 Resultados Temporariamente Integrados. . . . . . . . . . . . . . . . . . . . . . . . . . . 321
xx
22.2.5 Matriz Linear de Dispositivos Pontuais. . . . . . . . . . . . . . . . . . . . . . . . . . . 323
22.3 Perfis detalhados em sólidos: oPROF.Grupo de lista de nomes. . . . . . . . . . . . . . . . . 326
22.4 Fatias planas animadas: oSLCFGrupo de lista de nomes. . . . . . . . . . . . . . . . . . . . . 327
22.5 Quantidades Limites Animadas: OBNDFGrupo de lista de nomes. . . . . . . . . . . . . . . . . 328
22.6 Isosuperfícies animadas: oÉ DEGrupo de lista de nomes. . . . . . . . . . . . . . . . . . . . . . 329
22.7 Despejos de dados estáticos Plot3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
22.8 SMOKE3D: Fumaça e Fogo Realistas. . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
22.9 Quantidades de Saída de Partículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
22.9.1 Gotas de Líquido Fixadas em Superfícies Sólidas. . . . . . . . . . . . . . . . 331
22.9.2 Partículas Sólidas em Superfícies Sólidas. . . . . . . . . . . . . . . . . . . . . . . . . . 331
22.9.3 Densidades e fluxos de gotículas e partículas na fase gasosa. . . . . . . . . . . . 332
22.9.4 Colorindo partículas e gotículas no Smokeview. . . . . . . . . . . . . . . . . . . 333
22.9.5 Propriedades detalhadas de partículas sólidas. . . . . . . . . . . . . . . . . . . . . . . . 333
22.10 Recursos Especiais de Saída. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
22.10.1 Taxa de liberação de calor e conservação de energia. . . . . . . . . . . . . . . . . . . . 335
22.10.2 Massa de Espécies de Gás. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
22.10.3 Taxas de Perda de Massa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
22.10.4 Pressões de Zona. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
22.10.5 Visibilidade e obscurecimento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
22.10.6 Altura e Inclinação da Chama. . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
22.10.7 Altura da Camada e Temperaturas Médias das Camadas Superior e Inferior. . . . . . . 339
22.10.8 Termopares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
22.10.9 Fluxo de volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
22.10.10 Fluxo de Massa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
22.10.11 Fluxo de Entalpia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
22.10.12 Fluxo de Calor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
22.10.13 Temperatura de superfície adiabática. . . . . . . . . . . . . . . . . . . . . . . . . . . 346
22.10.14 Extraindo dados detalhados de radiação. . . . . . . . . . . . . . . . . . . . . . . . . 348
22.10.15 Propriedades detalhadas da pulverização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
22.10.16 Saída Associada à Análise Termogravimétrica (TGA). . . . . . . . . . . 351
22.10.17 Dose Efetiva Fracionada (FED) e Concentração Irritante Fracionada (FIC). . . 352
22.10.18 Histogramas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
22.10.19 Terreno Complexo e Quantidades Relacionadas. . . . . . . . . . . . . . . . . . . . . . 354
22.10.20 Vento e Coeficiente de Pressão . . . . . . . . . . . . . . . . . . . . . . . . . 355
22.10.21 Volume Seco e Frações de Massa . . . . . . . . . . . . . . . . . . . . . . . . . . 355
22.10.22 Concentração de Aerossol e Fuligem . . . . . . . . . . . . . . . . . . . . . . . . . . 356
22.10.23 Velocidade do Gás. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
22.10.24 Entalpia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
22.10.25 Desempenho do computador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
22.10.26 Precisão do arquivo de saída. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
22.10.27A posterioriMétricas de qualidade de malha. . . . . . . . . . . . . . . . . . . . . . . . . 357
22.10.28 Extinção. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
22.11 Extraindo Números dos Arquivos de Dados de Saída. . . . . . . . . . . . . . . . . . . . . . . 363
22.12 Quantidades de saída da fase gasosa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
22.13 Quantidades de saída de fase sólida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
22.14 Dispositivo, Controle e Outras Quantidades de Saída Diversas . . . . . . . . . . . . . . . . 371
22.15 Quantidades de Saída de Gotas e Partículas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
22.16 Resumo das Quantidades de Saída HVAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
xxi
23 Lista alfabética de parâmetros de entrada 375
23.1BNDF (Parâmetros do arquivo de limite) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
23.2CATF (Concatenar parâmetros de arquivos de entrada) . . . . . . . . . . . . . . . . . . . . . . . . . 376
23.3CLIPE (Parâmetros de recorte). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
23.4PENTEAR (Parâmetros Gerais de Combustão). . . . . . . . . . . . . . . . . . . . . . . . . . . 376
23,5CSVF (Arquivos de velocidade separados por vírgula). . . . . . . . . . . . . . . . . . . . . . . . . . . 377
23,6CTRL (Parâmetros da função de controle). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
23,7DEVC (Parâmetros do dispositivo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
23,8JOGAR FORA (Parâmetros de saída) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
23,9GEOM (Parâmetros de geometria não estruturada) . . . . . . . . . . . . . . . . . . . . . . . . . 381
23h10CABEÇA (Parâmetros de cabeçalho). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
23.11BURACO (Parâmetros de recorte de obstrução). . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
23.12AVAC (Definição do sistema HVAC). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
23.13INICIAR (Condições iniciais). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
23.14É DE (Parâmetros de isosuperfície). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
23h15MATL (Propriedades dos materiais). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
23.16MALHA (Parâmetros de malha). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
23.17DIVERSOS (Parâmetros diversos). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
23.18MOVER (Parâmetros de transformação de coordenadas). . . . . . . . . . . . . . . . . . . . . . . . 389
23.19MÚLTIMO (Parâmetros da função multiplicadora). . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
23h20OBST (Parâmetros de Obstrução). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
23.21PAPEL (Partículas/Gotículas Lagrangianas). . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
23.22PRES (Parâmetros do Solucionador de Pressão). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
23.23PROF (Parâmetros do perfil de parede). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
23.24SUPORTE (Propriedades do dispositivo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
23h25RADF (Parâmetros do arquivo de saída de radiação). . . . . . . . . . . . . . . . . . . . . . . . . . 395
23.26RADI (Parâmetros de radiação). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
23.27RAMPA (Parâmetros da função de rampa). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
23.28REAC (Parâmetros de reação). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
23.29SLCF (Parâmetros do arquivo de fatia). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
23h30SM3D (Parâmetros Smoke3D). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
23h31ESPECIFICAÇÃO (Parâmetros de espécies). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
23h32SURF (Propriedades de superfície). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
23h33TABELA (Parâmetros de tabela) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
23h34TEMPO (Parâmetros de tempo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
23h35TRNX, TRNY, TRNZ (Transformações MALHA). . . . . . . . . . . . . . . . . . . . . . 404
23h36VENTILAÇÃO (Parâmetros de ventilação). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
23h37VENTO (Parâmetros de Vento e Atmosféricos). . . . . . . . . . . . . . . . . . . . . . . . . . 405
23h38ZONA (Parâmetros da Zona de Pressão). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
XXII
26 Formatos de arquivo de saída 413
26.1 Saída de Diagnóstico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
26.2 Taxa de liberação de calor e quantidades relacionadas. . . . . . . . . . . . . . . . . . . . . . . . . . . 414
26.3 Dados de saída do dispositivo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
26.4 Dados de saída de controle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
26.5 Arquivo de registro de dispositivo e controle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
26.6 Dados de uso da CPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
26.7 Dados de intervalo de tempo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
26.8 Dados de massa de gás. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
26.9 Arquivos de fatia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
26.10 Dados Plot3D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
26.11 Arquivos de limite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
26.12 Dados de Partículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
26.13 Arquivos de perfil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
26.14 Arquivos de fumaça 3-D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
26.15 Geometria, Arquivos de Isosuperfície. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
26.16 Arquivos de dados geométricos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
26.17 Arquivos de dados de terreno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
26.18 Formato binário de E/S FDS GEOM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
26.18.1 Geometria Não Estruturada SMV. . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
26.18.2 Dados não estruturados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
26.18.3 Dados de isosuperfície. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
26.19 Formato binário de E/S FDS HVAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Bibliografia 427
XXIII
Lista de Figuras
xxxv
10.1 Resultados dofluxo de volumecasos de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 O
10.2 velocidade_tangencialcaso de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . 113 Perfis de
10.3 ventilação sintéticos do método Eddy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Método
10.4 Eddy Sintético no limite OPEN. . . . . . . . . . . . . . . . . . . . . . . . . 117 Um exemplo de
10,5 simplificação de um duto complexo. . . . . . . . . . . . . . . . . . . . . . . . . . 121 Exemplo de
10.6 curvas em leque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Exemplo de ventilador
10.7 a jato. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Resultados doHVAC_aircoilcaso
10.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Resultados dopressão_aumentocaso de teste
10.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
10.10 Resultados dozona_quebracasos de teste . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
10.11 Resultados dozona_formacaso de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
10.12 Resultados doporta_crackcaso de teste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.13 Instantâneos dolimite_pressãocaso de teste. . . . . . . . . . . . . . . . . . . . . . 138
10.14 Resultados doperfil_parabólicocaso de teste. . . . . . . . . . . . . . . . . . . . . . . . 139
10.15 Perfil da camada limite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
xxvi
17.6 Resultados doground_vegetation_loadcaso de teste. . . . . . . . . . . . . . . . . . . . 246
17.7 Resultados doground_vegetation_dragcaso de teste. . . . . . . . . . . . . . . . . . . . 247
17.8 Resultados doterra_vegetação_radicaso de teste. . . . . . . . . . . . . . . . . . . . 247
17.9 Resultados doground_vegetation_convcaso de teste. . . . . . . . . . . . . . . . . . . . 248
17.10 Bova et al. casos de teste de conjunto de níveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
17.11 Caso de teste sem ajuste de nível de vento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
18.1 Esboço do pulverizador de aspersão
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
18.2 Parâmetros do padrão de pulverização
xxvii
Lista de mesas
8.1 Coeficientes usados para correlações de transferência de calor por convecção forçada. . . . . . . . . . . . . . 73
xxxx
22.5 Grandezas de saída de fase sólida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
22.6 Grandezas de saída para dispositivos, controles e funções diversas. . . . . . . . . . . . 371
22.7 Quantidades de saída de partículas e gotículas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
22.8 Quantidades de saída HVAC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
xxx
Parte I
1
Capítulo 1
Introdução
O software descrito neste documento, Fire Dynamics Simulator (FDS), é um modelo computacional de dinâmica de
fluidos (CFD) de fluxo de fluido acionado por fogo. O FDS resolve numericamente uma forma das equações de Navier-
Stokes apropriadas para baixa velocidade (Ma1< 0,3), fluxo impulsionado termicamente com ênfase no transporte de
fumaça e calor de incêndios. A formulação das equações e o algoritmo numérico estão contidos no Guia de
Referência Técnica do FDS [3]. A verificação e validação do modelo são discutidas na Verificação FDS [4] e Validação [5
] Guias.
Smokeview é um programa de visualização separado usado para exibir os resultados de uma simulação FDS. Uma
descrição detalhada do Smokeview é encontrada em um guia do usuário separado [2].
Modelo HidrodinâmicoO FDS resolve numericamente uma forma das equações de Navier-Stokes apropriadas para baixas temperaturas.
velocidade, fluxo acionado termicamente com ênfase no transporte de fumaça e calor de incêndios. O algoritmo central
é um esquema explícito de preditor-corretor, com precisão de segunda ordem no espaço e no tempo. A turbulência é
tratada por meio de Large Eddy Simulation (LES). É possível realizar uma Simulação Numérica Direta (DNS) se a malha
numérica subjacente for suficientemente fina. Veja a seção.19.1para mais detalhes.
Modelo de CombustãoPara a maioria das aplicações, o FDS utiliza uma reação química de etapa única e controlada por mistura.
que usa três espécies agrupadas (uma espécie que representa um grupo de espécies). Essas espécies agrupadas são ar,
combustível e produtos. Por padrão, as duas últimas espécies agrupadas são explicitamente computadas. Estão disponíveis
opções para incluir múltiplas reações e reações que não são necessariamente controladas por mistura.
Transporte de RadiaçãoA transferência de calor radiativo está incluída no modelo através da solução da transmissão de radiação
equação de porta para um gás cinza e, em alguns casos limitados, usando um modelo de banda larga. A equação é resolvida
usando uma técnica semelhante aos métodos de volumes finitos para transporte convectivo, portanto o nome dado a ela é
Método de Volumes Finitos (FVM). Usando aproximadamente 100 ângulos discretos, o solucionador de volume finito requer
cerca de 20% do tempo total de CPU de um cálculo, um custo modesto dada a complexidade da transferência de calor por
radiação. Os coeficientes de absorção das misturas gás-fuligem são calculados usando o RadCal
3
modelo de banda estreita [6]. Gotículas líquidas podem absorver e espalhar a radiação térmica. Isto é importante em casos que
envolvem sprinklers de névoa, mas também desempenha um papel em todos os casos de sprinklers. Os coeficientes de absorção e
espalhamento são baseados na teoria de Mie.
GeometriaO FDS aproxima as equações governantes em uma malha retilínea. Obstruções retangulares são
forçado a se conformar com a malha subjacente.
Múltiplas malhasEste é um termo usado para descrever o uso de mais de uma malha retangular em um cálculo.
É possível prescrever mais de uma malha retangular para lidar com casos onde o domínio computacional não é
facilmente incorporado em uma única malha.
Processamento paraleloFDS emprega OpenMP [7], uma interface de programação que explora múltiplos processos
unidades em um único computador. Para clusters de computadores, o FDS emprega Message Passing Interface (MPI) [8
]. Detalhes podem ser encontrados na Seç.3.1.2.
Condições LimitesTodas as superfícies sólidas recebem condições de contorno térmico, além de informações sobre
comportamento de queima do material. A transferência de calor e massa de e para superfícies sólidas é geralmente
tratada com correlações empíricas, embora seja possível calcular diretamente a transferência de calor e massa ao
realizar uma Simulação Numérica Direta (DNS).
Muitas das mudanças no FDS 6 são melhorias nos vários submodelos que não afetam a estrutura básica ou os
parâmetros do arquivo de entrada. A maioria das alterações listadas abaixo não requerem parâmetros de entrada
adicionais além daqueles usados no FDS 5.
Hidrodinâmica e Turbulência
• O transporte escalar conservativo e com diminuição total da variação (TVD) é implementado: Superbee
(padrão VLES) e CHARM (padrão LES e DNS). Esses esquemas evitam excessos e subestimações nas
concentrações e na temperatura das espécies.
• Modelos aprimorados para viscosidade turbulenta são implementados: Deardorff (padrão), Dynamic Smagorinsky
e Vreman. Esses modelos fornecem faixa mais dinâmica ao campo de fluxo para resolução grosseira e
convergem para a solução correta com resolução fina.
• A forma conservativa da equação de entalpia sensível é satisfeita pela construção na formulação FDS 6,
eliminando anomalias de temperatura e erros de conservação de energia devido à mistura numérica.
• Foram feitas melhorias nas funções da parede em termos de momento e fluxo de calor. Um modelo opcional de fluxo de calor de parede
leva em conta fluidos com número de Prandtl variável.
• O Método de Redemoinho Sintético (SEM) de Jarrin é implementado para condições de contorno turbulentas em respiradouros.
Espécies e Combustão
• Misturas de espécies personalizadas (“espécies agrupadas”) podem ser definidas com o grupo de entrada SPEC.
4
• A combustão turbulenta é tratada com um novo modelo de reator descontínuo parcialmente agitado. No nível da sub-rede, as
espécies existem em um de dois estados: não misturadas ou misturadas. O grau de mistura evolui ao longo do passo de tempo
FDS pela interação por troca com o modelo de mistura médio (IEM). A cinética química pode ser considerada infinitamente
rápida ou obedecer a uma lei de taxas de Arrhenius.
• Agora é possível transportar, produzir e consumir espécies de produtos como CO e fuligem. Os mecanismos
químicos devem ser fornecidos pelo usuário e podem incluir reações reversíveis.
Partículas Lagrangianas
• A funcionalidade das partículas Lagrangeanas foi expandida para incluir os mesmos modelos de transferência de calor e pirólise que se
aplicam a paredes sólidas. Em outras palavras, agora você pode atribuir um conjunto de propriedades de superfície a partículas planas,
cilíndricas ou esféricas, da mesma forma que faria para uma superfície sólida.
• Mais alternativas e opções definidas pelo usuário estão disponíveis para a distribuição do tamanho das gotas de líquido.
• Os efeitos de arrasto de meios porosos finos (ou seja, telas de janelas) podem ser simulados usando planos de partículas.
• O modelo básico de transferência de calor e pirólise 1-D para superfícies sólidas permanece o mesmo, mas houve uma alteração
em vários parâmetros de entrada para expandir a funcionalidade e a legibilidade do arquivo de entrada.
• O modelo de pirólise permite que a superfície encolha ou inche, com base nas densidades especificadas do material.
AVAC
• Filtros, aberturas de ventilação e capacidade de aquecimento/resfriamento foram adicionados para sistemas HVAC.
Radiação
• A base de dados RadCal foi ampliada para incluir espécies de combustível adicionais.
• Em células com liberação de calor, o termo de emissão é baseado em um valor corrigidoσT4de modo que quando este termo é
integrado ao volume da chama a fração radiativa especificada (padrão 0,35) seja recuperada. Isto difere do FDS 5 e anteriores,
onde a fração radiativa multiplicada pela taxa de liberação de calor foi aplicada localmente como o termo de emissão.
Computações Multi-Mesh
• Por padrão, o FDS agora itera a pressão e a velocidade na malha e nos limites sólidos. Você pode controlar a tolerância a
erros e o número máximo de iterações por meio de parâmetros na páginaPRESlinha.
5
Funções de controle
• A avaliação deRAMPAareiaDEVCs podem ser interrompidos, congelando seu valor, com base na ativação de um dispositivo
ou função de controle.
Dispositivos e saída
• Múltiplas redes de tubulação podem ser especificadas para sprinklers para redução da vazão com base no número de alturas
operacionais.
• O valor numérico de uma função de controle pode ser emitido com umDEVC.
6
Capítulo 2
Começando
FDS é um programa de computador que resolve equações que descrevem a evolução do fogo. É um programa Fortran que
lê parâmetros de entrada de um arquivo de texto, calcula uma solução numérica para as equações governantes e grava
dados de saída especificados pelo usuário em arquivos. Smokeview é um programa complementar que lê arquivos de saída
FDS e produz animações na tela do computador. Smokeview possui uma interface simples baseada em menus. O FDS não.
No entanto, existem vários programas de terceiros que foram desenvolvidos para gerar o arquivo de texto contendo os
parâmetros de entrada necessários ao FDS.
Este guia descreve como obter o FDS e o Smokeview e como usar o FDS. Um documento separado [2]
descreve como usar o Smokeview.
https://pages.nist.gov/fds-smv/
A distribuição típica do FDS/Smokeview consiste em um pacote de instalação ou arquivo compactado, que está
disponível para MS Windows, Mac OS X e Linux.
Se você quiser manter uma versão mais antiga do FDS e do Smokeview, copie o diretório de instalação para algum
outro local para que não seja sobrescrito durante a instalação atualizada.
O único requisito difícil para executar as versões compiladas do FDS e Smokeview é um sistema operacional
Windows, Linux ou Mac OS X de 64 bits. O único computador ou cluster de computação deve ter processadores
rápidos (CPUs) e pelo menos 2 a 4 GB de RAM por núcleo. A velocidade da CPU determinará quanto tempo o cálculo
levará para terminar, enquanto a quantidade de RAM determinará quantas células da malha podem ser mantidas na
memória. É necessário um grande disco rígido para armazenar a saída dos cálculos. Não é incomum que a saída de
um único cálculo consuma mais de 10 GB de espaço de armazenamento.
A maioria dos computadores adquiridos nos últimos anos são adequados para executar o Smokeview com a ressalva de
que memória adicional (RAM) deve ser adquirida para aumentar o tamanho da memória para pelo menos 2 GB. Isso ocorre
para que o computador possa exibir os resultados sem “trocar” para o disco. Para o Smokeview também é importante obter
uma placa gráfica rápida para o PC usado para exibir os resultados dos cálculos do FDS.
7
A execução do FDS usando MPI requer acesso ao disco compartilhado para cada computador onde os casos serão executados.
Nos sistemas Windows, isso envolve uma rede de domínio com capacidade de compartilhar pastas. Em um sistema Linux ou Mac OS
X, isso envolve sistemas de arquivos NFS montados em cruz com configuração de chaves ssh para login sem senha. Para cálculos
Multi-Mesh, o FDS pode operar em redes padrão de 100 Mb/s. Uma rede gigabit (1000 Mb/s) reduzirá ainda mais os tempos de
comunicação da rede, melhorando as taxas de transferência de dados entre instâncias de FDS executando casos paralelos.
O objetivo de disponibilizar publicamente o FDS e o Smokeview tem sido permitir que engenheiros praticantes
realizem simulações bastante sofisticadas a um custo razoável. Assim, o FDS e o Smokeview foram projetados para
computadores que executam Microsoft Windows, Mac OS X e Linux.
Microsoft WindowsUm pacote de instalação está disponível para o sistema operacional Windows de 64 bits. Não é
recomendado executar o FDS/Smokeview em qualquer versão do MS Windows lançada antes do Windows 7.
Mac OS XExecutáveis pré-compilados são instalados em um diretório selecionado pelo usuário usando um script de instalação.
Recomenda-se Mac OS X 10.4.x ou superior. Você sempre pode baixar a versão mais recente da fonte FDS e
compilar o FDS para outras versões do OS X (veja o Apêndice25para detalhes).
LinuxExecutáveis pré-compilados são instalados em um diretório selecionado pelo usuário usando um script de instalação. Se
o executável FDS pré-compilado não funciona (geralmente devido a incompatibilidades de biblioteca), o código fonte do
FDS Fortran pode ser baixado e compilado (veja o Apêndice25para detalhes). Se o Smokeview não funcionar na estação
de trabalho Linux, você poderá usar a versão Windows para visualizar a saída do FDS.
8
Capítulo 3
Executando FDS
Cada simulação FDS é controlada por um único arquivo de entrada baseado em texto, normalmente com um nome que ajuda a
identificar o caso específico e terminando com a extensão de arquivo .fds.Este arquivo de entrada pode ser escrito diretamente com
um editor de texto ou com a ajuda de uma interface gráfica de usuário (GUI) de terceiros. A simulação é iniciada diretamente pelo
prompt de comando ou pela GUI. A criação de um arquivo de entrada é abordada em detalhes na ParteII. Este capítulo descreve
como a simulação é executada depois que o arquivo de entrada é gravado.
Se você é novo no FDS e no Smokeview, é altamente recomendável que você comece com um arquivo de entrada existente,
execute-o como está e, em seguida, faça as alterações apropriadas no arquivo para o cenário desejado. Ao executar um caso de
amostra, você se familiariza com o procedimento, aprende como usar o Smokeview e garante que seu computador esteja preparado
para a tarefa antes de começar a aprender como criar novos arquivos de entrada.
Arquivos de entrada de amostra estão incluídos como parte da instalação padrão. Um bom caso para um usuário
iniciante está localizado na subpasta chamadaIncêndiosdentro da pasta chamadaExemplos. Encontre o arquivo chamado
teste_simples.fdse copie-o para uma pasta em seu computador que não esteja na pasta de instalação. A razão
para fazer isso é evitar sobrecarregar a pasta de instalação com muitos arquivos de saída. Siga as instruções
na Seç.3.1.2para executar este caso simples de malha única. A simulação deve levar apenas alguns minutos.
Assim que a simulação for concluída, use o Smokeview para examinar a saída. Dessa forma, você aprenderá
rapidamente o básico para executar e analisar simulações.
As simulações FDS podem explorar múltiplas unidades de processamento em um único computador ou em vários computadores em
uma rede. Antes de executar uma simulação FDS, você deve se familiarizar com o hardware do seu computador.
Se você estiver usando um computador com Microsoft Windows, abra o Gerenciador de Tarefas, guia Desempenho e
procure o número detomadas,núcleos, eprocessadores lógicos1. O soquete refere-se ao conector físico da placa-mãe que
possui uma fonte de alimentação e uma conexão à memória de acesso aleatório (RAM). Isso geralmente é chamado de
unidade central de processamento ou CPU. Algumas placas-mãe têm vários soquetes que podem, por sua vez, suportar
várias CPUs, mas para desktops ou laptops Windows típicos, há um soquete/CPU. Cada CPU, entretanto, normalmente
possui vários núcleos, e cada núcleo é essencialmente uma unidade de processamento independente que compartilha
acesso à energia e à memória. Às vezes, os núcleos são chamados denúcleos físicospara distingui-los denúcleos lógicosou
processadores lógicos. Um processador lógico é um dos múltiplostópicosque pode ser suportado
1Os termos soquetes, núcleos e processadores lógicos são usados pelo Gerenciador de Tarefas do Windows 10 em um computador que usa um processador
Intel. Esses termos podem variar de acordo com diferentes versões do Windows e diferentes processadores.
9
por um núcleo. Para executar o FDS em um computador Windows, o número de processadores lógicos é a
consideração mais importante.
Se você estiver executando o FDS em qualquer variedade de Linux ou Mac OS X, poderá determinar o número de
processadores lógicos usando o comando “lscpu” para Linux ou “sysctl hw” para OS X. Esses sistemas operacionais podem
usar termos ligeiramente diferentes, mas os processadores são semelhantes, senão iguais, aos de um computador
Windows.
O FDS pode ser executado em um único computador, usando um ou mais núcleos, ou pode ser executado em vários
computadores. A partir da versão 6.2.0 do FDS, para cada sistema operacional suportado (Windows, Linux, Mac OS X) existe
um único2arquivo executável chamadofds (com um .exe file extensão no Windows).
Existem duas maneiras pelas quais o FDS pode ser executado em paralelo; isto é, explorar vários núcleos em um único
computador ou vários processadores/núcleos distribuídos por vários computadores em uma rede ou cluster de computação.
A primeira forma é OpenMP (Open Multi-Processing) [7] que permite que um único computador execute uma simulação FDS
de malha única ou múltipla em vários núcleos. O uso do OpenMP não exige que o domínio computacional seja dividido em
múltiplas malhas, e ainda funcionará com casos que possuem múltiplas malhas definidas. A segunda maneira de executar o
FDS em paralelo é por meio de MPI (Message Passing Interface). Aqui, o domínio computacional deve ser dividido em
múltiplas malhas e normalmente cada malha recebe seu próprioprocesso. Esses processos podem ser limitados a um único
computador ou podem ser distribuídos em uma rede.
O que é OpenMP?
Se a sua simulação envolver apenas uma malha, você poderá executá-la apenas em um computador, mas poderá explorar
seus múltiplos processadores ou núcleos usando OpenMP. Ao instalar o FDS, ele consultará seu computador para
determinar o número de núcleos disponíveis. Por padrão, o FDS usará aproximadamente metade dos núcleos disponíveis3
em um único computador. Isso é feito por dois motivos: (1) para não assumir o controle de toda a máquina ao executar uma
simulação e (2) porque usar todos os núcleos para uma única simulação pode não minimizar o tempo de execução. OpenMP
funciona melhor ao explorar múltiplos núcleos (lógicos) associados a um único processador (físico) ou “soquete”. Por
exemplo, se o seu computador tiver dois processadores, cada um com 4 núcleos, pode não valer a pena usar todos os 8
núcleos em uma simulação OpenMP. Você precisa experimentar sua própria máquina para determinar a estratégia que é
melhor para você. Para alterar o número de núcleos disponíveis para uma determinada simulação FDS, você pode definir
uma variável de ambiente chamadaOMP_NUM_THREADS.A forma de fazer isso depende do sistema operacional e será
explicada a seguir.
Quando o trabalho for iniciado, o FDS imprimirá o número de núcleos que serão usados para esse trabalho. Observe
que esta configuração só se aplica até você sair ou reiniciar sua máquina. Para definir o valor padrão dos núcleos disponíveis
na inicialização, oOMP_NUM_THREADSA variável de ambiente também pode ser definida nos scripts de configuração de
inicialização na máquina. Consulte a documentação do seu sistema operacional para obter mais informações sobre como
configurar variáveis de ambiente na inicialização.
O que é MPI?
MPI (Interface de passagem de mensagens) [8] permite que vários computadores ou vários núcleos em um computador
executem uma tarefa FDS de malha múltipla. A ideia principal é que você deve dividir o domínio FDS em múltiplas malhas e
então o campo de fluxo em cada malha é calculado como um MPIprocesso.Oprocessopode ser considerada uma “tarefa”
2As versões anteriores do FDS continham dois executáveis, um executado em um único processador e outro executado em vários processadores. A
partir do FDS 6.2.0, esses dois executáveis foram combinados em um e podem ser executados em modo serial ou paralelo.
3Para determinar o número de núcleos usados pelo OpenMP, basta digitarfdsno prompt de comando.
10
que você veria no Gerenciador de Tarefas do Windows ou executando o comando “top” em uma máquina Linux/Unix. MPI
trata da transferência de informações entre as malhas, ou seja, processos MPI. Normalmente, cada malha recebe seu
próprioprocessoem um cálculo de MPI, embora também seja possível atribuir múltiplas malhas a um único MPIprocesso.
Desta forma, malhas grandes podem ser computadas em núcleos dedicados, enquanto malhas menores podem ser
agrupadas em um único núcleo.processorodando em um único núcleo, sem a necessidade de passagem de mensagens MPI.
Observe também que FDS se refere às suas malhas pelos números 1, 2, 3 e assim por diante, enquanto MPI se refere aos seus
processos pelos números 0, 1, 2 e assim por diante. Assim, a Malha 1 é atribuída ao Processo 0; Malha 2 para Processo 1 e assim por
diante. Você não numera explicitamente as malhas ou os processos, mas as declarações de erro do FDS ou do MPI podem referir-se
às malhas ou aos processos por número. Por exemplo, se for um caso FDS com cinco malhas, a primeira impressão (geralmente na
tela, a menos que seja orientado de outra forma) é:
Isso significa que 5 processos MPI (numerados de 0 a 4) foram iniciados e que cada malha está sendo tratada por seu próprio processo. Os
processos podem estar no mesmo computador ou em computadores diferentes. Cada computador possui sua própria memória (RAM), mas
cada processo MPI individual possui sua própria memória independente, mesmo que os processos estejam no mesmo computador.
Existem diferentes implementações de MPI, assim como existem diferentes compiladores Fortran e C. Cada
implementação é essencialmente uma biblioteca de sub-rotinas chamadas de FDS que transferem dados de um processo
para outro através de uma rede rápida. O formato das chamadas de sub-rotina tem sido amplamente aceito na comunidade,
permitindo a diferentes fornecedores e organizações a liberdade de desenvolver software melhor enquanto trabalham
dentro de uma estrutura aberta. Para Mac OS X, usamos Open MPI, uma implementação de código aberto desenvolvida e
mantida por um consórcio de parceiros acadêmicos, de pesquisa e industriais (www.open-mpi.org). Para Windows e Linux,
usamos Intel MPI.
MPI e OpenMP podem ser usados juntos. Por exemplo, 4 processos MPI podem ser atribuídos a 4 computadores diferentes, e
cada processo MPI pode ser suportado por, digamos, 8 threads OpenMP, assumindo que cada computador tenha 8 núcleos. A maior
parte da aceleração é alcançada pelo MPI. Para uma rede razoavelmente rápida, você pode esperar que 4 processos MPI acelerem o
tempo de computação em um fator de cerca de 0,9 vezes 4. O OpenMP pode fornecer um fator extra de até cerca de 2,
independentemente do número de núcleos usados além de cerca de 4.
11
3.2 Iniciando um Trabalho FDS
Para iniciar uma simulação FDS, você pode usar uma interface gráfica de usuário (GUI) de terceiros ou pode invocar o
prompt de comando do computador e digitar um comando de uma linha, conforme descrito nas seções a seguir.
Abra o prompt de comando especial do FDS, CMDfds, que deve aparecer na sua área de trabalho quando você
instalar o FDS. Ao abrir este prompt de comando especial, um script é executado automaticamente garantindo que
os comandos e bibliotecas do FDS sejam todos consistentes. Mude os diretórios (“cd”) para onde está localizado o
arquivo de entrada do caso. Decida quantos processos lógicos você deseja dedicar à simulação. Suponha que você
tenha 8 processadores lógicos (núcleos) disponíveis e uma tarefa FDS que usa 4 malhas, digite o seguinte no prompt
de comando:
fds_local -p 4 -o 2 nome_do_trabalho.fds
Este trabalho explorará todos os 4×2 = 8 processadores lógicos, que você pode confirmar abrindo o
Gerenciador de Tarefas. O -pparâmetro indica o número de processos MPI, e o -óindica o número de threads
OpenMP.
O progresso da simulação é indicado pela saída de diagnóstico escrita na tela. Informações detalhadas de diagnóstico
são gravadas automaticamente em um arquivonome_trabalho.out.A saída da tela pode ser redirecionada para um arquivo
através do comando alternativo:
O procedimento a seguir destina-se a uma rede de domínio do Windows; isto é, uma rede onde as contas dos usuários são gerenciadas
centralmente, de forma que qualquer usuário possa fazer login em qualquer máquina usando as mesmas credenciais.
1. Na primeira vez que você executar uma tarefa, deverá fornecer seu nome de domínio e senha emitindo este comando:
mpiexec -registrar
2. Crie um arquivo de texto, digamoshosts.txt,e nele liste, linha por linha, os nomes dos seus computadores:
Fred:3
Wilma:2
dinossauro:3
onde o número após o nome é o número de processos MPI que você deseja invocar nesse computador. A
soma de todos os números deve ser o número de processos MPI para o trabalho, geralmente igual ao
número de malhas.
12
4. Compartilhe (com privilégio de leitura e gravação) um diretório de trabalho em sua máquina. Não coloque este diretório
dentro da pasta “Arquivos de Programas” porque ele está protegido contra gravação. Compartilhe o diretório de
trabalho com todos para que todos os outros computadores possam vê-lo. Observe como esse diretório é definido nos
outros computadores. Às vezes é \\<meu_computador>\<meu_diretório_compartilhado>\e às vezes é definido através do
endereço IP numérico, como \\129.6.129.87\<meu_diretório_compartilhado>\.A definição depende da forma como o seu
servidor de nomes de domínio (DNS) funciona. Em qualquer caso, não deixe espaços em branco em nenhum diretório
ou nome de arquivo. Descobrimos que espaços em branco criam todo tipo de problemas. A menos que você seja um
especialista em DOS/Windows, evite-os.
Se você quiser usar mais de um thread OpenMP por processo MPI, adicione o argumento
6. Se for bem-sucedido, você deverá ver a impressão normal do FDS indicando quais processos MPI estão atribuídos a qual
computador. Se não tiver êxito, consulte o administrador da rede ou monitore os fóruns de ajuda do FDS para obter
orientação.
exportar OMP_NUM_THREADS=M
mpiexec -n N -hostfile hosts.txt /home/username/.../fds job_name.fds >& job_name.err &
comp1 espaços=2
comp2 slots = 1
slots comp3 = 2
ondecompXsão os nomes dos nós disponíveis eslotsindique o número de núcleos disponíveis em cada nó. O parâmetroslotsé
opcional. Em um cluster compartilhado por outros, você não deve executar tarefas longas sem um agendador de tarefas
porque é possível que várias tarefas compartilhem os mesmos nós/núcleos quando um agendador não é usado. Se você
estiver usando uma única estação de trabalho Linux ou Mac OS X, não será necessário definir um arquivo host. Você só
precisa invocar o descrito anteriormentempiexeclinha com vários processadores adequados ao seu gabinete e computador.
13
3.2.4 Usando MPI e OpenMP juntos
Por dividir o trabalho computacional de maneira mais eficiente, o MPI é a melhor escolha para
simulações de malhas múltiplas. Porém, é possível combinar MPI e OpenMP na mesma simulação. Se
você tiver vários computadores à sua disposição e cada computador tiver vários núcleos, poderá atribuir
um processo MPI a cada computador e usar vários núcleos em cada computador para acelerar o
processamento de uma determinada malha usando OpenMP. Normalmente, o uso do OpenMP acelera o
cálculo em no máximo um fator 2, independentemente de quantos threads OpenMP você atribui a cada
processo MPI. Geralmente é melhor dividir o domínio computacional em mais malhas e definir o número
de threads OpenMP como 1. Tudo isso depende do seu sistema operacional, hardware, tráfego de rede
específico e assim por diante.
A maioria das simulações FDS relatadas na literatura usam de uma a várias dezenas de malhas, e o MPI é o método
escolhido para paralelizar esses trabalhos. Normalmente as malhas são mapeadas para processos MPI de maneira um-para-
um e as malhas contêm um número comparável de células da grade. Entretanto, é possível executar trabalhos FDS que
envolvem milhares de malhas. Em 2016, os desenvolvedores de FDS do NIST tiveram acesso ao Oak Ridge Leadership
Computing Facility no Oak Ridge National Laboratory, no Tennessee. A instalação fornece aos usuários acesso a clusters de
computação com um grande número de processadores conectados por meio de uma rede de alta velocidade. Simulações
FDS foram realizadas usando até aproximadamente 10.000 processos MPI. Se você tiver acesso a instalações como esta, aqui
estão algumas dicas:
1. Use apenas MPI. O OpenMP provavelmente não acelerará significativamente o tempo de execução e consumirá núcleos que
poderiam ser melhor utilizados na execução de mais processos MPI.
3. DefinirDT_CPUpara algum intervalo de tempo conveniente noJOGAR FORAlinha. Este parâmetro instrui o FDS a gravar
periodicamente um arquivo (CHID_cpu.csv)que registra o tempo de relógio que cada processo MPI consome nas sub-
rotinas principais. Isso pode ajudá-lo a determinar se algum dos processos MPI passa uma quantidade excessiva de
tempo ocioso. Observe que o arquivo da CPU é gravado automaticamente no final da simulação.
4. Execute sua tarefa por um curto período de tempo para estimar o tempo necessário para a tarefa completa. A maioria dos grandes
clusters de computação limitará você a um determinado período de tempo, após o qual seu trabalho será simplesmente interrompido.
Se você precisar usar o recurso de reinicialização no FDS, pratique primeiro com um trabalho curto para garantir que o trabalho possa
continuar corretamente.
5. Faça um forte estudo de escala para o seu caso específico. Ou seja, execute o trabalho em um número fixo de etapas de
tempo com o menor número de malhas que cabem na memória da máquina. Em seguida, divida a malha por fatores de
2, 4 ou 8 até chegar a um ponto em que o aumento do número de malhas/processos não proporcione uma aceleração
significativa.
14
3.3 Eficiência de Simulações Multiprocessos
Ao final de um cálculo, o FDS imprime um arquivo chamadoCHID_cpu.csvque registra a quantidade de tempo de CPU que cada
processo MPI gasta nas principais rotinas. Por exemplo, o cabeçalho da colunaVELOrepresenta todas as sub-rotinas relacionadas ao
cálculo da velocidade do fluxo;MASSArepresenta todas as sub-rotinas relacionadas ao cálculo das frações de massa e densidade das
espécies. O cabeçalho da colunaPRINCIPALrepresenta todo o tempo de CPU que não é explicitamente contabilizado; isto é, tempo
gasto na malha de controle principal. Idealmente, isso deveria representar uma pequena porcentagem do uso geral do tempo da
CPU.
Existem duas abordagens básicas para avaliar a eficiência ouescalabilidadedo MPI. O primeiro é conhecido como
“escalonamento fraco”, no qual a quantidade de trabalho realizado por cada processo MPI permanece a mesma e
processos adicionais são adicionados para resolver um problema maior. Por exemplo, se você estiver simulando o
vento sobre um trecho de terreno e continuar adicionando mais e mais malhas da mesma dimensão física e
numérica, atribuindo cada nova malha ao seu próprio processo MPI, de modo a simular um trecho cada vez maior de
terreno, então seria de esperar que o tempo total da simulação não aumentasse significativamente com cada malha
adicional. A eficiência de tal cálculo é dada pela seguinte expressão:
t
Ec=1 (3.1)
tN
ondet1é o tempo de CPU para o caso com 1 malha (processo MPI), etNé o tempo de CPU para o caso com Nmalhas
(processos MPI). O gráfico à esquerda da Fig.3.1mostra os resultados de um estudo de escalonamento fraco do FDS. Malhas
com dimensão 50 por 50 por 50 são alinhadas lado a lado, variando de 1 a 288 malhas. Idealmente, o tempo de CPU deveria
ser aproximadamente o mesmo para todos os casos, porque cada processo MPI está realizando a mesma quantidade de
trabalho. Somente a comunicação malha a malha deve levar a ineficiências. Porém, observe na figura que a eficiência dos
casos de malha 1, 2, 4 e 8 é maior do que aqueles com mais processos MPI. A razão para isso é que na maioria dos clusters
de computação, cada nó tem vários núcleos e, normalmente, os trabalhos são executados mais rapidamente quando um nó
não está completamente cheio. Esses casos de teste foram executados no NIST, onde há um cluster de computação com 8
núcleos por nó e outro com 12 núcleos por nó.
A segunda forma de avaliar a eficiência do MPI é conhecida como “dimensionamento forte”. Aqui, você simula um
determinado cenário em uma única malha e, em seguida, divide a malha para que o tamanho da célula e o número total de
células não mudem. Idealmente, se você dividir uma determinada malha em duas e executar o caso com dois processos MPI
em vez de um, esperaria que seu tempo de cálculo diminuísse por um fator de dois. Mas à medida que aumenta o número
de processos MPI, aumenta a quantidade de comunicação necessária entre os processos. Você também aumenta o número
total de células de limite a serem computadas, mesmo que o número total de células em fase gasosa permaneça o mesmo. A
eficiência de tal conjunto de cálculos é dada por:
t1
Eé= (3.2)
N tN
No forte estudo demonstrado aqui, uma única malha de dimensão 180 por 160 por 120 é dividida em uma série de
malhas menores, com o menor particionamento sendo 432 malhas de dimensão 20 por 20 por 20. A diminuição
resultante no tempo de CPU do todo o cálculo e as principais sub-rotinas são mostrados no gráfico à direita da Fig.3.1
. Idealmente, o tempo de CPU deve ser inversamente proporcional ao número de malhas (processos MPI); isto é, os
tempos relativos da CPU devem seguir as linhas pontilhadas pretas. A única exceção notável a esta regra é para
“COMM” ou COMUnicações. Esta curva representa o tempo gasto na comunicação de informações pela rede.
15
FDS6.7.9-228-g09d216de8-mestre FDS6.7.9-228-g09d216de8-mestre
1.2 100
Teste de escala forte Total
Teste de escalonamento fraco DIVG
1 MASSA
10-1 VELO
PRES
COM
10-2
Eficiência
0,6
10-3
0,4
0,2 10-4
FDS
Ideal
0 10-5
1 10 100 1000 1 10 100 1000
Processos MPI Processos MPI
FDS-6.8.0-0-g886e009-lançamento
100
643
1283
80
Tempo relativo do relógio (%)
60
40
20
0
1 2 3 4 5 6 7 8
Número de threads OpenMP
Figura re 3.2: Comparação de tempo de referência para os casos de teste OpenMP. O computador que esses trabalhos têm 2
cal) executou soquetes, e cada soquete possui 4 núcleos (lógicos). Isso explica a diminuição da eficiência (fisiond 4 threads OpenMP.
16
3.4 Monitorando o Progresso
Os diagnósticos para um determinado cálculo são gravados em um arquivo chamadoCHID.fora.O tempo de simulação atual e o
intervalo de tempo estão escritos aqui, para que você possa ver até que ponto o programa progrediu. A qualquer momento durante
um cálculo, o Smokeview pode ser executado e o progresso pode ser verificado visualmente.
Por padrão, o diagnóstico noCHID.out fieles são detalhados. Por padrão, seu valor éFpara trabalhos envolvendo 32
malhas ou menos, eTpara números maiores. Ao executar trabalhos MPI grandes, pode ser vantajoso silenciar essa saída,
que é toda escrita pelo processo MPI 0. Para fazer isso, adicione
&DUMP SUPPRESS_DIAGNOSTICS=T /
Esteja ciente de que o arquivo de saída não monitorará erros de velocidade limite da malha neste caso; ele ecoará apenas o
tempo de simulação e o intervalo de tempo. Você ainda pode gerar umBNDFdeQUANTIDADE='VELOCITY_ERROR',se necessário.
Para interromper um cálculo antes do horário programado, crie um arquivo no mesmo diretório dos arquivos de saída
chamadosCHID.parar.A existência deste arquivo interrompe o programa normalmente, fazendo com que ele despeje as variáveis de
fluxo mais recentes para visualização no Smokeview.
Como os cálculos podem durar horas ou dias, há um recurso de reinicialização no FDS. Detalhes de como usar esse recurso são
fornecidos na Seção.5.6. Resumidamente, especifique no início do cálculo com que frequência um arquivo de “reinicialização” deve
ser salvo. Caso aconteça algo que interrompa o cálculo, como uma queda de energia, o cálculo poderá ser reiniciado a partir do
momento em que o último arquivo de reinicialização foi salvo.
Também é possível controlar o tempo de parada e o despejo de arquivos de reinicialização usando funções de controle
conforme descrito na Seç.18,5.
17
Capítulo 4
Suporte ao usuário
Não é incomum, ao longo de um projeto, encontrar vários problemas, alguns relacionados ao FDS, outros
relacionados ao seu computador. FDS é um software de simulação com uso intensivo de CPU e memória que pode
levar o processador e a memória do seu computador ao limite. Na verdade, não há limites fixos no FDS que impeçam
você de iniciar um cálculo que seja muito grande para o seu hardware. Mesmo que sua máquina tenha memória
adequada (RAM), você ainda pode configurar facilmente cálculos que podem levar semanas ou meses para serem
concluídos. É difícil prever no início de uma simulação quanto tempo e quanta memória será necessária. Aprenda
como monitorar o uso de recursos do seu computador. Comece com pequenos cálculos e vá aumentando.
Embora muitos recursos do FDS estejam bastante maduros, há muitos que não o são. O FDS é usado para aplicações
práticas de engenharia, mas também para pesquisas em incêndio e combustão. À medida que você se familiarizar com o
software, inevitavelmente se deparará com áreas que são de interesse de pesquisa atual. Na verdade, queimar uma sala
cheia de móveis comuns é uma das aplicações mais desafiadoras do modelo. Portanto, seja paciente e aprenda a dissecar
um determinado cenário nas suas partes constitutivas. Por exemplo, não tente simular a propagação de um incêndio por um
andar inteiro de um edifício, a menos que você tenha simulado a queima de vários combustíveis com cálculos relativamente
pequenos.
Junto com o Guia do Usuário do FDS, existem recursos disponíveis na Internet. Esses recursos incluem um “Issue
Tracker” para relatar bugs e solicitar novos recursos, um “Grupo de Discussão” para esclarecer dúvidas e discutir
tópicos mais gerais em vez de apenas problemas específicos, e “Páginas Wiki” que fornecem informações
complementares sobre o desenvolvimento do FDS-SMV. ferramentas de terceiros e outros recursos. Antes de usar
esses recursos on-line, é importante primeiro tentar resolver seus próprios problemas realizando cálculos de teste
simples ou depurando seu arquivo de entrada. As próximas seções fornecem uma lista de declarações de erro e
sugestões sobre como resolver problemas.
19
recuperar os arquivos de código-fonte exatos que foram usados para construir esse executável.
Adquira o hábito de verificar o número da versão do seu executável, verificando periodicamente se há novos
lançamentos que já possam ter resolvido o seu problema e nos diga qual versão você está usando se relatar um
problema.
Um cálculo FDS pode terminar antes do limite de tempo especificado. A seguir está uma lista de declarações de erro comuns
e como diagnosticar os problemas:
Erros de arquivo de entrada:Os erros mais comuns no FDS são devidos a instruções de entrada digitadas incorretamente. Esses erros
resultará na interrupção imediata do programa e em uma declaração como “ERRO: Problema com a linha HEAD”. Para esses erros,
verifique a linha no arquivo de entrada nomeado na instrução de erro. Certifique-se de que os nomes dos parâmetros estejam escritos
corretamente. Certifique-se de que uma / (barra) seja colocada no final de cada entrada da lista de nomes. Certifique-se de que o tipo
certo de informação esteja sendo fornecido para cada parâmetro, como se um número real é esperado, ou vários números inteiros, ou
qualquer outra coisa. Certifique-se de que não haja caracteres não-ASCII sendo usados, como às vezes pode acontecer quando o texto é
cortado e colado de outros aplicativos ou software de processamento de texto. Certifique-se de que zeros sejam zeros e O's sejam O's.
Certifique-se de que 1 não seja! Certifique-se de que apóstrofos sejam usados para designar sequências de caracteres. Certifique-se de
que o arquivo de texto em uma máquina Unix/Linux não tenha sido criado em uma máquina Windows evice-versa. Certifique-se de que
todos os parâmetros listados ainda estejam sendo usados – novas versões do FDS geralmente eliminam ou alteram parâmetros,
forçando você a reexaminar arquivos de entrada antigos.
Erros de instabilidade numérica:É possível que durante um cálculo FDS a velocidade do fluxo em algum local
A variação no domínio pode aumentar devido a um erro numérico, fazendo com que o tamanho do passo de tempo diminua até um ponto1
onde a lógica no código decide que os resultados não são físicos e interrompe o cálculo com uma mensagem de
erro no arquivoCHID.fora.Nesses casos, o FDS termina despejando um arquivo Plot3D final, dando uma dica de
onde o erro está ocorrendo no domínio computacional. Normalmente, uma instabilidade numérica pode ser
identificada por vetores de velocidade ficticiamente grandes que emanam de uma pequena região dentro do
domínio. As causas comuns de tais instabilidades são:
• obstruções incompatíveis ou dutos ocos em uma interface de malha onde a resolução da grade muda
• fluxo de alta velocidade através de uma pequena abertura, em particular aberturas destinadas a modelar vazamentos. Existem
maneiras melhores de modelar vazamentos, conforme descrito na Seç.10.3.2.
• o uso deADIABÁTICOcomo uma condição de contorno de fase sólida. Este parâmetro só deve ser usado para
testes porque nenhum material sólido tem condutividade térmica zero. O uso deste parâmetro pode
causar flutuações não físicas na interface sólido-gás.
• uma molécula de combustível de alto peso molecular (>100 g/mol) que não está no banco de dados FDS, ApêndiceA.
Nesses casos, reduza o peso molecular, mas mantenha as proporções atômicas ou defina o calor específico do
combustível emESPEC.Veja a seção.12.1.3para detalhes.
1Por padrão, o cálculo é interrompido quando o intervalo de tempo cai abaixo de 0,0001 do intervalo de tempo inicial. Este fator pode ser alterado
através doTEMPOlinha especificando oLIMITING_DT_RATIO.
20
• túneis longos e selados, nos quais flutuações de pressão podem causar artefatos numéricos espúrios. Veja a
seção.21para detalhes.
Existem várias maneiras de resolver o problema, dependendo da situação. Tente diagnosticar e corrigir o problema
antes de relatá-lo. É difícil para qualquer pessoa, exceto o originador do arquivo de entrada, diagnosticar o problema.
Recursos computacionais inadequados:O cálculo pode estar usando mais RAM do que a máquina possui (você
verá uma mensagem de erro como “ERRO: Falha na alocação de memória para ZZ na rotina INIT”) ou os arquivos de
saída podem ter usado todo o espaço disponível em disco. Nessas situações, o computador pode ou não produzir uma
mensagem de erro inteligível. Às vezes, o computador simplesmente não responde. É sua responsabilidade garantir
que o computador possua recursos adequados para fazer o cálculo. Lembre-se de que não há limite para o tamanho ou
a duração dos cálculos do FDS – depende dos recursos do computador. Para qualquer nova simulação, tente executar o
caso com uma malha de tamanho modesto e gradualmente faça refinamentos até que o computador não consiga mais
lidar com isso. Em seguida, diminua um pouco o tamanho do cálculo para que o computador possa executar o gabinete
confortavelmente. Tentar rodar com 90% a 100% dos recursos do computador é arriscado; usar MPI e várias máquinas
seria melhor. Se você estiver usando uma máquina Linux/Unix, certifique-se de que o tamanho da pilha seja ilimitado, o
que permitirá que o FDS acesse o máximo possível de RAM. A alteração do limite do tamanho da pilha difere de acordo
com cada tipo de shell, por isso é melhor fazer uma pesquisa on-line para descobrir como garantir que o tamanho da
pilha seja ilimitado.
Erros de tempo limite do MPI:Se houver um erro ou atraso na comunicação de um MPI (Message Passing
Interface) para outro, você poderá ver uma declaração de erro como "ERROR: MPI exchange ... timeout for
MPI process ..." Isso indica que, por qualquer motivo, uma mensagem MPI nunca chegou ao seu destino e
o programa foi encerrado . O parâmetro de entradaMPI_TIMEOUT,especificado noDIVERSOS
linha, define o tempo que o FDS aguarda a conclusão da comunicação. Por padrão, são 600 s. Este é um período
de tempo extremamente longo para aguardar a conclusão de uma comunicação MPI e normalmente significa
que algo deu muito errado. Se você acredita que há uma razão para o atraso, por exemplo, uma malha é muito
maior em tamanho ou tem muito mais trabalho a fazer do que outras malhas, então definaMPI_TIMEOUTpara um
valor maior e esperar pelo melhor. No entanto, o tempo limite pode indicar que há algo errado com a forma
como o cálculo foi configurado, ou algo errado com a sua rede e o dispositivo específico. tecido de comunicação
que ele usa. Se você não conseguir determinar o problema, envie uma versão simples do caso que não
Rastreador de problemas.
Erro de conexão de malha:Se a disposição das malhas for complicada, o FDS poderá não conseguir resolver
qual malha está conectada a qual, e normalmente a mensagem de erro “Tempo limite do teste de conexão da malha
expirou para o processo MPI ...” aparece no início da simulação, antes que ocorra qualquer intervalo de tempo. Uma
possível solução para este problema, além de simplificar a disposição das malhas, é garantir que as malhas finas ou
21
quaisquer malhas incorporadas são listadas primeiro no arquivo de entrada. Dessa forma, o FDS tem mais chances de registrar
as conexões adequadas entre as malhas.
Erros de gravação de arquivo:Ocasionalmente, especialmente em máquinas Windows, o FDS falha porque não é permitido
para gravar em um arquivo. Uma declaração de erro típica diz:
forrtl: grave (47): grava no arquivo READONLY, unidade 8598, arquivo C:\Users\...\
A unidade, neste caso 8598, é apenas um número que o FDS associou a um dos arquivos de saída. Se este
erro ocorrer logo após o início do cálculo, você pode tentar adicionar a frase
FLUSH_FILE_BUFFERS=F
noJOGAR FORAlinha do arquivo de entrada (ver Sec.22.1). Isso impedirá que o FDS tente liberar o conteúdo dos buffers
internos, algo que ele faz para possibilitar a visualização da saída do FDS no Smokeview durante a simulação do FDS. Em
algumas máquinas Windows, você pode encontrar configurações de segurança que impedem que programas de linha
de comando, como o FDS, gravem em pastas do sistema que contêm arquivos de programas. Neste caso, tente
executar novamente o caso em uma pasta que não seja do sistema (ou seja, um local dentro do seu diretório inicial).
Inicialização de Poisson:Às vezes, logo no início de um cálculo, aparece um erro informando que há um
problema com a “inicialização Poisson”. A equação da pressão no FDS é conhecida como equação de Poisson. O
solucionador de Poisson consiste em um grande sistema de equações lineares que deve ser inicializado no início
do cálculo. Na maioria das vezes, um erro na etapa de inicialização é devido a uma malhaIJKdimensão menor que
4 (exceto no caso de cálculo bidimensional). Também é possível que algo esteja fundamentalmente errado com
as coordenadas do domínio computacional. Diagnosticar o problema verificando oMALHAlinhas no arquivo de
entrada.
Como o desenvolvimento do FDS está em andamento, inevitavelmente ocorrerão problemas com diversas rotinas e
recursos. Os desenvolvedores precisam saber se um determinado recurso não está funcionando, e relatar problemas é
incentivado. No entanto, o problema deve ser claramente identificado. A melhor maneira de fazer isso é simplificar o arquivo
de entrada tanto quanto possível para que o bug possa ser diagnosticado (ou seja, criar e enviar um exemplo funcional
mínimo). Além disso, limite os relatórios de bugs aos recursos que claramente não funcionam. Problemas físicos, como
incêndios que não acendem, chamas que não se espalham, etc., podem estar relacionados à resolução da malha ou à
formulação do cenário, e você precisa investigar o problema primeiro antes de relatá-lo. Se uma mensagem de erro vier do
sistema operacional e não do FDS, primeiro investigue algumas das possibilidades mais óbvias, como tamanho da memória,
Se isso não resolver o problema, relate o problema com o máximo de informações sobre a mensagem de erro e as
circunstâncias relacionadas ao problema. O arquivo de entrada deve ser simplificado tanto quanto possível para que o bug
ocorra no início do cálculo. Anexe o arquivo de entrada simplificado se necessário, seguindo as instruções fornecidas no site.
Dessa forma, os desenvolvedores podem executar rapidamente o arquivo de entrada problemático e, com sorte,
diagnosticar o problema.
Observação: relatórios de bugs, problemas, solicitações de recursos e melhorias específicos devem ser postados no
Issue Tracker e não no Grupo de discussão.
22
parte II
23
capítulo 5
A operação do FDS é baseada em um único ASCII1arquivo de texto contendo parâmetros organizados emlista de nomes2
grupos. O arquivo de entrada fornece ao FDS todas as informações necessárias para descrever o cenário. O arquivo
de entrada é salvo com um nome comonome_do_trabalho.fds,ondenome_do_trabalhoé qualquer sequência de caracteres
que ajude a identificar a simulação. Se esta mesma string for repetida sob oCABEÇAgrupo namelist dentro do arquivo
de entrada, todos os arquivos de saída associados ao cálculo terão esse nome de prefixo comum.
Não deve haver espaços em branco no nome do trabalho. Em vez disso, use o caractere sublinhado para
representar um espaço. Usar caracteres de sublinhado em vez de espaço também se aplica à prática geral de nomear
diretórios em seu sistema.
Esteja ciente de que o FDS simplesmente substituirá os arquivos de saída de um determinado caso se o nome atribuído for o
mesmo. Isso é conveniente ao desenvolver um arquivo de entrada porque você economiza espaço em disco. Apenas tome cuidado
para não substituir um cálculo que deseja manter.
Os parâmetros são especificados no arquivo de entrada usandolista de nomesregistros formatados. Cada registro da lista de nomes
começa com o caractere e comercial, &, seguido imediatamente pelo nome do grupo da lista de nomes, depois por uma lista
delimitada por vírgulas dos parâmetros de entrada e, finalmente, por uma barra, /. Por exemplo, a linha
define vários valores de parâmetros contidos noJOGAR FORAgrupo de lista de nomes. Os significados destes vários
parâmetros serão explicados nos capítulos subsequentes. Os registros da lista de nomes podem abranger várias linhas no
arquivo de entrada, mas certifique-se de encerrar o registro com uma barra ou os dados não serão compreendidos. Não
adicione nada a uma linha da lista de nomes além dos parâmetros e valores apropriados para esse grupo. Caso contrário, o
FDS irá parar imediatamente após a execução.
Os parâmetros dentro de um registro de lista de nomes podem ser separados por vírgulas, espaços ou quebras de
linha. É recomendável usar vírgulas ou quebras de linha e nunca usar tabulações porque elas não estão explicitamente
definidas na estrutura de dados da lista de nomes. Comentários e notas podem ser gravados no arquivo, desde que nada
venha antes do "e" comercial, exceto um espaço, e nada venha entre o "e" comercial e a barra, exceto os parâmetros
apropriados correspondentes a esse grupo de lista de nomes específico.
1ASCII – Código Padrão Americano para Intercâmbio de Informações. Existem 256 caracteres que constituem o texto ASCII padrão.
2Alista de nomesé um registro de entrada Fortran.
25
Os parâmetros no arquivo de entrada podem ser números inteiros, reais, cadeias de caracteres ou parâmetros lógicos. Um parâmetro
lógico éTouF-os períodos são uma convenção Fortran. As sequências de caracteres listadas neste Guia do usuário devem ser copiadas
exatamente como estão escritas – o código diferencia maiúsculas de minúsculas e sublinhadosfazermatéria. O comprimento máximo da
maioria dos parâmetros de entrada de caracteres é 60.
A maioria dos parâmetros de entrada são simplesmente escalares reais ou inteiros, comoDT=0,02,mas às vezes as
entradas são matrizes multidimensionais. Por exemplo, ao descrever uma superfície sólida específica, é necessário expressar
as frações de massa de vários materiais que podem ser encontrados em múltiplas camadas. A matriz de entrada
MATL_MASS_FRACTION(IL,IC)destina-se a transmitir ao FDS a fração de massa do componenteCIde camada
IL.Por exemplo, se a fração de massa do segundo material da terceira camada for 0,5, então escreva
MATL_MASS_FRACTION(3,2)=0,5
MATL_MASS_FRACTION(1,1:3)=0,5,0,4,0,1
o que significa que os três primeiros materiais da camada 1 têm frações de massa de 0,5, 0,4 e 0,1, respectivamente.
A notação1:3significa elementos da matriz de 1 a 3, inclusive.
Observe que as cadeias de caracteres podem ser colocadas entre aspas simples ou duplas. Tenha cuidado para não
criar o arquivo de entrada colando texto de algo que não seja um simples editor de texto; nesse caso, os sinais de pontuação
podem não ser transferidos corretamente para o arquivo de texto.
Algumas codificações de arquivos de texto podem não funcionar em todos os sistemas. Se ocorrerem erros de leitura do arquivo e
nenhum erro tipográfico for encontrado no arquivo de entrada, tente salvar o arquivo de entrada usando uma codificação diferente. Por
exemplo, o editor de arquivo de texto Notepad funciona bem em um PC com Windows, mas um arquivo editado no Notepad pode não
funcionar no Linux ou Mac OS X devido à diferença nos finais de linha entre os sistemas operacionais Windows e Unix/Linux. O editor Wordpad
normalmente funciona melhor, mas tente primeiro um caso simples.
Em geral, os registros da lista de nomes podem ser inseridos em qualquer ordem no arquivo de entrada, mas é uma boa ideia
organizá-los de forma sistemática. Normalmente, as informações gerais são listadas na parte superior do arquivo de entrada e as
informações detalhadas, como obstruções, dispositivos e assim por diante, são listadas abaixo. O FDS verifica todo o arquivo de
entrada cada vez que processa um grupo específico de listas de nomes. Com alguns editores de texto, percebeu-se que a última
linha do arquivo muitas vezes não é lida pelo FDS devido à presença de um caractere de “fim de arquivo”. Para garantir que o FDS
leia todo o arquivo de entrada, adicione
&CAUDA /
como a última linha no final do arquivo de entrada. Isso completa o arquivo de &CABEÇApara &CAUDA.O FDS nem procura
esta última linha. Apenas força o caractere de “fim do arquivo” após a entrada relevante.
Outra regra geral ao escrever arquivos de entrada é adicionar apenas parâmetros que alterem o valor padrão.
Dessa forma, você pode distinguir mais facilmente entre o que deseja e o que o FDS deseja. Adicione comentários
generosamente ao arquivo, desde que esses comentários não caiam nos registros da lista de nomes.
A estrutura geral de um arquivo de entrada é mostrada abaixo, com muitas linhas do arquivo de entrada de validação original3removido
para maior clareza.
26
&MESH IJK=90,36,38, XB=-1.0,8.0,-1.8,1.8,0.0,3.82 / &TIME
T_END=5400. /
&MISCTMPA=20. /
&DUMP NFRAMES=1800, DT_HRR=10., DT_DEVC=10., DT_PROF=30. /
&OBST XB= 3,5, 4,5,-1,0, 1,0, 0,0, 0,0, SURF_ID='FLANGE DE AÇO' / . . . Panela de fogo
&TAIL/Fim do arquivo.
É recomendado que, ao observar um novo cenário, primeiro selecione um arquivo de entrada pré-escrito que se assemelhe ao caso,
faça as alterações necessárias e, em seguida, execute o caso com uma resolução de malha razoavelmente baixa para determinar se a
geometria está configurada corretamente. É melhor começar com um arquivo relativamente simples que capture as principais
características do problema sem se prender a muitos detalhes que possam mascarar uma falha fundamental no cálculo. Os cálculos
iniciais devem ser mesclados grosseiramente para que os tempos de execução sejam inferiores a uma hora e as correções possam
ser feitas facilmente sem perder muito tempo. À medida que você aprende a escrever arquivos de entrada, você executará e
reexecutará continuamente seu caso à medida que aumenta a complexidade.
Mesa5.1fornece uma referência rápida a todos os parâmetros da lista de nomes e onde você pode encontrar a
referência de onde ela é introduzida no documento e a tabela contendo todas as palavras-chave de cada grupo.
27
Tabela 5.1: Tabela de referência do grupo de lista de nomes
Nome do grupo Descrição do grupo da lista de nomes Seção de Referência Tabela de parâmetros
28
5.4 Concatenando Arquivos de Entrada
O grupo de lista de nomes &CATFpermite a inclusão de informações de entrada de diferentes arquivos em uma simulação. A linha de
entrada:
&CATF OTHER_FILES='arquivo_1.txt','arquivo_2.txt' /
adiciona o conteúdo dos dois arquivos listados ao arquivo de entrada atual. Até 20 arquivos podem ser listados em umCATF
linha e váriosCATFlinhas podem ser incluídas no arquivo de entrada. Após ler o arquivo de entrada, o FDS cria um novo
arquivo de entrada,CHID_cat.fds,e então executa o caso.
Quando você executa um trabalho que já foi executado anteriormente, o FDS substituirá automaticamente a saída antiga
pela nova. Se você não quer que isso aconteça, definaSUBSTITUIR=FnoDIVERSOSlinha, caso em que o FDS verificará a existência
de arquivos de saída criados anteriormente e interromperá a execução, se existirem.
que nenhum arquivo de reinicialização será criado, a menos que você interrompa um trabalho criando um arquivo fictício chamado
CHID.parar.Também é possível utilizar a nova função de controle (ver cap.18,5) para interromper um cálculo ou despejar um arquivo
de reinicialização quando o cálculo atingir alguma condição mensurável, como a primeira ativação de sprinklers.
4Por padrão, quando um trabalho é reiniciado, os arquivos de saída da planilha serão anexados no momento em que o trabalho foi reiniciado, e não no momento
em que o trabalho foi interrompido. Se você deseja que os arquivos de saída sejam anexados sem cortar nenhum dado existente, mesmo que alguma saída duplicada
seja deixada, então definaCLIP_RESTART_FILESparaFnoJOGAR FORAlinha.
29
Entre paradas e reinicializações do trabalho, grandes alterações não podem ser feitas no cálculo, como adicionar ou remover
aberturas de ventilação e obstruções. As alterações são limitadas aos parâmetros que não alteram instantaneamente o campo de
fluxo existente. Por exemplo, é possível alterar a frequência de saída dos dados enviados para a taxa de liberação de calor (*_hrr.csv)
ou dispositivo (*_devc.csv) fiarquivos ou até mesmo fatiar a saída do arquivo. A nova frequência é definida no Se
JOGAR FORAlinha (ver Tabela23,8para obter uma lista completa de frequências de saída). nenhuma frequência for definida no novo
execução, a frequência da execução anterior é mantida. Contudo, isso não é verdadeDT_RESTART;se não
DT_RESTARTestiver presente para a nova execução, nenhum arquivo de reinicialização será gravado (isso evita a substituição de arquivos de reinicialização
antigos).
Como a capacidade de reinicialização tem sido usada com pouca frequência pelos desenvolvedores, ela deve ser considerada
uma construção frágil. Examine a saída para garantir que nenhum evento repentino ou inesperado ocorra durante a parada e
reinicialização.
30
Capítulo 6
Este capítulo descreve parâmetros de entrada globais que afetam o escopo geral da simulação, como o tempo de simulação
e o tamanho e extensão do domínio computacional. Essencialmente, esses parâmetros estabelecem os sistemas de
coordenadas espaciais e temporais que são usados por todos os outros componentes da simulação, e é por isso que esses
parâmetros geralmente são listados no topo do arquivo de entrada e são descritos aqui primeiro.
A primeira coisa a fazer ao configurar um arquivo de entrada é dar um nome ao trabalho. O nome do trabalho é importante
porque muitas vezes um projeto envolve inúmeras simulações, caso em que os nomes das simulações individuais devem ser
significativos e ajudar a organizar o projeto. O grupo da lista de nomesCABEÇAcontém dois parâmetros, como neste
exemplo:
CRIANÇAapoiaID do personagem, é uma sequência de 50 caracteres ou menos usada para marcar os arquivos de saída. Se, por
exemplo,CHID='WTC_05',é conveniente nomear o arquivo de dados de entradaWTC_05.fdspara que o arquivo de entrada possa
ser associado aos arquivos de saída. Não são permitidos pontos ou espaçosCRIANÇAporque os arquivos de saída são marcados
com sufixos significativos para determinados sistemas operacionais de computador. SeCRIANÇAnão for especificado, então será
definido com o nome do arquivo de entrada menos tudo no primeiro período e além dele.
TÍTULOé uma sequência de 256 caracteres ou menos que descreve a simulação. É simplesmente um texto descritivo que
é passado para vários arquivos de saída.
31
6.2 Tempo de Simulação
TEMPOé o nome de um grupo de parâmetros que definem o tempo de duração da simulação e o intervalo de tempo inicial
utilizado para avançar na solução das equações discretizadas.
Normalmente, apenas a duração da simulação é necessária nesta linha, através do parâmetroTRATAR.O padrão é 1 s.
Por exemplo, a linha a seguir instruirá o FDS a executar a simulação por 5.400 s.
&HORA T_END=5400. /
SeTRATARé definido como zero, apenas o trabalho de configuração é executado, permitindo verificar rapidamente a geometria no
Smokeview.
Se quiser que a linha do tempo comece em um número diferente de zero, você pode usar o parâmetroT_BEGIN
para especificar a hora gravada no arquivo para a primeira etapa de tempo. Isto seria útil para combinar linhas de tempo de dados
experimentais ou gravações de vídeo.
O tamanho do passo de tempo inicial pode ser especificado comDT.Este parâmetro normalmente é definido automaticamente
dividindo o tamanho de uma célula da malha pela velocidade característica do fluxo. Durante o cálculo, o intervalo de tempo
é ajustado para que a condição CFL (Courant, Friedrichs, Lewy) seja satisfeita. O valor padrão de
√DTé
(δx δ y δ z)13/VCaracteresS. Nesta fórmula, a escala de velocidade característica é estimada como sendoVCaracteres= 0.2gHEM,
ondeδx,δsim, eδzsão as dimensões da menor célula da malha,Hé a altura do domínio computacional, egé a
aceleração da gravidade. Fisicamente, a velocidade característica é uma estimativa da velocidade média de uma
pluma flutuante ao longo da altura do domínio computacional que fornece uma estimativa inicial razoável para o
intervalo de tempo em uma simulação típica de incêndio. Observe que, por padrão, o intervalo de tempo não pode
aumentar acima de seu valor inicial. Para permitir que isso aconteça, definaRESTRICT_TIME_STEP=F
Se algo repentino acontecer logo no início de uma simulação, como a ativação de um sprinkler, é uma boa ideia definir o
intervalo de tempo inicial para evitar uma instabilidade numérica causada por um intervalo de tempo muito grande. Experimente
diferentes valores deDTmonitorando os tamanhos dos intervalos de tempo iniciais registrados no arquivo de saída
nome_trabalho.out.
No final da primeira parte da atualização explícita do tempo do preditor-corretor, o intervalo de tempo é verificado para
garantir que esteja dentro dos limites de estabilidade apropriados. Se não estiver, é ajustado para cima ou para baixo em 10% (ou
até estar dentro dos limites) e a parte preditora do intervalo de tempo é executada novamente. Se você quiser evitar que o FDS altere
automaticamente o intervalo de tempo, definaLOCK_TIME_STEPigual aTnoTEMPOlinha, nesse caso o intervalo de tempo especificado,
DT,não será ajustado. Este parâmetro destina-se apenas a fins de diagnóstico, por exemplo, para cronometrar a execução de um
programa. Isso pode levar a instabilidades numéricas se o intervalo de tempo inicial for definido muito alto.
O arquivo de saída de diagnóstico chamadoCHID.foracontém informações sobre o intervalo de tempo e o número CFL
em cada malha. No entanto, para simulações que envolvem dezenas ou centenas de malhas, pode ser difícil avaliar as
informações globais do intervalo de tempo. Para obter informações detalhadas sobre o intervalo de tempo, existe um
arquivo de saída opcional chamadoCHID_cfl.csvque contém, para cada passo de tempo, o(s) tempo(s), tamanho(s) do passo
de tempo, número máximo de CFL, a malha e os índices de malha onde ocorre o valor máximo de CFL, os seis componentes
de velocidade nas seis faces da célula da grade onde ocorre o número CFL máximo e a divergência (1/s), viscosidade (kg/m/
s), HRRPUV (kW/m3) e tempo(s) de mistura de combustão onde ocorre o CFL máximo. Também está listado o número
máximo de VN (Von Neumann) e os índices de malha e células onde ele ocorre. Para gerar este arquivo, definaCFL_FILEparaT
noJOGAR FORAlinha. Normalmente é definido comoF
32
A etapa final
Em algumas circunstâncias especiais poderá ser necessário controlar o passo de tempo final do cálculo. Por padrão, o FDS
define o último intervalo de tempo comoT_END-TondeTé a hora atual. Devido à aritmética de ponto flutuante, este intervalo
de tempo final pode ser muito pequeno e causar consequências indesejadas. Você pode controlar esse intervalo de tempo
final de duas maneiras, usando os parâmetrosDT_END_MINIMUMouDT_END_FILL (você não deve precisar de ambos). Usando
DT_END_MINIMUMtem o efeito de estabelecer um mínimo para o intervalo de tempo final e assimTRATAR
não é estritamente observado (daí nosso padrãoDT_END_MINIMUMé aproximadamente o épsilon da máquina). O tempo final
de simulação seráT + DT_END_MINIMUM.Alternativamente, você pode definirDT_END_FILLpara algum valor (deve ser menor
que o último intervalo de tempo). Então seT+DT+DT_END_FILL > T_END,ondeDTfor o intervalo de tempo estável calculado (ou
intervalo de tempo especificado), o FDS recomputará o intervalo de tempo a serDT = T_END - T.Se você definir um desses
parâmetros, verifique novamente oCHID.out file para garantir que o comportamento esperado foi observado.
Ocasionalmente, existem aplicações nas quais apenas a solução em estado estacionário (no sentido da média do tempo) é desejada. Em um
código dependente do tempo, como o FDS, atingir o estado estacionário requer que a simulação seja executada por tempo suficiente para que
um campo de fluxo em estado estacionário e um campo de temperatura do gás se desenvolvam e que os perfis de temperatura em estado
estacionário se desenvolvam em superfícies sólidas. O desenvolvimento de perfis de temperatura em estado estacionário pode levar muito
tempo, pois a superfície deve ser aquecida em profundidade. Isto pode tornar o custo do cálculo proibitivo. Dadas as condições de contorno
em estado estacionário, o tempo que uma superfície leva para aquecer é proporcional ao seu calor específico. Portanto, sob condições
estacionárias, este tempo pode ser acelerado pela redução do calor específico. Para que oCALOR ESPECÍFICO
entradas emMATLpode permanecer o mesmo, mas ainda fornecer um meio de reduzir o tempo de aquecimento de uma superfície, o
DIVERSOSentrada deTIME_SHRINK_FACTORpode ser usado. OCALOR ESPECÍFICOentradas emMATLsão reduzidos por este fator.
ParaTIME_SHRINK_FACTORde 10, os calores específicos dos vários materiais são reduzidos por um fator de 10. Isso acelera o
aquecimento de materiais sólidos aproximadamente por um fator de 10. Um exemplo de aplicação onde este parâmetro é
útil é um experimento de validação onde um constante A fonte de calor aquece um compartimento até um estado próximo
de equilíbrio, no qual as quantidades de fluxo médias no tempo são medidas.
TIME_SHRINK_FACTORnão reduz o tempo de desenvolvimento dos campos de fluxo e temperatura do gás; no entanto, estes desenvolvem-
33
6.3 Malhas Computacionais
Todos os cálculos FDS devem ser realizados dentro de um domínio composto por volumes retilíneos denominados
malhas. Cada malha é dividida em retangularescélulas, cujo número depende da resolução desejada da dinâmica do
fluxo.MALHAé o grupo da lista de nomes que define o domínio computacional.
Uma malha é um único paralelepípedo reto, ou seja, uma caixa. O sistema de coordenadas dentro de uma malha obedece à
regra da mão direita. O ponto de origem de uma malha é definido pelo primeiro, terceiro e quinto valores do sêxtuplo do
número real,XB,e o canto oposto é definido pelo segundo, quarto e sexto valores. Por exemplo,
define uma malha que abrange o volume começando na origem e se estendendo por 1 m no positivoxdireção, 2 m no
sentido positivosimdireção e 3 m na direção positivazdireção. A malha é subdividida em células uniformes através do
parâmetroIJK.Neste exemplo, a malha está dividida em cubos de 10 cm. É melhor que as células da malha se assemelhem a
cubos; isto é, o comprimento, largura e altura das células devem ser aproximadamente os mesmos. Se for desejado que as
células da malha em uma direção específica não tenham tamanho uniforme, então a lista de nomes agrupaTRNX, TRNY
e/ouTRNZpode ser usado para alterar a uniformidade da malha (ver Seção6.3.5).
Quaisquer obstruções ou aberturas que se estendam além do limite da malha são cortadas no limite. Não
há penalidade por definir objetos fora da malha e esses objetos não aparecerão no Smokeview.
O solucionador de pressão no FDS emprega Transformadas Rápidas de Fourier (FFTs) nosimezdireções, e este
algoritmo funciona de forma mais eficiente se o número de células nessas direções (oJ.eKdeIJK)pode ser fatorado em
números primos baixos, como 2, 3 e 5. O número de células noxdireção (oEUemIJK)não é afetado por esta restrição
porque o solucionador de pressão não usa uma FFT noxdireção. No entanto, como o solucionador de pressão utiliza
menos de 10% do tempo total da CPU, os ganhos no uso de dimensões primárias baixas são geralmente
insignificantes. Experimente diferentes dimensões de malha para garantir que aquelas que serão usadas não
atrasem indevidamente o cálculo.
34