Buscar

SCILAB APLICADO À ENGENHARIA QUÍMICA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 69 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 69 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 69 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SCILAB APLICADO À 
ENGENHARIA QUÍMICA 
 
Prof.ª: Nádia Guimarães Sousa 
nadiagsousa@gmail.com 
Uberaba – 19/11/19 
Universidade Federal do Triângulo Mineiro 
Instituto de Ciências Tecnológicas e Exatas 
Departamento de Engenharia Química 
 Software livre 
 Software livre está relacionado a liberdade e não a 
gratuidade. Logo, o usuário tem a liberdade de 
controle na execução e adaptação a sua computação e 
processamento de dados, assim sendo, o usuário pode 
executaar, copiar, distribuir, estudar, mudar e melhorar 
o software (código fonte aberto). 
 
 Disponível em: http://www.scilab.org 
 
2 
http://www.scilab.org/
PROMPT DO SCILAB (calculadora) 
3 
• Realização de testes de comando 
• Visualização de conteúdo de 
variáveis e respostas geradas 
Desenvolvedor 
de código 
(SciNotes) 
SciNotes 
4 
OBSERVAÇÃO: Os arquivos para compilação no SciNotes podem ser salvos 
com as extensões: “.sci” (arquivo de inicialização) ou “.sce” (arquivo de 
execução). 
HELP 
5 
 
Operadores Matemáticos 
 
 
 
 
Operadores Relacionais 
 
 
 
 
 
Símbolo Operação Exemplo 
+ soma 5+4 
- subtração 5-4 
* multiplicação 540*874 
/ Divisão à direita 4/2 
\ 
Divisão à 
esquerda 
A\B (matrizes) 
^ ou ** Potenciação 6^48 ou 6**48 
‘ Transposto A’ 
Símbolo Descrição 
> Maior que 
< Menor que 
>= Maior ou igual 
<= Menor ou igual 
== Igual 
~= ou <> Diferente 
& Isso e aquilo 
| Isso ou aquilo 
6 
7 
Variáveis especiais 
Constante Representação 
%i −1 
%pi 𝜋 = 3,1415927 
%e Constante e=2,7182818, base dos logaritmos 
naturais 
%eps Constante representando a precisão da 
máquina 
%nan Não é um número (not a number) 
%inf Infinito 
%s É o polinômio y(s)=s, s=poly (0,’s’) 
%t Constante lógica para verdadeiro (true) 
%f Constante lógica para falso (false) 
8 
Funções de uso geral 
Funções Descrição 
clc Limpa tela de comandos 
clear Limpa variáveis não protegidas 
mode(-1) Omitirá o eco dos comandos 
who Mostra lista de variáveis correntes 
help Tela de ajuda do Scilab 
save Salvar no formato binário 
load Ler no formato binário 
clf() Limpa janela gráfica ativa 
scf() Ajusta a janela gráfica 
subplot() Divide a janela gráfica 
xtitle() Coloca títulos no gráfico e eixos 
disp() Exibição de variáveis 
// Comentário 
9 
Funções matemáticas 
Função Descrição 
abs (x) Valor absoluto de x 
cos(x) Cosseno de x 
sin(x) Seno de x 
tan(x) Tangente de x 
exp(x) Exponencial euleriana de x 
imag(z) Parte imaginária do complexo z 
int(x) Pare inteira de x 
log(x) Logaritmo natural de x, base e 
log10(x) Logaritmo de x na base 10 
log2(x) Logaritmo de x na base 2 
real(z) Parte real do complexo z 
sqrt(x) Raiz quadrada de x 
 Criar uma variável 
 
 
 Comparação 
 
 String 
 
Operador de Intervalo 
[início:incremento:final]: Ex.: a=[1:2:10] 
 
 
 
10 
Nome simples, fácil digitação 
e sem caracteres especiais 
Primeiros passos 
 Sabendo que a reação 𝐴 → 𝐵 em fase líquida, 
ocorrem em um reator CSTR e que a equação de 
projeto do mesmo é dada por: 
 
 𝑉 = 
𝐹𝐴0𝑋
−𝑟𝐴
 
 
 
Calcule o volume do CSTR para obter uma conversão 
de 80% do reagente limitante. 
Dados: 𝐹𝐴0 = 𝐶𝐴0. 𝑣0 
 𝑣0= 10 L/min 
 𝐶𝐴0= 0,45 mol/L 
 K= 0,21 min-1 
