Modelagem e Simulação de Sistemas. Enrique Ortega Laboratório de Engenharia Ecológica e Informática Aplicada Faculdade de Engenharia de Alimentos Unicamp, março 2006. Revisão: abril 2006 www.unicamp.br/fea/ortega Modelagem e simulação Para fazer a simulação de ecossistemas é necessário conhecer: a. As leis de energia b. Os princípios dos sistemas abertos, c. Os diversos tipos de fontes de energia, d. Os diversos tipos de interação e as funções que descrevem esses processos. Para representar um ecossistema usaremos o diagrama de fluxos de energia. O diagrama sistêmico é uma técnica que usa símbolos gráficos para mostrar os componentes e as interações do sistema. Existem símbolos para fontes externas, fluxos, interações, estoques internos e saídas de energia. A linguagem simbólica dos fluxos de energia é apresentada no livro “Ecossistemas e Políticas Públicas" de H.T. Odum et al. (1988). http://www.unicamp.br/fea/ortega/eco Fonte de energia Símbolos com conexões externa ilimitada Fluxo de Energia geralmente renovável Fonte de energia externa limitada geralmente renovável Fonte externa limitada, pode ser não renovável Sumidouro de Energia Sistema ou subsistema Estoque interno Produtor preço Transação Interruptor Interação Consumidor Existem várias técnicas de modelagem: a estatística, a fenomenológica, a determinística, e outras. A determinística consiste em propor um tipo de comportamento entre forças, interações e produtos para um tipo de sistema, testar o desempenho do modelo e achar os valores corretos para os coeficientes utilizados. Verificação do desempenho e comparação com a realidade Tipo de comportamento Q Q K*Q k1 Dreno k3 k2 T Q Q E K2*Q K1*E Dreno K1*E*Q Q Q E T K2*Q X Dreno T Tipo de comportamento Verificação do desempenho e comparação com a realidade Q Q K*Q J Energia externa T Q K1*J*Q Q Energia externa K2*Q X T Q K1*R*Q Q J Energia externa K2*Q X R Dreno T Porque simular? Geralmente interessa prever o desempenho de um sistema, observando como mudam os estoques internos com o tempo (Q versus T). DQ = J*DT - K*Q*DT Q T O modelo permite visualizar o impacto de: alteração na composição das forças externas alteração nos fluxos internos formação de novos arranjos internos. O modelo de um sistema permite ações de controle para melhorar o desempenho, conforme certos padrões de qualidade. Para fazer a simulação de um ecossistema pode usar-se qualquer linguagem de programação. Veremos a seguir um exemplo que poderá servir para desenvolver outros modelos. Leis da Energia "Primeira lei: A energia não se cria , não desaparece e sim muda de forma" E = constante = soma de energias "Segunda lei: A energia potencial gera trabalho (W) e energia degradada (Q)" E=W+Q Princípios dos sistemas abertos "Os sistemas criam laços auto-catalíticos e se auto-organizam." Os sistemas abertos evoluem e sua evolução depende da energia externa disponível, da organização interna e do aproveitamento dos resíduos do sistema. "Os sistemas interagem para criar redes de fluxo de energia“. As redes permitem aumentar a circulação de materiais e a captura de energia potencial disponível. Princípios dos sistemas abertos Os conceitos desenvolvidos para a energia valem também para a massa: M = constante no sistema = soma de massas M disponível = M elaborada + M dispersada Os sistemas se desenvolvem em ciclos de produção e consumo. Os ciclos aumentam de intensidade e duração quando o sistema cresce. O sistema cresce quando amplia suas fronteiras para incorporar mais energias externas e estoques. Hoje o crescimento é visto como um processo contínuo, autônomo e infinito, sendo que é apenas parte de um ciclo. Após o crescimento ocorre um declínio. Exemplo 1. Fluxo constante de energia (J) e uma saída (kQ) Temos um sistema que recebe o fluxo J, possui um estoque Q e apresenta uma vazão de saída proporcional ao volume do estoque Q. Como será o gráfico Q x T? O fluxo constante de energia J, expressado em energia ou massa por unidade de tempo permite durante o incremento de tempo DT (segundos) aumentar em DQ o estoque interno Q (Joules ou kg). Diferença no estoque no intervalo DT = entrada ocorrida em DT- saída ocorrida em DT Entrada de energia no intervalo de tempo considerado: DQ (in) = J * DT -> (J/s).(s) ou (kg/s).(s) O estoque tem um dreno e assumimos que a a vazão de saída é proporcional ao estoque de energia. Então a saída de energia no intervalo de tempo é: DQ (out) = K*Q*DT -> (1/s).(J).(s) ou (1/s).(kg).(s) A equação do balanço de energia no intervalo DT é: Acumulação = Entrada - Saída DQ = DQ(in) - DQ(out) DQ = J*DT - K*Q*DT DQ = J*DT - K*Q*DT A mesma expressão se o intervalo de tempo for unitário (DT = 1) fica como: DQ = J - K*Q Para simular a variação do estoque interno de energia Q no decorrer do tempo T teríamos que escrever em qualquer linguagem de programação o seguinte procedimento: Inicio do programa Definir o tipo o os nomes das variáveis: J, Q, T, DT, K, TMAX e atribuir valores iniciais as variáveis: J=4 K=0.05 Q=10 T=0 DT=1 TMAX=10 Criar um laço de programação que faça o seguinte: Plotar os valores de T e Q existentes Calcular DQ (o incremento de Q no intervalo DT): DQ = J*DT - K*Q*DT Calcular no novo valor de Q: Q = Q + DQ Incrementar o valor de T: T = T + DT Testar se T está dentro do tempo permitido T< TMAX Em caso positivo permanece no laço senão sai dele Fim do programa Experimente fazer o cálculo manualmente e depois com ajuda de uma planilha. J=4 DT=1 J DT=4 K=0.05 Q=10 T=0 TMAX=10 T J DT K Q DT DQ=JDT-KQDT 0 0 0 0 1 4*1 = 4 0.05*10*1 = 0.5 3.5 13.5 2 4*1 = 4 0.05*13.5*1 = 0.675 3.325 16.825 3 4*1 = 4 0.05*16.825*1 = 0.841 3.159 19.984 T DQ Q 0 - 10,000 Q= Q anterior+DQ 10.0 Q versus T 90 1 3,500 13,500 2 3,325 16,825 3 3,159 19,984 4 3,001 22,985 5 2,851 25,835 6 2,708 28,544 7 2,573 31,116 10 8 2,444 33,561 0 9 2,322 35,883 10 2,206 38,088 Estoque interno 80 70 60 50 40 30 20 0 100 200 Tempo 300 Q versus T DQ = J*DT - K*Q*DT K=0.05 80,000 J=4 Q=10 60,000 50,000 K=0.05 T=0 DT=1 TMAX=10 40,000 Q versus T 30,000 20,000 160,000 10,000 140,000 0 10 20 Tempo K=0.0025 120,000 30 40 100,000 Q versus T 80,000 60,000 K=1.0 12,000 40,000 10,000 20,000 0,000 0 10 20 Tempo 30 Estoque interno 0,000 Estoque interno Estoque interno 70,000 8,000 40 6,000 4,000 2,000 0,000 0 10 20 Tempo 30 40 Applets Java miniworld.htm Modelos básicos DQ = J - K*Q*DT Q Energia externa J K*Q Tanque Energia dispersada DQ = - K*Q*DT Q K*Q Dreno Energia dispersada DQ = K1*E – K2*Q Q E K2*Q K1*E Dreno Estoque não renovável DQ = K1*J*Q – K2*Q K1*J*Q Q Energia externa K2*Q X Dreno Fonte ilimitada Laço de retro-alimentação Fonte ilimitada Laço de retro- K1*J*Q alimentação DQ = K1*J*Q – K2*Q*Q K2*Q*Q Q Energia externa X X Dreno DQ = K1*R*Q – K2*Q K1*R*Q Q J Energia externa K2*Q X R Dreno Fonte limitada na origem + Laço de retro-alimentação DQ = K1*E*Q – K2*Q K1*E*Q Fonte limitada Q K2*Q X E Dreno Laço de retroalimentação Fonte limitada DQ = K1*R*Q + K2*E*Q – K3*Q K2*E*Q E X Energia externa R Q J K3*Q X K1*R*Q Fonte limitada na origem Dreno Uso da ferramenta EmSim para resolver o modelo inicial (Tanque) Resolução do modelo inicial (tanque) usando EmSim 2 1 3 Agora vamos a prática!