TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Tutorial para Implementar um Modelo de Viscosidade Variando Com a Temperatura

Por:   •  5/11/2019  •  Artigo  •  1.362 Palavras (6 Páginas)  •  214 Visualizações

Página 1 de 6

Tutorial para implementar um modelo de viscosidade variando com a temperatura:

 

Primeiro Bloco de comandos:

run

cp -r $FOAM_SRC/transportModels/incompressible/viscosityModels/powerLaw tempdeppowerLaw cd tempdeppowerLaw/ rm powerLaw.dep mkdir Make cd Make

cp $FOAM_SRC/transportModels/incompressible/Make/files files cp $FOAM_SRC/transportModels/incompressible/Make/options options

 

 

Estes comandos significam, na ordem:  

  1. vai para o diretorio "run";
  2. copia a pasta do modelo "powerLaw" para o diretorio "run", criando uma pasta chamada

"tempdeppowerLaw";

  1. vai para a pasta "tempdeppowerLaw;
  2. cria a pasta "Make";
  3. vai para a pasta "Make";
  4. copia o arquivo "files" para a pasta "Make";
  5. copia o arquivo "options" para a pasta "Make";

 

Agora, é necessário editar os arquivos copiados. Para facilitar a identificação do que que deve ser editado, as modificações no código estão em vermelho:

 

No arquivo Make/file, substituir o conteúdo por:

 

tempdeppowerLaw.C

LIB = $(FOAM_USER_LIBBIN)/libusertempdeppowerLaw

 

No arquivo Make/options, substituir o conteúdo por:

 

EXE_INC = \

 -I$(LIB_SRC)/transportModels/incompressible/lnInclude/ \

 -I$(LIB_SRC)/finiteVolume/lnInclude

LIB_LIBS = \

 -lfiniteVolume

 

Estes arquivos fazem parte do processo de compilação. As edições são para diferenciar o novo modelo dos anteriores.

O arquivo "tempdeppowerLaw.C" deve ser editado em 4 pontos. A primeira edição é em torno da linha 53, e serve para a rotina ler o campo de temperatura. A seguir, o trecho que contém onde a linha deve ser inserida:

 

 

// * * * * * * * * * * * * Private Member Functions  * * * * * * * * * * * * //

 

Foam::tmp

Foam::viscosityModels::tempdeppowerLaw::calcNu() const

{

const volScalarField& T= U_.mesh().lookupObject("T");      return max

                 (

        nuMin_,

 

 

 

A próxima edição já é em uma parte da na equação do modelo, na definição de um "k" em função da temperatura.  

Essa etapa se dá em torno da linha 60, de modo que a rotina ficará da seguinte forma:

 

                  nuMax_,

            (k_-kslope_*(T-Tbase_))*pow

            (                 max

                (

                    dimensionedScalar("one", dimTime, 1.0)*strainRate(),

 

 

E para finalizar, as duas próximas edições são para que a rotina busque os valores dos coeficientes do modelo na biblioteca de propriedades do sistema. A primeira é na linha 87, com a inserção de duas linhas para leituras de novos coeficientes (kslope e Tbase):

 

    k_("k", dimViscosity, powerLawCoeffs_),     n_("n", dimless, powerLawCoeffs_),     kslope_(powerLawCoeffs_.lookup("kslope")),      Tbase_(powerLawCoeffs_.lookup("Tbase")),      nuMin_("nuMin", dimViscosity, powerLawCoeffs_),     nuMax_("nuMax", dimViscosity, powerLawCoeffs_),

 

 

Da mesma forma, 2 linhas são adicionadas na altura da linha 117:

 

    powerLawCoeffs_.lookup("k") >> k_;     powerLawCoeffs_.lookup("n") >> n_;     powerLawCoeffs_.lookup("kslope") >> kslope_;     powerLawCoeffs_.lookup("Tbase") >> Tbase_;     powerLawCoeffs_.lookup("nuMin") >> nuMin_;     powerLawCoeffs_.lookup("nuMax") >> nuMax_;

 

 

Já no arquivo "tempdeppowerLaw.H", apenas uma edição, também para permitir a leitura dos novos coeficientes, na altura da linha 63:

 

        dimensionedScalar k_;          dimensionedScalar n_;          dimensionedScalar kslope_;          dimensionedScalar Tbase_;          dimensionedScalar nuMin_;  

        dimensionedScalar nuMax_;  

 

Os próximos comandos são os seguintes:

 

cd ..

mv powerLaw.H tempdeppowerLaw.H mv powerLaw.C tempdeppowerLaw.C

sed -i s/powerLaw/tempdeppowerLaw/g tempdeppowerLaw.C sed -i s/powerLaw/tempdeppowerLaw/g tempdeppowerLaw.H wmake libso

 

Que representam:

 

  1. sobe um nível do diretorio: da pasta "make" para a pasta "temppowerlaw"
  2. muda o nome do arquivo powerlaw.H para tempdeppowerlaw.H
  3. muda o nome do arquivo powerlaw.C para tempdeppowerlaw.C
  4. substitui no arquivo temppowerLaw.C a expressão "powerLaw" por "tempdeppowerLaw". Repetir esse comando pode gerar erros.
  5. substitui no arquivo temppowerLaw.H a expressão "powerLaw" por "tempdeppowerLaw". Repetir esse comando pode gerar erros.
  6. compila o modelo. Caso esse comando seja executado sem erros, o modelo de viscosidade estará implementado.

 

 

Tutorial para adaptar um solver:

 

Comandos iniciais:

 

run

cp -r $FOAM_APP/solvers/incompressible/simpleFoam temperatureSimpleFoam cd temperatureSimpleFoam/ wclean rm -r SRFSimpleFoam/ rm -r porousSimpleFoam/ rm -r MRFSimpleFoam/ mv simpleFoam.C tempSimpleFoam.C cp UEqn.H TEqn.H

...

Baixar como (para membros premium)  txt (7.1 Kb)   pdf (64.5 Kb)   docx (11.2 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com