11 
−𝑟𝐴= 𝐾(𝐶𝐴0 1 − 𝑋 ) 
Use a função disp( ) 
para imprimir o 
resultado no console 
CA 
V 
Exemplo 1 
12 
13 
14 
Vetor linha Vetor coluna 
Acesso de elementos de um vetor: 
Último 
elemento 
Vetores 
15 
Acesso de elementos de 
uma matriz: 
 
A ( i , j ) 
 
linha 
coluna 
Todas 
as linhas 
Todas 
as colunas 
Matrizes 
 
Matriz combinação de vetores 
16 
Matrizes Especiais 
Função Descrição 
A’ Transposta da matriz A 
diag(A) 
Produz uma matriz diagonal 
com os elementos do vetor 
A 
eye(m,n) 
Matriz m x n com 1 na 
diagonal principal 
ones(m,n) Cria uma matriz m x n de 1 
zeros(m,n) Cria uma matriz m x n de 0 
As operações 
matemáticas 
envolvendo matrizes e 
vetores são as mesmas 
para escalares, desde 
que as dimensões 
sejam compatíveis 
17 
Operação Descrição 
A.*B 
Multiplicação elemento a elemento, A e B são de mesma 
dimensão 
det(A) Determinante da matriz A 
expm(A) Produz a matriz exponencial e^. 
gsort(x) Ordena o vetor x em ordem decrescente 
length(x) Tamanho do vetor x 
[xmax, k]= max(x) Calcula o máximo do vetor x e k indica a posição do máximo 
[xmin, k]= min(x) Calcula o mínimo do vetor x e k indica a posição do mínimo 
mean(x) Calcula a média do vetor x 
norm(x) Calcula a norma euclidiana do vetor x 
size(A) Retorna as dimensões da matriz A 
spec(A) Calcula os autovalores e os autovetores da matriz quadrada A 
trace(A) 
Traço da matriz quadrada A (soma de todos os elementos da 
diagonal) 
tril(A) Parte triangular inferior de uma matriz quadrada A 
triu(A) Parte triangular superior de uma matriz quadrada A 
inv(A) Inversa de uma matriz quadrada A 
Funções com matrizes e vetores 
18 
Definição da matriz 
Extração 
Inserção 
Eliminação 
Um engenheiro quer estudar o comportamento 
do reator CSTR, projetado anteriormente, para 
as seguintes condições de vazão e conversão: 
 
12.5 0.65
15.0 0.65
22.45 0.95
 
Escreva a matriz de condições 
Extraia o vetor de vazão e o vetor de conversão 
Calcule e imprima no console o volume do CSTR 
para cada conjunto de variáveis (vazão-
conversão) 
19 
𝑣0 𝑋 
Exemplo 2 
20 
Respostas 
Estrutura Básica 
[yp]= interp1(x, y, xp, ‘method’) 
21 
Interpolação polinomial 
Suponha que a reação que ocorre no reator, 
agora tem a lei de velocidade desconhecida!!! 
Mas experimentos revelam a variação da taxa 
de reação em função da conversão. 
 
 
 
Determine o valor da taxa de reação para 
conversões de 25, 50 e 90%. 
 
 
22 
Exemplo 3 
X 0 0,2 0,4 0.6 0.8 1 
-ra 0,1125 0,09 0,0675 0,045 0,0225 0 
23 
24 
 Se uma determinada condição for satisfeita, 
o programa executa um bloco de instruções 
 
if condicao then 
 instrucao 1 
 instrucao 2 
else 
 instrução 3 
end 
25 
Estrutura Básica 
Estrutura if 
 Caso mais de duas condições devem ser 
analisadas, então usa-se a estrutura elseif 
 
 
if condicao 1 then 
 instrucao 1 
 instrucao 2 
 
elseif condicao 2 
 instrucão 3 
 
else 
 instrução 4 
end 
26 
Estrutura Básica 
Estrutura elseif 
Por questões de espaço físico da unidade 
reacional, o reator não pode ultrapassar 150 
L, porém, caso ele seja menor que 120 L a 
conversão do sistema será muito baixa. Assim 
sendo, classifique os reatores projetados 
anteriormente (Exemplo 2) de acordo com a 
tabela a seguir: 
 
