Você está na página 1de 39

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

Tutorial para instalação e configuração do Fortran para


integração com Ansys CFX 14.0

Profo . Dr. Ricardo Lessa Azevedo


Profo . Dr. Rogério Luís Rizzi
Pétterson Vinícius Pramiu
Jeverson da Costa Pinto
Igor Castoldi

Fevereiro de 2013

Cascavel
2013
1 Introdução

Este tutorial tem como objetivo auxiliar o usuário na instalação e configuração do Fortran
para que o compilador trabalhe em conjunto com o ANSYS CFX, permitindo a implementação de
“rotinas definidas pelo usuário” nos casos específicos em que as rotinas implementados pelo CFX
não são adequadas para modelagem e simulação.
Os passos descritos a seguir foram executados em uma máquina cujas configurações são
exibidas na Figura 1.

Figura 1: Configurações da máquina e sistema operacional.

Ao final do tutorial serão apresentados os resultados de uma simulação que trata dos efeitos
erosivos em um tubo com válvula borboleta, cujo problema e especificação são detalhados em
ANSYS CFX Tutorials (Flow Through a Butterfly Valve, pg. 193).
2 Instalação e configuração

Para o correto funcionamento dos aplicativos aqui listados, procure executar em ordem as
tarefas apresentadas assim como escolher atentamente os softwares de acordo com as configurações
do seu sistema (32 ou 64bits).
Os aplicativos necessários para realização deste tutorial são:

• ANSYS CFX 14;

• Microsoft Windows SDK 7.1 for Windows 7 e .NET Framework 4;

• Microsoft Visual Studio 2008 (ou posterior);

• Compilador Fortran Intel Composer XE 2013;

2.1 Microsoft Windows SDK 7.1 for Windows 7 e .NET


Framework 4
Com o ANSYS 14 instalado e funcionando corretamente deve-se realizar a instalação e
configuração das ferramentas de desenvolvimento SDK. Um arquivo .iso com estes aplicativos pode
ser encontrado no link http://www.microsoft.com/en-us/download/details.aspx?id=8442.
Veja a Figura 2.

Figura 2: Andamento do download do Microsoft Windows SDK 7.1.

Após o download do arquivo deve-se montar a imagem com um aplicativo apropriado


(Alcoohol, Nero ou DeamonTools). Veja a Figura 3.
iii

Figura 3: Montagem do arquivo .iso Microsoft Windows SDK 7.1.

Ao montar a imagem deve-se executar o setup.exe para inicialização da instalação.

Figura 4: Instalação SDK.

As janelas a seguir serão apresentadas ao clicar em Next.


iv

Figura 5: Instalação SDK.

Figura 6: Instalação SDK.


v

Figura 7: Instalação SDK.

Marque todas as opções de acordo com a Figura 8.

Figura 8: Instalação SDK.


vi

Figura 9: Instalação SDK.

Figura 10: Instalação SDK.


vii

Figura 11: Finalização da instalação SDK.

2.2 Instalação do Microsoft Visual Studio 2008


Com o SDK 7.1 instalado deve-se realizar a instalação e configuração do Microsoft Visual
Studio 2008. Um arquivo com este aplicativo pode ser encontrado no site da Microsoft http:
//msdn.microsoft.com/pt-br/evalcenter/bb633753.aspx.
Após o download do arquivo deve-se montar a imagem com um aplicativo apropriado
(Alcoohol, Nero ou DeamonTools). Ao montar a imagem deve-se executar o setup.exe para
inicialização da instalação.
As janelas a seguir serão apresentadas ao clicar em Next.

Figura 12: Instalação do VS 2008.


viii

Figura 13: Instalação do VS 2008.

Figura 14: Instalação do VS 2008.


ix

Figura 15: Instalação do VS 2008.

Escolha a opção Custom para uma instalação personalizada.

Figura 16: Instalação do VS 2008.

Certifique-se de marcar todas as opções conforme mostra a Figura 17.


x

Figura 17: Instalação do VS 2008.

Figura 18: Instalação do VS 2008.


xi

Figura 19: Instalação do VS 2008.

2.3 Instalação do Fortran Intel Composer XE 2013


Com o VS 2008 instalado deve-se realizar a instalação e configuração do Fortran Intel
Composer XE 2013. Um arquivo com este aplicativo pode ser encontrado no site da Intel
http://software.intel.com/en-us/fortran-compilers.
Após o download do arquivo deve-se executar o arquivo .exe para inicialização da instalação.
Clique em Extract para descompactar os arquivos necessários à instalação.

