Stella

Propaganda
Stella
O Stella é um ambiente hierárquico, multi-nível para construir e interagir com modelos.
Este ambiente possui 2 niveis principais: O nível mais alto de mapping e input/output e
o nível de construção dos modelos. A divisão em níveis facilita o desenvolvimento
“top-down” dos modelos e a construção da interface, permitindo um acesso com mais
ou menos detalhe do modelo.
Cada janela corresponde a um nível diferente:
 Mapping layer
 Modeling layer
 Equation view
Menus
Mapping layer
File
Edit
Map&I/O
Run
Help
Só pode estar aberto um modelo de cada vez.
File – Save As PICT...
Text...
Movie...
Context sensitive menu.
File – Revert
O modelo volta ao estado em que estava após a última vez que foi gravado.
Map&I/O -
Open selection... Define Graph... Define Table... Define Movie...
Equivalente a um “double click”.
Map&I/O-
Prefs...
Permite definir as características visuais de cada nível (neste caso do
Mapping).
Run - Sector Specs...
Permite dividir o modelo em sectores que podem correr separadamente.
Run - Sensis Specs...
Permite estabelecer características para a análise de sensibilidade.
Run - Time Specs...
Permite especificar:
- duração da simulação,
- “time step” da simulação(tem que ser <=1),
- intervalo da pausa (por defeito infinito), permite parar a simulção para
analisar os resultados. Para continuar Run,
- método de integração
- run mode
Run - Range Specs...
Permite definir a escala para cada variável do modelo.
Modeling layer
File
Edit
Diagram
Run
Help
Equations
Run
Help
Equation view
File
Edit
Blocos de construção (Building blocks)
Mapping layer
Process frame
Representa processos de alto nível, que são decompostos e detalhados no nível abaixo
(modeling).
Bundled flow
Representa, a alto nível, os dados que fluem entre os processos do modelo.
Bundled connector
Representa, a alto nível, qualquer connector entre sectores existentes no modelo.
Modeling layer
Stocks
São acumuladores. Coleccionam tudo o que flui para dentro e para fora deles. São como
um reservatório de água que passivamente acumula o seu fluxo de entrada menos os
fluxo de saída. Tipos: reservatório (por defeito), conveyor (tapete rolante, tempo de
trânsito), fila (queue FIFO) e oven (vai enchendo, processa (cozinha) e vaza de uma só
vez, só é permitido um uniflow). Convém definir um valor inicial.
Flows (fluxos)
Funciona como um pipe (cano). Uniflow flui numa só direcção, por isso o volume terá
sempre valores não negativos. Unit conversion é importante quando se pretende
modelar processos de assemblação em que a matéria prima é transformada no produto
final.
Converters
Guarda valores de constantes, define inputs externos ao modelo, calcula relações
algébricas e serve de repositório para funções gráficas. Em geral, converte inputs em
outputs.
Connectors
Permite ligar elementos do modelo. Nunca se pode ligar um “connector” para um
“stock”. A única maneira de alterar a magnitude de um “stock” é através de um “flow”.
Tools
Hand
Selecionar, mover, abrir ou editar os blocos de construção de um modelo.
Paintbrush
Adicionar cor a um modelo.
Dynamite
Apagar elementos do modelo. Atenção que não há Undo.
Ghost (Modeling layer)
Para fazer réplicas ou aliases individuais de stocks, flows e converters. Só está
disponível no diagrama do “model construction layer”. Quando se abre um ghost a
dialog box que aparece pertence ao original a partir do qual foi feita a réplica. É
importante apenas para fins cosméticos, para facilitar a compreensão do modelo ou
juntar um determinado conjunto de variáveis num local de modo a mais facilmente as
alterar.
Objects
Text Block
Permite criar blocos de texto.
Graph Pad
É um repositório para mostrar dados resultantes das simulações.
Tipos de gráficos:
- Series temporais – conjunto de variáveis ao longo do tempo (até 5 variáveis);
- Scatter – mostra o valor de uma variável em cada um dos eixos.
Table Pad
Para mostrar os resultados numéricos das simulações.
Numeric Display (Modeling layer)
Para mostrar o output corrente associado a variáveis do modelo. É importante para saber
o que vai acontecendo à medida que a simulação corre.
Sector Frame (Modeling layer)
Tem 2 funcões principais:
- agrupar elementos do modelo relacionados funcionalmente;
- mostrar imagens.
Space Compression (Modeling layer)
É um mecanismo para gerir a complexidade dos diagramas. Permite comprimir o espaço
associado ao detalhe lógico do modelo. O espaço pode ser selectivamente mostrado no
diagrama, ou escondido.
Exemplos
Crecimento populacional
População(t) = População(t - dt) + (Nascimentos - mortes) * dt
INIT População = 100
INFLOWS:
Nascimentos = 8
OUTFLOWS:
mortes = 4
Crescimento = Nascimentos-mortes
1ª Lei de Newton
O “stock” posição diz-nos, em qualquer momento, onde o objecto está, relativamente a
um ponto inicial. Ele acumula velocidade, a taxa de movimento do objecto. Por
exemplo, se viajarmos a 60 km/h, em duas horas teremos viajado 120 km.
A velocidade é “biflow”, isto reflete a ideia de que a velocidade possui magnitude e
direcção. Se depois de percorridos 120 Km, voltarmos para trás e viajarmos durante 2
horas a 60 km/h, voltamos ao ponto de partida.
O momento, um “stock”, é mais súbtil. Newton descreve-o como quantidade de
movimento. Ele vê o momento como uma acumulação de qualquer força aplicada a um
objecto.
A força, o fluxo associado ao momento, é representada por um “biflow”. Tal como a
velocidade, a força tem uma magnitude e uma direcção.
Quanto menor for a massa de um objecto, maior será a velocidade que adquirirá.
Imaginemos que um astronauta decide dar um passeio pelo espaço. Sai da sua nave e
inadvertidamente empurra-se para longe da nave. Vamos fazer a simulação
correspondente.
1Lei_Newton
Momento(t) = Momento(t - dt) + (Força) * dt
INIT Momento = 10
Reflecte o empurrão
INFLOWS:
Força = 0
Posição(t) = Posição(t - dt) + (Velocidade) * dt
INIT Posição = 0
Distância do astronauta à nave
INFLOWS:
Velocidade = Momento/Massa
Massa = 75
1ª Lei de Newtom
Qualquer corpo mantém o seu estado de repouso ou movimento rectilíneo uniforme, a
não ser que seja compelido a mudar esse estado por alguma força que lhe seja aplicada.
Ao fim de 1 minuto, o astronauta estará a 8m da nave. Como o momento é constante ele
continuará em movimento para sempre.
Run – Time Specs – Minutos
Run
2ª Lei de Newton
Imaginemos agora que estamos na Terra. Descobrimos que os nossos movimentos
dependem de uma série de forças que nos são aplicadas. Temos, por exemplo, a força da
gravidade. A 2ª lei de Newton descreve como funcionam as forças. A força depende da
massa e da aceleração:
F=m*a
Momentum(t) = Momentum(t - dt) + (force) * dt
INIT Momentum = 0
INFLOWS:
force = mass*acceleration
DOCUMENT: F = ma isn't just a good idea. It's
the law!
Position(t) = Position(t - dt) + (velocity) * dt
INIT Position = 100
INFLOWS:
velocity = Momentum/mass
acceleration = -9.8
mass = 75
Download