27 
Faixa de Volume Classificação 
V <= 120 L Reator subdimensionado 
120 L < V <= 150 L 
Reator dentro das 
especificações 
V > 150 L Reator sobredimensionado 
Exemplo 4 
28 
29 
 Executa um bloco de instruções durante um 
número especificado de vezes 
 
for indice= limite1:incremento:limite2 
 instrução 1 
 instrução 2 
end 
30 
Estrutura Básica 
O laço for 
 Executa um bloco de instruções enquanto uma 
determinada condição estiver sendo satisfeita 
 
 
while condição do 
 instrução 1 
 instrução 2 
end 
31 
Estrutura Básica 
Comando Função 
break 
Encerra a execução 
de um laço 
O laço while 
 
 
 Faça a mesma classificação do exemplo 4. 
 
32 
Exemplo 5 
33 
34 
 As funções recebem dados por meio de uma 
lista de argumentos de entrada e retorna os 
resultados por uma lista de argumentos de 
saída 
 
 
35 
Estrutura Básica 
Funções - function 
function [lhs_arguments]=function_name(rhs_arguments) 
 
 statements 
 
endfunction 
 
em que: function_name é o nome da função, (rhs_arguments) é a 
lista de argumentos de entrada, [lhs_arguments] é a lista de 
argumentos de saída e statements é a função a ser resolvida. 
 
36 
• É uma rotina de otimização não linear que resolveproblemas de mínimos quadrados não lineares. 
Forma mais simples: 
o [fopt, xopt]=leastsq(fun,x0) 
em que: fun – nome da função que contém a função, 
x0 – vetor com chutes iniciais, fopt – valor mínimo 
da função e xopt – valor que minimiza a função. 
 leastsq 
 
 
Ajuste de curvas a pontos 
experimentais 
37 
𝑻 𝒐𝑪 𝑷 𝒎𝒎𝑯𝒈 
-36,7 1 
-19,6 5 
-11,5 10 
-2,6 20 
7,6 40 
15,4 60 
26,1 100 
42,2 200 
60,6 400 
80,1 760 
Eq. Clausius Clayperon 
𝑙𝑜𝑔 𝑃 = 𝐴 +
𝐵
𝑇
 
Exemplo 6 
 Modelar a pressão de vapor do benzeno com a 
temperatura pela equação de Clausius Clapeyron. 
Na tabela a seguir, são apresentados todas as 
pressões de vapor para várias temperaturas. 
 
 
 
38 
39 
 
 plot(x, y, <LineSpec>) 
40 
Estrutura Básica 
Gráficos bidimensionais 
41 
Cores/Marcadores Descrição 
- Linha sólida (default) 
-- Linha tracejada 
˸ Linha pontilhada 
-. Linha traço-pontilhada 
r Vermlho 
g Verde 
b Azul 
m Magenta 
+ Mais 
* Asterisco 
Cores e marcadores 
42 
• O comando ‘xtitle’: 
• xtitle(‘title’, ‘x_label’, ‘y_label’, ‘z_label’) – 
título e rótulos 
• O comando ‘xgrid’: 
• xgrid(style) - linhas de grade 
• style (estilo) – define a forma e a cor da grade 
• O comando ‘subplot’: 
• subplot(L,C,P) – L: Linhas; C: Colunas e P: Posição. 
• O comando ‘legend’: 
• legend([‘string1’, ‘string2’, ...],pos) 
• pos – posição das legendas 
 
 
 
pos Posição 
1 Canto superior direito (default) 
2 Canto superior esquerdo 
3 Canto inferior esquerdo 
4 Canto inferior direito 
5 Usando o mouse 
Apresentação de gráficos 
43 
44 
Estrutura Básica 
 plot3d(x, y, z) 
plot3d 
Utilizado para plotar mais de um gráfico 
numa mesma janela gráfica 
 
45 
Estrutura Básica subplot(i, j, <posicao>) 
subplot(L,C,P) 
46 
Formatando gráficos 
47 
Um sistema de equações lineares pode ser 
representado por: 
 