Figura 20: Instalação do Fortran Intel Composer XE 2013.


xii

Figura 21: Instalação do Fortran Intel Composer XE 2013.

As janelas a seguir serão apresentadas ao clicar em Next.

Figura 22: Instalação do Fortran Intel Composer XE 2013.


xiii

Figura 23: Instalação do Fortran Intel Composer XE 2013.

Escolha a opção central Evaluate this product.

Figura 24: Instalação do Fortran Intel Composer XE 2013.


xiv

Figura 25: Instalação do Fortran Intel Composer XE 2013.

Selecione Custom Installation. Veja a Figura 26.

Figura 26: Instalação do Fortran Intel Composer XE 2013.


xv

Figura 27: Instalação do Fortran Intel Composer XE 2013.

Marque todas as opções como na Figura 28.

Figura 28: Instalação do Fortran Intel Composer XE 2013.

Integre seu Fortran com o Visual Studio já instalado. Veja a Figura 29.
xvi

Figura 29: Instalação do Fortran Intel Composer XE 2013.

Figura 30: Instalação do Fortran Intel Composer XE 2013.


xvii

Figura 31: Instalação do Fortran Intel Composer XE 2013.

Figura 32: Instalação do Fortran Intel Composer XE 2013.

2.4 Setando variáveis de ambiente


Para a integração entre o compilador Fortran e o CFX, é necessário configurar as variáveis de
ambiente. Para isso abra as propriedades do computador clicando com o botão trocado do mouse
em Propriedades do Meu Computador ou usando as teclas de atalho Win + Pause.
xviii

Figura 33: Abrindo a janela de propriedades do computador.

Uma nova janela será exibida. Nesta janela clique sobre o link Configurações avançadas
do sistema, como mostra a Figura 34.

Figura 34: Propriedades do computador.

Ao clicar no link, uma nova janela será exibida. Nesta janela clique no botão Variáveis de
Ambiente. Veja a Figura 35
xix

Figura 35: Propriedades do sistema.

Para criação das novas variáveis de ambiente, clique no botão Novo.... Figura 36

Figura 36: Variáveis de Ambiente.

Uma caixa com os campus Nome da variável: e Valor da variável: será exibida e
deverá ser preenchida com os valores da nova variável de ambiente:

Figura 37: Nova Variável de Ambiente.

Nome da variável: lib


Valor da variável: C:\Program Files (x86)\Intel\Composer XE 2013\compiler\lib;
C:\Program Files (x86)\Intel\Composer XE 2013\compiler\lib\intel64}
xx

Clique em Ok para que a variável seja criada. Note que os endereços aqui utilizados podem mudar
de acordo com as opções selecionadas no momento da instalação.
Repita este procedimento criando uma nova variável include com valores:
C:\Program Files (x86)\Intel\Composer XE 2013\compiler\include;
C:\Program Files (x86)\Intel\Composer XE 2013\compiler\include\intel64
Novamente, repita este procedimento criando uma nova variável PATH com valores:
C:\Program Files\ANSYS Inc\v140\CFX\bin;C:\Program Files (x86)\Intel\
Composer XE 2013\bin;C:\Program Files (x86)\Intel\Composer XE 2013\
bin\intel64;C:\Program Files (x86)\Intel\Composer XE 2013\redist;
C:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64;
C:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\compiler;
C:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\mkl;
C:\Program Files (x86)\Intel\Composer XE 2013\redist\intel64\mpirt
Caso seu sistema seja 32bits renomeie todas a pastas chamadas intel64 para ia32. Por
exemplo, a variável lib em um sistema 32bits seria da forma:
Nome da variável: lib
Valor da variável: C:\Program Files (x86)\Intel\Composer XE 2013\compiler\lib;
C:\Program Files (x86)\Intel\Composer XE 2013\compiler\lib\ia32
Feito isso, clique em OK para sair da janela de Propriedades do Sistema.

2.5 Configuração do CFX 14 para utilizar rotinas Fortran


Para a utilização das sub rotinas implementadas em Fortran, é necessário compilar os arquivos
fonte através do módulo CFX. Abra o CFX 14.0, através do menu iniciar. Veja figura 38:

Figura 38: Configuração do CFX 14.

Em seguida clique no menu Tools -> Command Line. Veja Figura 39:
xxi

