tutorial cfx - fortran

35
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

Upload: others

Post on 15-Feb-2022

33 views

Category:

Documents


1 download

TRANSCRIPT

Parque Tecnológico Itaipu - PTICentro 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 FortranParallel Edition 2016 (Linux CentOS 6.85 x64)

Pétterson Vinícius PramiuRogério Luís Rizzi

Julho de 2016

Cascavel2016

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 aButterfly 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 Ansysv16.2 (cliente) em plataforma Linux. Como mencionado na documentação da Ansys, somente asdistribuições Linux RedHat EL e SUSE apresentam suporte à instalação e operação do referidosoftware. No entanto, como será apresentado a seguir é possível instalar e utilizar o Ansys emoutras distribuições.

Neste tutorial, o Ansys será instalado como cliente, o que significa que a licença parafuncionamento 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 à RedHatEL, informações adicionais da distribuição são apresentadas a seguir:

[root@lcad etc]# lsb_release -aLSB 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-noarchDistributor ID:CentOSDescription:CentOS release 6.85 (Final)Release:6.85Codename:Final

A versão do Software Ansys é a 16.2, e adicionalmente foi instalado o compilador Intel Fortran2016 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_PATHexport 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 foiescolhida por ser praticamente uma versão opensource da renomada distribuição RedHat EnterpriseLinux, que é homologada pela Ansys, mas não é gratuita. O download pode ser realizado noendereç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 serinicializada 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 deveescolher 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 Ansysposteriormente.

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. Nesteexemplo, 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 significaque a licença para funcionamento do software, está hospedada em outra máquina da rede. Amá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 dousuá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 docomando 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 adicionaresses 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 delicenç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 pastaque 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 seguidadigitar ./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 clicarna 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-sedeixar 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 acordocom 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 foiinstalado /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 aslicenç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 desimulaçõ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 noterminal a pasta onde os arquivos foram extraídos. Em seguida deve-se digitar ./install.sh, parainiciar 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 seremempregadas na compilação. Para isso deve-se navegar pelo terminal até a pasta de instalação do IntelFortran e executar o script compilevars.sh [arg], onde argumento pode ser a opção intel64ou 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 verificarse a configuração está correta, basta criar um simples exemplo ’hello_world.f’ e compilá-lo atravésdo comando ifort *.f.

program helloprint *, "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 executadoatravés do comando ./hello_world.out.

Figura 44: Compilando exemplo Intel Fortran.

24

5 Exemplo de utilização de subrotinas Fortran no AnsysCFX: Flow Through a Butterfly Valve

Antes de prosseguir encontre o diretório \usr\ansys_inc\v162\CFX\examples e copie oarquivo pt_erosion.F para o diretório \usr\ansys_inc\v162\CFX. Também localize o arquivocfx5mkext.ccl que fica na pasta \usr\ansys_inc\v162\CFX\etc, copie e cole esse arquivono mesmo diretório \usr\ansys_inc\v162\CFX. Em seguida faça a compilação do arquivopt_erosion.F através do comando ./cfx5mkext -64bit pt_erosion.F e verifique a existênciade 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 aButterfly Valve”, com a diferença que será utilizado o modelo de Finnie para erosão implementadoem Fortran ao invés do modelo de Finnie implementado no CFX. Obviamente utilizando os mesmosparâmetros, os resultados devem ser iguais.

Após montar o problema “Flow Through a Butterfly Valve” com auxílio do tutorial do ANSYSCFX 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 Figura46.

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 campusde 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 ImpactAngle, Sand Fully Coupled.Velocity e o valor de retorno é: Particle Erosion.

E o valor dos argumentos na Figura 54 é: Sand One Way Coupled.Particle ImpactAngle, 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.ParticleImpact Angle,Sand Fully Coupled.Velocity e o valor de retorno é: Particle Erosion.

E o valor dos argumentos na segunda imagem é: Sand One Way Coupled.ParticleImpact 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 implementadoem 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 # include " cfx5ext .h"2 dllexport ( pt_erosion )3 SUBROUTINE PT_EROSION (NLOC ,NRET ,NARG ,RET ,ARG ,CRESLT ,4 & CZ ,DZ ,IZ ,LZ ,RZ)

31

5 CC6 CD User routine : Finnie erosion model7 CC8 CC --------------------9 CC Input

10 CC --------------------11 CC12 CC NLOC - number of entities13 CC NRET - length of return stack14 CC NARG - length of argument stack15 CC ARG - argument values16 CC17 CC --------------------18 CC Modified19 CC --------------------20 CC21 CC --------------------22 CC Output23 CC --------------------24 CC25 CC RET - return values26 CC27 CC --------------------28 CC Details29 CC --------------------30 CC31 CC ======================================================================32 C33 C ------------------------------34 C Preprocessor includes35 C ------------------------------36 C37 # include " cfd_sysdep .h"38 # include " cfd_constants .h"39 C40 C ------------------------------41 C Argument list42 C ------------------------------43 C44 INTEGER NARG , NRET , NLOC45 C46 REAL ARG(NLOC ,NARG), RET(NLOC ,NRET)47 C48 CHARACTER *(4) CRESLT49 C50 INTEGER IZ (*)51 CHARACTER CZ (*)*(1)52 DOUBLE PRECISION DZ (*)53 LOGICAL LZ (*)54 REAL RZ (*)55 C56 C ------------------------------57 C External routines58 C ------------------------------59 C

32

60 C61 C ------------------------------62 C Local Parameters63 C ------------------------------64 C65 C66 C ------------------------------67 C Local Variables68 C ------------------------------69 C70 C ------------------------------71 C Stack pointers72 C ------------------------------73 C74 C =======================================================================75 C76 C ---------------------------77 C Executable Statements78 C ---------------------------79 C80 C =======================================================================81 C82 C Return variables :83 C -----------------84 C85 C Particle erosion : RET (1 ,1)86 C87 C Argument variables88 C -------------------89 C90 C Particle impact angle : ARG (1 ,1)91 C Particle velocity : ARG (1 ,2)92 C93 C =======================================================================94 C95 C -----------------------------------------------------------------------96 C Calculate the return variables97 C -----------------------------------------------------------------------98 C99 CALL FINNIE (RET (1,1),

100 & ARG (1,1), ARG (1 ,2))101 C102 END103

104 SUBROUTINE FINNIE (EROSION ,ANGLE , VEL_PT )105 C106 C =======================================================================107 C Calculate Finnie erosion rate108 C =======================================================================109 C110 C ---------------------------111 C Preprocessor includes112 C ---------------------------113 C114 # include " cfd_sysdep .h"

33

115 # include " cfd_constants .h"116 C117 C ------------------------------118 C Argument list119 C ------------------------------120 C121 REAL EROSION , ANGLE , VEL_PT (3)122 C123 C ------------------------------124 C Local variables125 C ------------------------------126 C127 REAL ANGLE_DEG , F, V0 , N, VEL128 C129 C ------------------------------130 C Executable statements131 C ------------------------------132 C133 V0 = 1.0134 N = 2.0135 C136 ANGLE_DEG = ANGLE *180./ PI137 C138 IF( ANGLE_DEG .GE. 18.5) THEN139 F = COS(ANGLE )**2 / THREE140 ELSE141 F = SIN(TWO*ANGLE) - THREE*SIN(ANGLE )**2142 ENDIF143 C144 VEL = SQRT( VEL_PT (1)**2 + VEL_PT (2)**2 + VEL_PT (3)**2)145 C146 EROSION = (VEL /(V0+SN ))**N * F147 C148 END