𝑎11𝑥1 + 𝑎12𝑥2 +⋯+ 𝑎1𝑛𝑥𝑛 = 𝑏1
𝑎21𝑥1 + 𝑎22𝑥2 +⋯+ 𝑎2𝑛𝑥𝑛 = 𝑏2
⁝
𝑎𝑛1𝑥1 + 𝑎𝑛2𝑥2 +⋯+ 𝑎𝑛𝑛𝑥𝑛 = 𝑏𝑛
 
 
Na forma matricial temos: 
 
𝑨𝒙 = 𝒃 
48 
Sistema de equações lineares 
49 
𝐱 = 𝐀−𝟏𝐛 
𝐱 = 𝐀\𝐛 
𝐱 = 𝐥𝐢𝐧𝐬𝐨𝐥𝐯𝐞(𝐀,−𝐛) 
Resolvendo 
 
 
 
50 
Sistema de equações não lineares - 
fsolve 
Estrutura Básica 
[x [,v [,info]]]=fsolve(x0,fct [,fjac] [,tol]) 
Passando parâmetros para fsolve() 
lista= list(nome_fuc, p1, p2,..., pn) 
[x, fv, info]= fsolve(xchute, lista) 
51 
52 
 Condução unidimensional em regime permanente 1 
Um gás de fornalha a temperatura 𝑇𝑔 irradia uma quantidade de calor 𝑄 
para a superfície externa do tubo, cuja temperatura é 𝑇𝑠. O calor é 
conduzido através da parede do tubo para a superfície interna a 𝑇𝑤, e 
então através de um filme para a corrente de processo à temperatura 𝑇𝑝. 
Analisando o sistema as seguintes relações são obtidas: 
 Fluxo de calor radiante: 𝑄 = 𝑎 𝑇𝑔
4 − 𝑇𝑠
4 
 Condução através da parede do tubo: 𝑄 = 𝑏 𝑇𝑠 − 𝑇𝑤 
 Condução através do filme: 𝑄 = 𝑐 𝑇𝑤 − 𝑇𝑝 
Em que: 𝑎 = 1,2𝑥10−9; 𝑏 = 70 + 0,07 𝑇𝑠 + 𝑇𝑤 e 𝑐 = 6. Calcule 𝑄, 𝑇𝑠 e 𝑇𝑤 
para 𝑇𝑝 = 900 𝐾 e 𝑇𝑔 = 1200𝐾. 
Modelagem e Simulação de Processos I 
𝑇𝑔 
Gás de fornalha 
𝑇𝑝 
Fluido do processo 
𝑇𝑠 𝑇𝑤 
Figura: Transporte de calor 
através de uma parede 
Exemplo 7 
1 KWONG, W. H. Resolvendo problemas de engenharia química com software livre Scilab, EdUFSCar,2016 
53 
Uma equação diferencial ordinária é dada 
por: 
 
𝑑𝑦
𝑑𝑥
= 𝑓 𝑥, 𝑦 
𝐶𝐼: 𝑦 𝑥0 = 𝑦0 
 
54 
Sistema de Equações Diferenciais 
Ordinárias - ode 
Estrutura Básica 
y= ode(y0, t0, t, funcao) 
Pode ser substituído 
pela lista 
55 
1Exemplo 8 
 Num reator tubular, a composição do fluido varia de posição para 
posição ao longo do seu percurso, consequentemente, o balanço 
material, para um componente da reação, deverá ser feito para um 
elemento diferencial de volume 𝐴𝛿𝑧, como mostrado na figura a seguir. 
 
 
 
 
 
 
𝛿𝑧 
𝑢 
𝐶𝐴𝑖 
𝐿 
𝑢𝐴𝐶𝐴 𝑢𝐴𝐶𝐴 + 𝑑 𝑢𝐴𝐶𝐴 
𝑑𝐶𝐴
𝑑𝑉
=
1
𝑣
𝑟𝐴 
𝑣 =
𝐹𝐴𝑖
𝐶𝐴𝑖
 
𝑋𝐴 =
𝐶𝐴𝑖 − 𝐶𝐴
𝐶𝐴𝑖
 