Figura 39: Configuração do CFX 14.

Uma nova janela do prompt será aberta. Veja a Figura 40

Figura 40: Configuração do CFX 14.

Nesta janela de prompt, navegue até o diretório onde se encontra o compilador Fortran
(C:\Program Files (x86)\Intel\Composer XE 2013\bin) e digite o seguinte comando:
ifortvars.bat intel64. Caso seu sistema seja 32bits use o comando ifortvars.bat ia32.
Se a configuração for realizada com sucesso será exibida uma mensagem como na Figura 41.
xxii

Figura 41: Configuração do CFX 14.

Para gerar os arquivos necessários ao funcionamento do CFX, navegue pelo prompt até
o diretório onde está localizado seu arquivo fonte em Fortran. Dentro do diretório digite o
comando: cfx5mkext -64bit <nome_arquivo.F>. Caso seu sistema seja 32bits use o comando
cfx5mkext <nome_arquivo.F>. Veja a Figura 42.

Figura 42: Configuração do CFX 14.

A Figura 43 mostra a janela que deverá ser exibida se a compilação for executada com êxito.
xxiii

Figura 43: Configuração do CFX 14.

Note que no diretório onde está o código fonte é gerada uma nova pasta, que contém os
arquivos utilizados pelo solver do CFX. Veja a Figura 44.

Figura 44: Configuração do CFX 14.


3 Exemplo de utilização de rotinas Fortran no CFX: Flow
Through a Butterfly Valve

Antes de prosseguir faça a configuração do CFX apresentada na


seção 2.5 e crie um diretório para seu projeto. Encontre o diretório
C:\Program Files\ANSYS Inc\v140\CFX\examples\UserFortran e copie os arquivos
pt_erosion.F e pt_erosion.cll para o diretório que foi criado para o seu projeto.

3.1 Modelo de Finnie


O exemplo aqui apresentado 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 mesmo
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
45.

Figura 45: Criação de rotinas no CFX.

Nomeie sua rotina como myerosion. Veja a Figura 46


xxv

Figura 46: 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 47

Figura 47: 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:
xxvi

Figura 48: Criação de rotinas no CFX.

Na guia Fluid Specific Models escolha como Erosion model a opção User defined,
como apresentado nas Figuras 49 e 50.

Figura 49: Criação de rotinas no CFX.


xxvii

Figura 50: Criação de rotinas no CFX.

Altere as opções do Default Domain default:

Figura 51: Criação de rotinas no CFX.

Na guia Fluid Values selecione as opções como apresentado nas Figuras 52 e 53.
xxviii

Figura 52: Criação de rotinas no CFX.

Figura 53: Criação de rotinas no CFX.

Em que o valor dos argumentos é: Sand Fully Coupled.Particle Impact Angle,Sand


Fully Coupled.Velocity e o valor de retorno é: Particle Erosion.
Altere as opções do Wall:
xxix

Figura 54: Criação de rotinas no CFX.

Na guia Fluid Values selecione as opções como apresentado nas Figuras 55 e 56.

Figura 55: Criação de rotinas no CFX.


xxx

Figura 56: Criação de rotinas no CFX.

Em que o valor dos argumentos é: Sand Fully Coupled.Particle Impact Angle,Sand


Fully 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 57.

Figura 57: Criação de rotinas no CFX.

A Figura 58 mostra os resultados obtidos usando o modelo Finnie do CFX e o implementado


em Fortran (pt_erosion.F) para comparação dos resultados.
xxxi

Figura 58: Resultado da simulação de erosão utilizando o modelo Finnie.

O código fonte do arquivo pt_erosion.F é descrito a seguir:


#include "cfx5ext.h"
dllexport(pt_erosion)
SUBROUTINE PT_EROSION(NLOC,NRET,NARG,RET,ARG,CRESLT,
& CZ,DZ,IZ,LZ,RZ)
CC
CD User routine: Finnie erosion model
CC
CC --------------------
CC Input
CC --------------------
CC
CC NLOC - number of entities
CC NRET - length of return stack
CC NARG - length of argument stack
CC ARG - argument values
CC
CC --------------------
CC Modified
CC --------------------
CC
CC --------------------
CC Output
CC --------------------
CC
CC 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)
xxxii

