Aplicações Informáticas para Engenharia
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Optimizar os valores de constantes cineticas (k1, k2, k3)

2 participantes

Ir para baixo

Optimizar os valores de constantes cineticas (k1, k2, k3) Empty Optimizar os valores de constantes cineticas (k1, k2, k3)

Mensagem  elcaco Qui 18 Dez 2008, 12:50

Pretendo simular em matlab os perfis de concentração relativo ao mecanismo que se segue:

Mecanismo relativo à reacção de oxidação de cianetos:


k1
NaCN +NaOCl + H2O-----> CNCl + 2 NaOH

k2
CNCl + 2 NaOH -----> NaOCN +NaCl +H2O

k3
NaOCl + NaOCN + H2O -----> NaHCO3 + N2 + NaCl

Objectivo:
-calcular os valores de k1, k2, k3 (constante cinética) de cada reacção.


Dados do processo:

-concentração de cianeto total à entrada (NaCN)
-concentração de cianeto total à saída (NaCN)
-concentração de hipoclorito à entrada (NaOCl)
-concentração de soda caustica à entrada (NaOH)
-tempo de reacção

Em seguida mostro-vos o programa que fiz:
_____________________________________________________________________________________________
-Só que neste caso atribui valores a k1, k2, k3
-O que eu pretendo é optimizar os valores de k1, k2 e k3, tendo em conta os dados do processo.
-será que consigo determinar os valores k1, k2 e k3 , utilizando a função fminsearch??
-E como faço??

Agradecia a vossa ajuda...

Cumprimentos;

Vasco Mendes

Obrigado.

_PROGRAMA QUE REPRESENTA OS PERFIS DE CONCENTRAÇÃO AO LONGO DO TEMPO DE REACÇÃO__ COM k1 k2 k3 atribuidos___

%%%%%%%%%%%%%%%

function cianeto()

clc
clear all
close all

global nc nr V k1 k2 k3

%___CONDIÇÕES INICIAIS DE OPERAÇÃO_____%

ca0=1; %mol/dm3
cb0=0.8; %mol/dm3
cc0=0.5; %mol/dm3
cd0=0; %mol/dm3
ce0=0.4; %mol/dm3
cf0=0; %mol/dm3
ci0=0; %mol/dm3
cj0=0; %mol/dm3
ck0=0; %mol/dm3


%CONSTANTES CINÉTICAS considerando reacção pseudo primeira ordem
k1=1e-1; %(s-1)
k2=1e-1; %(s-1)
k3=1e-1; %(s-1)

V=5; %(m3) volume do reactor
nc=9; % nºde componentes
tempo=200; %(h) horas


%___ODE PARA PERFIL DE CONCENTRAÇÃO___%

tspan=[0 tempo];
c0=[ca0 cb0 cc0 cd0 ce0 cf0 ci0 cj0 ck0];
[t,c]=ode15s(@reaccao,tspan,c0);

n=length(t)
ca=c(:,1)
cb=c(:,2)
cc=c(:,3)
cd=c(:,4)
ce=c(:,5)
cf=c(:,6)
ci=c(:,7)
cj=c(:,8)
ck=c(:,9)


plot(t,ca,t,cb,t,cc,t,cd,t,ce,t,cf,t,ci,t,cj,t,ck,'LineWidth',2)
legend({'Ca','Cb','Cc','Cd','Ce','Cf','Ci','Cj','Ck'},'FontWeight','bold','FontSize',12,'FontName','Arial')

function [dcdt]=reaccao(t,c)

global k nc nr V k1 k2 k3

dcdt=zeros(9,1);

%____REACÇÕES____
r(1)=-k1*c(1)*c(2)*c(3);
r(2)=-k1*c(1)*c(2)*c(3)-k3*c(2)*c(6)*c(3);
r(3)=-k1*c(1)*c(2)*c(3)+k2*c(4)*c(5)^2-(k3*c(2)*c(6)*c(3)); %
r(4)=+k1*c(1)*c(2)*c(3)-(k2*c(4)*c(5)^2);
r(5)=2*k1*c(1)*c(2)*c(3)-(2*k2*c(4)*c(5)^2);
r(6)=k2*c(4)*c(5)^2-(k3*c(2)*c(6)*c(3));
r(7)=k2*c(4)*c(5)^2;
r(8)=k3*c(2)*c(6)*c(3);
r(9)=k3*c(2)*c(6)*c(3);

%__BALANÇO DE MASSA___

for i=1:1:9
dcdt(i)=r(i);
end
% dcdt(1)=r(1);
% dcdt(2)=r(2);
% dcdt(3)=r(3);
% dcdt(4)=r(4);
% dcdt(5)=r(5);
% dcdt(6)=r(6);
% dcdt(7)=r(7);
% dcdt(8)=r(8);
% dcdt(9)=r(9);

elcaco

Mensagens : 5
Data de inscrição : 18/12/2008

Ir para o topo Ir para baixo

Optimizar os valores de constantes cineticas (k1, k2, k3) Empty Re: Optimizar os valores de constantes cineticas (k1, k2, k3)

Mensagem  Administrador Qui 18 Dez 2008, 14:18

A função fminsearch pode ser usada quando temos uma função objectivo com várias variáveis independentes. No seu caso temos um sistema de equações diferenciais do 1º grau (e não equações lineares!!) mas, pelo que percebi do programa, não há uma função objectivo bem definida. Mesmo que ela possa ser definida, temos sempre o problema das equações diferenciais. Logo, não me parece que seja possível usar fminsearch para resolver este problema.

Parece-me que para resolver este problema terá de usar a toolbox de optimização "Optimization Toolbox", e depois eventualmente usar diferenças finitas para se livrar das derivadas.

Leia o help dessa toolbox e depois chame a "Optimization tool" escrevendo optimtool na linha de comandos do matlab para configurar e trabalhar com essa ferramenta de optimização. Como nunca necessitei de a usar, é apenas isto que lhe posso dizer antecipamente.

Boas programações,
Sérgio Cruz
Administrador
Administrador
Admin

Mensagens : 221
Data de inscrição : 23/11/2007

https://aipe-fctuc.forumeiros.com

Ir para o topo Ir para baixo

Optimizar os valores de constantes cineticas (k1, k2, k3) Empty re

Mensagem  elcaco Qui 18 Dez 2008, 17:35

ok então vou ver esse comando... de qualquer forma obrigado na mesma..

cumprimentos;

Vasco mendes.

elcaco

Mensagens : 5
Data de inscrição : 18/12/2008

Ir para o topo Ir para baixo

Optimizar os valores de constantes cineticas (k1, k2, k3) Empty Re: Optimizar os valores de constantes cineticas (k1, k2, k3)

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos