Uploaded by Moshe Rosenfeld

ansys cfx with fotran linux 01

advertisement
Parque Tecnológico Itaipu - PTI
Centro de Estudos Avançados em Segurança de Barragens
Universidade Estadual do Oeste do Paraná
Laboratório de Computação de Alto Desempenho - LCAD
Instalação e configuração do Ansys 16.2 e Intel Fortran
Parallel Edition 2016 (Linux CentOS 6.85 x64)
Pétterson Vinícius Pramiu
Rogério Luís Rizzi
Julho de 2016
Cascavel
2016
Sumário
1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1
1
Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2 Instalação do CentOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.1
Configuração do sistema operacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
3 Instalação Ansys 16.2 Linux x64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Instalação e configuração Intel Fortran 2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1
Configuração Intel Fortran 2016 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Exemplo de utilização de subrotinas Fortran no Ansys CFX: Flow Through a
Butterfly Valve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.1
Modelo de Finnie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1
1
Introdução
Esse tutorial foi escrito com objetivo de auxiliar a instalação e configuração do software Ansys
v16.2 (cliente) em plataforma Linux. Como mencionado na documentação da Ansys, somente as
distribuições Linux RedHat EL e SUSE apresentam suporte à instalação e operação do referido
software. No entanto, como será apresentado a seguir é possível instalar e utilizar o Ansys em
outras distribuições.
Neste tutorial, o Ansys será instalado como cliente, o que significa que a licença para
funcionamento do software está hospedada em outra máquina da rede.
1.1
Pré-requisitos
A distribuição utilizada neste tutorial é a CentOS 6.85 x64 que é muito próxima à RedHat
EL, informações adicionais da distribuição são apresentadas a seguir:
[root@lcad etc]# lsb_release -a
LSB Version: base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:
graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID:CentOS
Description:CentOS release 6.85 (Final)
Release:6.85
Codename:Final
A versão do Software Ansys é a 16.2, e adicionalmente foi instalado o compilador Intel Fortran
2016 Parallel Edition for Linux x64. Além da instalação e configuração desses softwares, será
apresentado um exemplo de simulação com Ansys CFX e subrotinas em Fortran.
A instalação do Ansys v16.2 também funciona corretamente no Linux Ubuntu 14.04,
bastando no final da instalação adicionar o caminho diretamente no terminal:
LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH
export LIBRARY_PATH
2
2
Instalação do CentOS
A versão selecionada para o sistema operacional Unix, foi a CentOS 6.85. Esta versão foi
escolhida por ser praticamente uma versão opensource da renomada distribuição RedHat Enterprise
Linux, que é homologada pela Ansys, mas não é gratuita. O download pode ser realizado no
endereço: https://www.centos.org/download/.
Figura 1: Download CentOS.
Após realizar o download da distribuição e criar o disco de boot, a instalação pode ser
inicializada como apresentado na Figura 2.
Figura 2: Opções de instalação CentOS.
3
Após selecionar a opção Install ou upgrade an existing system a seguinte tela é
exibida.
Figura 3: Opções de instalação CentOS.
Em seguida, um janela sobre a verificação do disco é apresentada.
Figura 4: Opções de instalação CentOS.
4
Após verificar os discos de instalação, uma nova janela é exibida, na qual o usuário deve
escolher as opções de idioma e de teclado.
Figura 5: Opções de idioma para instalação CentOS.
Em seguida, um janela para adicionar o nome do computador será apresentada. Esta etapa
é importante, pois será utilizado este nome de computador para localizar a licença do Ansys
posteriormente.
Figura 6: Opções de instalação CentOS.
Na próxima janela o usuário deverá selecionar sua senha de acesso como super usuário: root.
Figura 7: Opções de instalação CentOS.
Uma nova tela será exibida para que seja selecionada a versão de pacotes a ser instalda. Neste
exemplo, instalou-se a versão Software Developmente Workstation.
5
Figura 8: Opções de instalação CentOS.
Em seguida basta aguardar o processo de instalação.
Figura 9: Opções de instalação CentOS.
Ao final da instalação deve-se reinicializar o computador.
6
Figura 10: Opções de instalação CentOS.
No primeiro acesso ao sistema operacional, é necessário aceitar o termos de uso da licença,
criar um usuário e configurar data e hora.
Figura 11: Primeiro acesso CentOS.
Figura 12: Primeiro acesso CentOS.
7
2.1
Configuração do sistema operacional
Como já mencionado, neste tutorial o Ansys será instalado como cliente, o que significa
que a licença para funcionamento do software, está hospedada em outra máquina da rede. A
máquina que contém a licença é identificada na rede como ccsc-sp000005.unioeste.br cujo IP
é 10.81.115.218.
A rede em que esta instalação foi realizada tem um servidor proxy que exige autenticação do
usuário. Estas opções foram previamente configuradas no gerenciador de proxy da rede do CentOS,
como ilustrado nas Figuras 13 e 14.
Figura 13: Configurações do CentOS.
Figura 14: Configurações do CentOS.
Após a configuração é importante verificar o nome do seu host e seu IP, com auxílio do
comando ifconfi. Neste exemplo o nome de host é LCA e o IP é 10.851.119.66.
8
Figura 15: Configurações do CentOS.
Após saber os nomes e endereços de host e do servidor de licenças, o usuário deve adicionar
esses dois endereços no arquivo etc/hosts e salvá-lo em seguida.
Figura 16: Configurações do CentOS.
Após realizar a configuração do arquivo etc/hosts, é importante verificar se o servidor de
licenças e o host estão sendo encontrados na rede. Isso pode ser feito através do comando ping
9
’name’, onde name é o nome da máquina a ser verificado - LCA neste caso.
Figura 17: Configurações do CentOS - ping LCA.
Figura 18: Configurações do CentOS - ping ccsc-sp000005.
10
3
Instalação Ansys 16.2 Linux x64
A versão instalada neste tutorial foi obtida juntamente ao Customer Portal, cuja tela é
apresentada na Figura 19 e 20. O endereço para download oficial da Ansys é https://support.
ansys.com/portal/site/AnsysCustomerPortal.
Figura 19: Download Ansys.
Figura 20: Download Ansys.
Após descarregar os arquivos .iso e extraí-los no computador, deve-se abrir no terminal a pasta
que contém o disco 1.
11
Figura 21: Download Ansys.
Para iniciar a instalação o usuário deve digitar sudo chmod 777 INSTALL, e em seguida
digitar ./INSTALL.
Figura 22: Instalação Ansys.
12
Figura 23: Instalação Ansys.
A janela de instalação será exibida, como apresentado na Figura 24, em o usuário deve clicar
na primeira opção ’Install Ansys Products’.
Figura 24: Instalação Ansys.
13
Em seguida é necessário aceitar os termos de licença.
Figura 25: Instalação Ansys.
Na próxima janela o usuário deve escolher a pasta em o software será instalado. Recomenda-se
deixar pasta default.
Figura 26: Instalação Ansys.
A próxima tela apresenta o formulário para preechimento dos dados do servidor de licenças,
que neste caso é identificado como ccsc-sp000005.
14
Figura 27: Instalação Ansys.
Note que na próxima janela, os aplicativos já são automaticamente selecionados de acordo
com a licença do servidor.
Figura 28: Instalação Ansys.
Agora basta aguardar a finalização da instalação.
15
Figura 29: Instalação Ansys.
Na última tela é exibido um relatório do processo de instalação.
Figura 30: Instalação Ansys.
Em seguida, para abrir o CFX deve-se navegar no terminal até a pasta onde o Ansys foi
instalado /usr/ansys_inc/v162/CFX/bin, e digitar o comando ./cfx5.
16
Figura 31: Abrir Ansys CFX.
A tela do Ansys CFX será exibida.
Figura 32: Abrir Ansys CFX.
Para abrir o CFX-Pre basta clicar no referido botão.
17
Figura 33: Abrir Ansys CFX.
Agora o software está pronto para utilização!!!
Figura 34: Abrir Ansys CFX.
O resultado do problema ’bentchmark’ é apresentado na Figura 35.
18
Figura 35: Abrir Ansys CFX.
Note que o License Manager do Ansys, identifica quantas e quais hosts estão utilizando as
licenças do servidor.
Figura 36: License Manager Ansys.
19
4
Instalação e configuração Intel Fortran 2016
A instalação do Intel Fortran 2016 Parallel Studio é necessária para posterior execução de
simulações que empregam subrotinas implementadas em Fortran. A versão utilizada neste tutorial
é uma versão acadêmica obtida diretamente do site da Intel.
Figura 37: Download Intel Fortran.
Após realizar o download e descompactar o arquivo de instalação, o usuário deve abrir no
terminal a pasta onde os arquivos foram extraídos. Em seguida deve-se digitar ./install.sh, para
iniciar a instalação.
20
Figura 38: Instalação Intel Fortran 2016.
Os passos seguintes são intuitivos e são apresentados a seguir.
Figura 39: Instalação Intel Fortran 2016.
21
Figura 40: Instalação Intel Fortran 2016.
Figura 41: Instalação Intel Fortran 2016.
22
4.1
Configuração Intel Fortran 2016
Antes da utilização do compilador o usuário deve declarar as variáveis de ambientes a serem
empregadas na compilação. Para isso deve-se navegar pelo terminal até a pasta de instalação do Intel
Fortran e executar o script compilevars.sh [arg], onde argumento pode ser a opção intel64
ou ia32, dependendo da arquitetura da máquina.
Figura 42: Configuração Intel Fortran.
Note que o endereço padrão de instalação do Intel Fortran 2016 é /opt/intel/. Para verificar
se a configuração está correta, basta criar um simples exemplo ’hello_world.f’ e compilá-lo através
do comando ifort *.f.
program hello
print *, "Hello World!"
end program hello
23
Figura 43: Configuração Intel Fortran.
Se tudo estiver correto seu arquivo *.f será compilado com sucesso, e pode ser executado
através do comando ./hello_world.out.
Figura 44: Compilando exemplo Intel Fortran.
24
5
Exemplo de utilização de subrotinas Fortran no Ansys
CFX: Flow Through a Butterfly Valve
Antes de prosseguir encontre o diretório \usr\ansys_inc\v162\CFX\examples e copie o
arquivo pt_erosion.F para o diretório \usr\ansys_inc\v162\CFX. Também localize o arquivo
cfx5mkext.ccl que fica na pasta \usr\ansys_inc\v162\CFX\etc, copie e cole esse arquivo
no mesmo diretório \usr\ansys_inc\v162\CFX. Em seguida faça a compilação do arquivo
pt_erosion.F através do comando ./cfx5mkext -64bit pt_erosion.F e verifique a existência
de erros.
Figura 45: Compilando exemplo Intel Fortran.
5.1
Modelo de Finnie
O exemplo aqui ilustrado segue o tutorial apresentado no manual do CFX “Flow Through a
Butterfly Valve”, com a diferença que será utilizado o modelo de Finnie para erosão implementado
em Fortran ao invés do modelo de Finnie implementado no CFX. Obviamente utilizando os mesmos
parâmetros, os resultados devem ser iguais.
Após montar o problema “Flow Through a Butterfly Valve” com auxílio do tutorial do ANSYS
CFX Tutorials, para utilização de sub rotinas Fortran deve-se criar uma “User Routines”. Para isso,
clique com o botão trocado do mouse em “User Routines” e insira uma nova rotina, como na Figura
46.
25
Figura 46: Criação de rotinas no CFX.
Nomeie sua rotina como myerosion. Veja a Figura 47
Figura 47: Criação de rotinas no CFX.
Na janela que será exibida, selecione a opção particle user routine e preencha os campus
de acordo com a Figura 48
26
Figura 48: Criação de rotinas no CFX.
Em que Library Path é o local onde você salvou seu código fonte Fortran pt_erosion.F.
Em seguida deve-se editar as opções do Default Domain:
Figura 49: Criação de rotinas no CFX.
Na guia Fluid Specific Models escolha como Erosion model a opção User defined,
como apresentado nas Figuras 50 e 51.
27
Figura 50: Criação de rotinas no CFX.
Figura 51: Criação de rotinas no CFX.
Altere as opções do Default Domain default:
Figura 52: Criação de rotinas no CFX.
28
Na guia Fluid Values selecione as opções como apresentado nas Figuras 53 e 54.
Figura 53: Criação de rotinas no CFX.
Figura 54: Criação de rotinas no CFX.
Em que o valor dos argumentos na Figura 53 é: Sand Fully Coupled.Particle Impact
Angle, Sand Fully Coupled.Velocity e o valor de retorno é: Particle Erosion.
E o valor dos argumentos na Figura 54 é: Sand One Way Coupled.Particle Impact
Angle, Sand One Way Coupled.Velocity e o valor de retorno é: Particle Erosion.
Altere as opções do Wall:
29
Figura 55: Criação de rotinas no CFX.
Na guia Fluid Values selecione as opções como apresentado nas Figuras 56 e 57.
Figura 56: Criação de rotinas no CFX.
Figura 57: Criação de rotinas no CFX.
30
Em que o valor dos argumentos na primeira imagem é: Sand Fully Coupled.Particle
Impact Angle,Sand Fully Coupled.Velocity e o valor de retorno é: Particle Erosion.
E o valor dos argumentos na segunda imagem é: Sand One Way Coupled.Particle
Impact Angle,Sand One Way Coupled.Velocity e o valor de retorno é: Particle Erosion.
Em seguida execute o Solver do CFX e aguarde o final da simulação. Veja a Figura 58.
Figura 58: Criação de rotinas no CFX.
A Figura 59 mostra os resultados obtidos usando o modelo Finnie do CFX e o implementado
em Fortran (pt_erosion.F) para comparação dos resultados.
Figura 59: Resultado da simulação de erosão utilizando o modelo Finnie.
O código fonte do arquivo pt_erosion.F é descrito a seguir:
1
2
3
4
# include " cfx5ext . h "
dllexport ( pt_erosion )
SUBROUTINE PT_EROSION ( NLOC , NRET , NARG , RET , ARG , CRESLT ,
&
CZ , DZ , IZ , LZ , RZ )
31
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
CC
C D User routine : Finnie erosion model
CC
CC -------------------CC
Input
CC -------------------CC
C C NLOC
- number of entities
C C NRET
- length of return stack
C C NARG
- length of argument stack
C C ARG
- argument values
CC
CC -------------------CC
Modified
CC -------------------CC
CC -------------------CC
Output
CC -------------------CC
C C RET
- return values
CC
CC -------------------CC
Details
CC -------------------CC
CC ======================================================================
C
C -----------------------------C
Preprocessor includes
C -----------------------------C
# include " cfd_sysdep . h "
# include " cfd_constants . h "
C
C -----------------------------C
Argument list
C -----------------------------C
INTEGER
NARG , NRET , NLOC
C
REAL
ARG ( NLOC , NARG ) , RET ( NLOC , NRET )
C
CHARACTER *(4)
CRESLT
C
INTEGER IZ (*)
CHARACTER CZ (*)*(1)
DOUBLE PRECISION DZ (*)
LOGICAL LZ (*)
REAL RZ (*)
C
C -----------------------------C
External routines
C -----------------------------C
32
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
C
C -----------------------------C
Local Parameters
C -----------------------------C
C
C -----------------------------C
Local Variables
C -----------------------------C
C -----------------------------C
Stack pointers
C -----------------------------C
C =======================================================================
C
C --------------------------C
Executable Statements
C --------------------------C
C =======================================================================
C
C
Return variables :
C
----------------C
C
Particle erosion
: RET (1 ,1)
C
C
Argument variables
C
------------------C
C
Particle impact angle
: ARG (1 ,1)
C
Particle velocity
: ARG (1 ,2)
C
C =======================================================================
C
C ----------------------------------------------------------------------C
Calculate the return variables
C ----------------------------------------------------------------------C
CALL FINNIE ( RET (1 ,1) ,
&
ARG (1 ,1) , ARG (1 ,2))
C
END
103
104
105
106
107
108
109
110
111
112
113
114
SUBROUTINE FINNIE ( EROSION , ANGLE , VEL_PT )
C
C =======================================================================
C
Calculate Finnie erosion rate
C =======================================================================
C
C --------------------------C
Preprocessor includes
C --------------------------C
# include " cfd_sysdep . h "
33
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# include " cfd_constants . h "
C
C -----------------------------C
Argument list
C -----------------------------C
REAL
EROSION , ANGLE , VEL_PT (3)
C
C -----------------------------C
Local variables
C -----------------------------C
REAL
ANGLE_DEG , F , V0 , N , VEL
C
C -----------------------------C
Executable statements
C -----------------------------C
V0 = 1.0
N = 2.0
C
ANGLE_DEG = ANGLE *180./ PI
C
IF ( ANGLE_DEG . GE . 18.5) THEN
F = COS ( ANGLE )**2 / THREE
ELSE
F = SIN ( TWO * ANGLE ) - THREE * SIN ( ANGLE )**2
ENDIF
C
VEL = SQRT ( VEL_PT (1)**2 + VEL_PT (2)**2 + VEL_PT (3)**2)
C
EROSION = ( VEL /( V0 + SN ))** N * F
C
END
Download