C
CHARACTER*(4) CRESLT
C
INTEGER IZ(*)
CHARACTER CZ(*)*(1)
DOUBLE PRECISION DZ(*)
LOGICAL LZ(*)
REAL RZ(*)
C
C ------------------------------
C External routines
C ------------------------------
C
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

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"
#include "cfd_constants.h"
xxxiii

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

Para simples conferência, as definições dos comandos no CFX foram as seguintes:

USER ROUTINE DEFINITIONS:


USER ROUTINE: myerosion
Calling Name = pt_erosion
Library Name = pt_erosion
Library Path = C:/PIPE VALVE EROSION 2
Option = Particle User Routine
END
END
END
FLOW: Flow Analysis 1
SOLUTION UNITS:
Angle Units = [rad]
Length Units = [m]
Mass Units = [kg]
Solid Angle Units = [sr]
Temperature Units = [K]
Time Units = [s]
END
ANALYSIS TYPE:
Option = Steady State
EXTERNAL SOLVER COUPLING:
Option = None
END
END
DOMAIN: Default Domain
Coord Frame = Coord 0
Domain Type = Fluid
Location = B1.P3
BOUNDARY: Default Domain Default
Boundary Type = WALL
Location = \
F1.B1.P3,F10.B1.P3,F11.B1.P3,F12.B1.P3,F2.B1.P3,F6.B1.P3,F7.B1.P3,F8.\
B1.P3,F9.B1.P3
xxxiv

BOUNDARY CONDITIONS:
MASS AND MOMENTUM:
Option = No Slip Wall
END
WALL ROUGHNESS:
Option = Smooth Wall
END
END
FLUID: Sand Fully Coupled
BOUNDARY CONDITIONS:
EROSION MODEL:
Option = User Defined
END
PARTICLE USER WALL INTERACTION:
Argument Variables List = Sand Fully Coupled.Particle Impact \
Angle,Sand Fully Coupled.Velocity
Particle User Routine = myerosion
Particle Wall Interaction Return Variables List = Particle Erosion
END
PARTICLE WALL INTERACTION:
Option = Equation Dependent
END
VELOCITY:
Option = Restitution Coefficient
Parallel Coefficient of Restitution = 1.0
Perpendicular Coefficient of Restitution = 0.9
END
END
END
FLUID: Sand One Way Coupled
BOUNDARY CONDITIONS:
EROSION MODEL:
Option = User Defined
END
PARTICLE USER WALL INTERACTION:
Argument Variables List = Sand One Way Coupled.Particle Impact \
Angle,Sand One Way Coupled.Velocity
Particle User Routine = myerosion
Particle Wall Interaction Return Variables List = Particle Erosion
END
PARTICLE WALL INTERACTION:
Option = Equation Dependent
END
VELOCITY:
Option = Restitution Coefficient
Parallel Coefficient of Restitution = 1.0
Perpendicular Coefficient of Restitution = 0.9
END
END
END
END

3.2 Modelo de Tabakoff


O exemplo aqui apresentado segue o tutorial apresentado no manual do CFX “Flow Through a
Butterfly Valve”, com a diferença que será utilizado o modelo de Tabakoff para erosão implementado
em Fortran ao invés do modelo de Tabakoff implementado no CFX. Obviamente utilizando os mesmo
parâmetros, os resultados devem ser iguais.
A Figura 59 mostra os resultados obtidos usando o modelo Tabakoff do CFX e o implementado
em Fortran (pt_erosion.F) para comparação dos resultados.
xxxv

Figura 59: Resultado da simulação de erosão utilizando o modelo Tabakoff.

O código fonte do arquivo erosion_tabakoff.F é descrito a seguir:

#include "cfx5ext.h"
dllexport(erosion_tabakoff)
SUBROUTINE EROSION_TABAKOFF(NLOC,NRET,NARG,RET,ARG,CRESLT,
& CZ,DZ,IZ,LZ,RZ)
CC
CD User routine: Tabakoff erosion model
CC
CC --------------------
CC Input
CC --------------------
CC
CC NLOC - number of entities
CC NRET - length of return stack
CC NARG - length of argument stack
CC ARG - argument values
CC
CC --------------------
CC Modified
CC --------------------
CC
CC --------------------
CC Output
CC --------------------
CC
CC 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)
xxxvi

C
CHARACTER*(4) CRESLT
C
INTEGER IZ(*)
CHARACTER CZ(*)*(1)
DOUBLE PRECISION DZ(*)
LOGICAL LZ(*)
REAL RZ(*)
C
C ------------------------------
C External routines
C ------------------------------
C
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 TABAKOFF (RET(1,1),
& ARG(1,1),ARG(1,2))
C
END