Modelo: 
Para um componente A alimentado a um reator tubular onde ocorre a 
seguinte reação: 𝐴
𝑘
→𝐵, a reação é de primeira ordem e elementar. Pede-
se: 
i. Determine a conversão num reator de 10000L. 
ii. Qual é o volume do reator para uma conversão de 50%? 
Dados: 𝐹𝐴𝑖 = 200𝑚𝑜𝑙 ℎ ; 𝑘 = 0,2ℎ
−1 ; 𝐶𝐴𝑖 = 0,1 𝑚𝑜𝑙 𝐿 
1 KWONG, W. H. Resolvendo problemas de engenharia química com software livre Scilab, EdUFSCar,2016 
56 
57 
Exemplo 9 
 Velocidade terminal de partículas em queda1 
A velocidade de queda livre pode ser pode ser estimada pela mecânica dos 
fluidos pela expressão: 
𝑣𝑡 =
4𝑔 𝜌𝑝 − 𝜌 𝐷𝑝
3𝐶𝐷𝜌
 
em que o coeficiente de arraste 𝐶𝐷 em partículas esféricas na velocidade 
terminal varia com o número de Reynolds: 
𝐶𝐷 =
24
𝑅𝑒
; 𝑅𝑒 < 0,1 
𝐶𝐷 =
24
𝑅𝑒
1 + 0,14𝑅𝑒0,7 ; 0,1 ≤ 𝑅𝑒 ≤ 1000 
𝐶𝐷 = 0,44; 1000 < 𝑅𝑒 ≤ 35000 
𝐶𝐷 = 0,19 −
8𝑥104
𝑅𝑒
; 35000 < 𝑅𝑒 
Para: 𝑅𝑒 =
𝜌𝑣𝑡𝐷𝑝
𝜇
 
Calcule a velocidade terminal para as partículas de carvão com 
𝜌𝑝 = 1800𝑘𝑔 𝑚
3 e 𝐷𝑝 = 0,208𝑥10
−3𝑚 em queda livre na água a 25𝑜𝐶 . As 
propriedades da água são: 𝜌 = 994,6 𝑘𝑔 𝑚3 e 𝜇 = 8,931𝑥10−4 𝑘𝑔 𝑚 𝑠 
 
 
 
 
 
 
 
 
1 KWONG, W. H. Resolvendo problemas de engenharia química com software livre Scilab, EdUFSCar,2016 
58 
59 
Input: é um texto fornecido ao usuário no 
prompt e o cursor então espera por uma entrada 
no teclado. 
 
 
 
 
60 
Estrutura Básica 
x= input(message) 
 
 
x= imput(message, “string”) 
número 
string 
Entrada de dados 
messagebox():Pode ser usado para propor uma 
opção de escolha 
 
61 
Entrada de dados 
Estrutura Básica 
messagebox([‘String_question’], “modal”, “question”, [“SIM” 
“NÃO”]) 
 
 
 
messagebox([‘Srtring_escolha’], “modal”, [“OPCÃO_1” 
“OPCÃO_2”...]) 
 
62 
 x_mdialog(): cria uma caixa para a inserção 
de dados (os dados entram como uma string, 
por isso é comum usar a função evstr para 
transformar string em um número) 
63 
Entrada de dados 
Estrutura Básica 
var= evstr(x_mdialog([‘Título’],[‘Variável_1’; ‘Variável_2’; 
...],[‘ ’; ‘ ’; ...]) 
64 
Entrada de dados 
disp(): exibe valores ou strings guardadas 
dentro de uma variável ao final de uma 
determinada sentença. 
 
 
 
printf(): exibe valores de variáveis 
dentro de uma sentença 
 
65 
Estrutura Básica 
disp(‘string’) 
disp(valor_numérico) 
Estrutura Básica 
printf(‘\n\t A temperatura no reator é de (%d, %0.2f) °C \n’, 
variavel) 
Saída de dados 
66 
Saída de dados 
messagebox(): Exibe o valor de uma 
variável bem como uma string na forma de 
caixa de mensagem 
67 
Saída de dados 
Estrutura Básica messagebox([“Mensagem1”+string(var1) “ ” 
“Mensagem2”+string(var2)... 
Utilizando os códigos anteriores, faça um 
programa que calcule o volume de reatores 
CSTR e PFR 
1. Entrada de dados deve ser feita por meio de 
caixas de mensagem 
2. Dar opção para selecionar o tipo de reator a 
ser projetado 
3. Exibir o resultado por meio de caixas de 
mensagem 
 
68 
Exemplo 10 
69

Outros materiais