SUBROUTINE TABAKOFF (EROSION,ANGLE,VEL_PT)


C
C=======================================================================
C Calculate Tabakoff erosion rate
C=======================================================================
C
C ---------------------------
C Preprocessor includes
C ---------------------------
C
#include "cfd_sysdep.h"
#include "cfd_constants.h"
xxxvii

C
C ------------------------------
C Argument list
C ------------------------------
C
REAL EROSION, ANGLE, VEL_PT(3)
C
C ------------------------------
C Local variables
C ------------------------------
C
REAL RT, VP, K2, K12, V1, V2, V3, ANGLE_MAX_RAD, ANGLE_MAX, ANGLE_DEG, F, VEL
C
C ------------------------------
C Executable statements
C ------------------------------
C
ANGLE_MAX = 25.0
ANGLE_MAX_RAD = ANGLE_MAX*PI/180.
K12 = 0.585
V1 = 159.11
V2 = 194.75
V3 = 190.5
C
ANGLE_DEG = ANGLE*180./PI
C
VEL = SQRT(VEL_PT(1)**2 + VEL_PT(2)**2 + VEL_PT(3)**2)
C
VP = ((VEL/V2)*SIN(ANGLE))**4
C
RT = 1-(VEL/V3)*SIN(ANGLE)
C
IF(ANGLE_DEG .LE. ANGLE_MAX) THEN
K2 = 1.0
ELSE
K2 = 0.0
ENDIF
C
F = (1+K2*K12*SIN(ANGLE*(PI/2)/ANGLE_MAX_RAD))**2
C
EROSION = (F*((VEL/V1)**2)*(COS(ANGLE)**2)*(1-RT**2)+VP)/1000.
C
END

Para simples conferência, as definições dos comandos no CFX foram as seguintes:

USER ROUTINE DEFINITIONS:


USER ROUTINE: myerosion
Calling Name = erosion_tabakoff
Library Name = erosion_tabakoff
Library Path = C:\PIPE VALVE EROSION_tabakoff
Option = Particle User Routine
END
END
END
FLOW: Flow Analysis 1
SOLUTION UNITS:
Angle Units = [rad]
Length Units = [m]
Mass Units = [kg]
Solid Angle Units = [sr]
Temperature Units = [K]
Time Units = [s]
END
ANALYSIS TYPE:
Option = Steady State
EXTERNAL SOLVER COUPLING:
Option = None
END
xxxviii

END
DOMAIN: Default Domain
Coord Frame = Coord 0
Domain Type = Fluid
Location = B1.P3
BOUNDARY: Default Domain Default
Boundary Type = WALL
Location = \
F1.B1.P3,F10.B1.P3,F11.B1.P3,F12.B1.P3,F2.B1.P3,F6.B1.P3,F7.B1.P3,F8.\
B1.P3,F9.B1.P3
BOUNDARY CONDITIONS:
MASS AND MOMENTUM:
Option = No Slip Wall
END
WALL ROUGHNESS:
Option = Smooth Wall
END
END
FLUID: Sand Fully Coupled
BOUNDARY CONDITIONS:
EROSION MODEL:
Option = User Defined
END
PARTICLE USER WALL INTERACTION:
Argument Variables List = Sand Fully Coupled.Particle Impact \
Angle,Sand Fully Coupled.Velocity
Particle User Routine = myerosion
Particle Wall Interaction Return Variables List = Particle Erosion
END
PARTICLE WALL INTERACTION:
Option = Equation Dependent
END
VELOCITY:
Option = Restitution Coefficient
Parallel Coefficient of Restitution = 1.0
Perpendicular Coefficient of Restitution = 0.9
END
END
END
FLUID: Sand One Way Coupled
BOUNDARY CONDITIONS:
EROSION MODEL:
Option = User Defined
END
PARTICLE USER WALL INTERACTION:
Argument Variables List = Sand One Way Coupled.Particle Impact \
Angle,Sand One Way Coupled.Velocity
Particle User Routine = myerosion
Particle Wall Interaction Return Variables List = Particle Erosion
END
PARTICLE WALL INTERACTION:
Option = Equation Dependent
END
VELOCITY:
Option = Restitution Coefficient
Parallel Coefficient of Restitution = 1.0
Perpendicular Coefficient of Restitution = 0.9
END
END
END
END