Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Berkeley Madonna: istruzioni per l’uso
Prof. Eugenio Parente SSAFAA- Università della Basilicata Questa presentazione è stata creata da Eugenio Parente, Il materiale è coperto da licenza Creative Commons Public License “Attribuzione - Non commerciale - Condividi allo stesso modo” ( I termini della licenza sono i seguenti: Tu sei libero: * di riprodurre, distribuire, comunicare al pubblico, esporre in pubblico, rappresentare, eseguire e recitare quest'opera * di modificare quest'opera Alle seguenti condizioni: by Attribuzione. Devi attribuire la paternità dell'opera nei modi indicati dall'autore o da chi ti ha dato l'opera in licenza. nc Non commerciale. Non puoi usare quest'opera per fini commerciali. sa Condividi allo stesso modo. Se alteri o trasformi quest'opera, o se la usi per crearne un'altra, puoi distribuire l'opera risultante solo con una licenza identica a questa. Ogni volta che usi o distribuisci quest'opera, devi farlo secondo i termini di questa licenza, che va comunicata con chiarezza. In ogni caso, puoi concordare col titolare dei diritti d'autore utilizzi di quest'opera non consentiti da questa licenza. Le utilizzazioni consentite dalla legge sul diritto d'autore e gli altri diritti non sono in alcun modo limitati da quanto sopra. Questo è un riassunto in linguaggio accessibile a tutti del Codice Legale (la licenza integrale).
2
In questa presentazione:
introduzione all’uso di Berkeley Madonna per la modellazione dinamica le finestre di Madonna la sintassi delle equazioni convertitori o formule: built-in in Madonna flussi: equazioni differenziali, equazioni a differenze finite, elementi discreti vettori e matrici
3
Berkeley Madonna Le diapositive mostrano l’interfaccia della versione 8 del programma per MacOS (funzionante sotto MacOS 8.1 e successivi con MRJ 2.2 e in ambiente classic sotto MacOS X). Esiste una versione corrispondente per Windows. La versione attuale per MacOS è (che funziona solo su versioni di MacOS fino a 10.6). E’ disponibile una versione beta di Berkeley Madonna 9 che funziona su MacOS 10.7 (che ha finestre e menu leggermente differenti). Il sito del programma è comunque: I modelli delle versioni per Mac e Win sono parzialmente compatibili. Il programma è stato originariamente sviluppato soltanto per far girare più velocemente i modelli di Stella ma include attualmente molte funzionalità importanti. Le ultime versioni hanno un’estesa sezione di help on line. Istruzioni complete possono essere ottenute con la registrazione. Infatti, il programma è uno shareware: la versione non autorizzata consente di scrivere modelli ma non di salvarli e inserisce una filigrana su tutti i grafici. E’ comunque possibile salvare i modelli in formato testo o aprire file di testo contenenti le equazioni.
4
Berkeley Madonna: la finestra delle equazioni
un commento un’equazione differenziale e un inizializzatore convertitori (formule) In questa finestra vengono inserite le equazioni del modello. L’inserimento può avvenire direttamente, copiando e incollando da un editore di testi, aprendo un file di testo contenente le equazioni. Le equazioni possono anche essere generate automaticamente creando un diagramma di flusso del modello. Quest’ultima procedura, tuttavia, non consente di utilizzare alcuni tipi di equazioni come flussi ma solo come formule (nastri trasportatori, forni, code, etc.) e non consente l’uso di vettori e matrici. Il tasto RUN consente di compilare e far girare il modello, producendo i risultati nella finestra grafica.
5
Berkeley Madonna: la finestra dei grafici
In questa finestra vengono prodotti i grafici. Viene generata una nuova finestra grafica la prima volta che il modello viene fatto girare o, in alternativa è possibile produrre nuove finestre dal menu GRAPH. Ogni volta che il modello viene fatto girare il contenuto della finestra viene sostituito a meno che la finestra non venga bloccata (premendo il tasto del lucchetto). In alternativa è possibile usare il tasto O per sovrapporre i nuovi grafici a quelli esistenti. La grafica è a bassa risoluzione. I grafici possono essere copiati e salvati ma è più conveniente generare nuovi grafici in un programma appropriato esportano i dati come tabelle.
6
Berkeley Madonna: la finestra del diagramma di flusso
In questa finestra è possibile inserire il modello sotto forma di un insieme di icone collegate a formare un diagramma di flusso. I diversi tipi di icone possono essere “riempiti” con i diversi tipi di equazioni e le loro relazioni vengono determinate dalle frecce che le collegano. Per rendere il modello più leggibile possono essere usati alias delle diverse icone e submodelli ed è possibile documentare il modello con del testo. Anche questo grafico può essere copiato e incollato in un’altra applicazione.
7
Berkeley Madonna: la finestra dei parametri
In questa finestra è possibile modificare dinamicamente i parametri del modello senza influenzare le equazioni. Perchè le modifiche abbiano effetto è necessario usare il tasto RUN. Lo stesso risultato si può ottenere più dinamicamente con gli slider (cursori) o mediante alcune altre procedure del programma (batch runs, sensitivity runs, parameter plot…)
8
Berkeley Madonna: la finestra delle note
La finestra delle note, che si comporta come un semplice editore di testi, con la possibilità di inserire oggetti grafici, serve per documentare il proprio modello. I commenti potrebbero essere inseriti nella finestra delle equazioni (compresi fra parentesi graffe) ma ciò potrebbe rendere difficile la lettura delle equazioni. Nella finestra delle note è possibile incollare oggetti grafici.
9
Berkeley Madonna: il menu File
Il menu consente di aprire, salvare (con alcune possibilità di esportazione), stampare equazioni, flowchart, grafici, tabelle, note w di importare set di dati esterni
10
Berkeley Madonna: il menu Edit
Per le opzioni di questo menu consulta il manuale di Madonna. Oltre alle classiche opzioni dei Menu Edit (modifica) l’opzione Balance consente di bilanciare le parentesi in un’istruzione delle equazioni
11
Berkeley Madonna: il menu Flowchart
Per le opzioni di questo menu consulta il manuale di Madonna. Il menu flowchart è in parte contestuale (dipende da cosa è selezionato nel flowchart)
12
Berkeley Madonna: il menu Model
Per le opzioni di questo menu consulta il manuale di Madonna
13
Berkeley Madonna: il menu Compute
Per le opzioni di questo menu consulta il manuale di Madonna
14
Berkeley Madonna: il menu Graph
Per le opzioni di questo menu consulta il manuale di Madonna
15
Berkeley Madonna: il menu Parameters
Per le opzioni di questo menu consulta il manuale di Madonna
16
Berkeley Madonna: il menu Window
Il Menu consente di passare rapidamente da una finestra all’altra del modello o da un modello all’altro. Un modello è aperto se una qualsiasi delle sue finestre è aperta.
17
Berkeley Madonna: il menu Aiuto (Help)
Nelle versioni recenti di Madonna l’aiuto è piuttosto esteso, ricco di esempi e indicazioni su come eseguire le operazioni principali.
18
Introduzione all’uso Per apprendere i primi elementi dell’uso di Berkeley Madonna apri il modello “5 minutes tutorial” dall’aiuto e esegui gli esercizi
19
Sintassi delle equazioni in Madonna. 1. Tipi di equazioni
Convertitori e formule Flussi e serbatoi: equazioni differenziali equazioni a differenze finite equazioni ad elementi discreti Calcolo iterativo delle soluzioni di equazioni o sistemi di equazioni (ROOTI e ROOT) Miscellanea La sintassi delle equazioni è descritta sia in Equation Help, menu Help, sia nelle istruzioni di Madonna. Qui verranno indicate solo le equazioni principali e sviluppati alcuni degli esempi presentati in How do I? and Examples. L’uso di operatori aritmentici e relazionali e la relativa sintassi è simile se non identica a quella presente in molti linguaggi di programmazione Il modello differenceeqn.mmd confronta la stessa equazioen descritta da un’equazione differenziale e da un’equazione a differenze finite. I due modelli producono gli stessi risultati solo per DT=1
20
Sintassi delle equazioni in Madonna. 2. Convertitori o formule
Esempi: A=B*C B=10 C=125 A=if B>9 then B*C else 0.001 B=10*TIME A=normal(B,C) Sono definite da una sola equazione e non fanno altro che assegnare il valore dell’espressione a destra alla variabile a sinistra. Possono usare come elementi di calcolo anche i valori assunti da serbatoi in un dato istante.
21
Sintassi delle equazioni in Madonna. 3
Sintassi delle equazioni in Madonna. 3. Equazioni differenziali ed equazioni a differenze finite Sono composte da due equazioni: un inizializzatore, che attribuisce il valore iniziale allo stock o serbatoio, e un flusso (integratore), che modifica il valore del serbatoio ad ogni passaggio di integrazione. Il metodo usato per l’integrazione, il tempo iniziale e finale, il passo di integrazione sono definiti dalle istruzioni: METHOD, STARTTIME, STOPTIME. DT (usate in Euler, RK2 e RK4) DTMIN, DTMAX e TOL (usate nei metodi con DT variabile)
22
Sintassi delle equazioni in Madonna. 3
Sintassi delle equazioni in Madonna. 3. Equazioni differenziali ed equazioni a differenze finite Gli inizializzatori possono avere le seguenti forme: X(STARTTIME)=... INIT X=... INIT (X)=... Il valore dell’espressione sulla destra viene inserito nell’icona del serbatoio se si usa il flowchart editor.
23
Sintassi delle equazioni in Madonna. 3
Sintassi delle equazioni in Madonna. 3. Equazioni differenziali ed equazioni a differenze finite Le equazioni differenziali possono avere le seguenti forme: d/dt(X)=... X’=... FLOW X=... X(t)=X(t-dt)+(...)*dt X=X+dt*(...) Il valore dell’espressione sulla destra viene inserito nell’icona del FLUSSO se si usa il flowchart editor. Le ultime due forme rendono le equazioni di STELLA compatibili con Madonna e mostrano in modo più esplicito come viene eseguita l’integrazione numerica. Tuttavia sono più difficili da scrivere senza errori. L’uso della notazione rX’=... consente di utilizzare facilmente equazioni differenziali di ordine superiore. Per esempio il flusso: u’’’=2*u’’-5*u’+u-1 viene tradotto internamente in d/dt(u’’)=u’’’ d/dt(u’)=u’’ d/dt(u)=u’ per cui bisogna anche indicare esplicitamente i valori iniziali per: INIT u’’ INIT u’ INIT u
24
Sintassi delle equazioni in Madonna. 4. elementi discreti
Berkeley Madonna 8 introduce tre tipi di elementi discreti presenti in STELLA: nastri trasportatori (conveyor) forni (oven) code (queue) Il loro funzionamento è notevolmente diverso da quello delle equazioni differenziali e dalle equazioni a differenze finite. Gli elementi discreti accumulano input, li trattengono per un ceerto periodo di tempo e poi li rilasciano. Il loro valore viene calcolato ad ogni passaggio di integrazione moltiplicando la somma di tutti gli input per DT. Per simulare gli stessi elementi presenti in Stella bisogna adottare una sintassi leggermente differente: vedi il manuale d’uso di Madonna. Questi elementi richiedono metodi di integrazione con un DT fisso; inoltre, dal momento che si tratta di elementi discreti, non c’è nessun incremento di precisione usando i metodi RK2 e RK4. Il Flowchart editor non consente di definire gli elementi discreti in termini di flussi e stock, ma solo con l’uso di convertitori
25
Sintassi delle equazioni in Madonna. 4. elementi discreti
Nastri trasportatori (conveyors). Ad ogni passaggio del modello un input viene aggiunto sul nastro trasportatore. L’input rimane sul nastro trasportatore per la durata del tempo di transito e poi viene rilasciato. La sintassi è: name=CONVEYOR(input,tt,cap) dove input è l’espressione di input, tt il tempo di transito, cap è la capacità (opzionale). La somma degli input che escono dal conveyor è: output=OUTFLOW(name) La capacità può essere limitata definendo: input=... limited_input=MIN(input,MAXINFLOW(name)) name=CONVEYOR(limited_input,tt,cap) Consulta il manuale d’uso di Berkeley Madonna a pag per dettagli
26
Sintassi delle equazioni in Madonna. 4. elementi discreti
Forni (ovens). Il forno si riempie durante il “fill time”, poi passa alla cottura per la durata del “cook time” e rilascia gli input istantaneamente nella fase di svuotamento, per poi ritornare in riposo (idle) o cominciare a riempirsi se sono disponibili input. La sintassi è: name=OVEN(input,ct,ft,cap) dove input è l’espressione di input, ct il tempo di cottura, ft il tempo di riempimento, cap è la capacità (opzionale). La somma degli input che escono dal forno nella fase di svuotamento (che dura un solo passaggio) è: output=OUTFLOW(name) Consulta il manuale d’uso di Berkeley Madonna a pag per dettagli
27
Sintassi delle equazioni in Madonna. 4. elementi discreti
Forni (ovens). Lo stato del forno può essere determinato con la funzione: state=OSTATE(name) che restituisce 0 per idle, 1 per filling, 2 per cooking e 3 per emptying La capacità può essere limitata definendo: input=... limited_input=MIN(input,MAXINFLOW(name)) name=OVEN(limited_input,ct,ft,cap) Questa procedura è necessaria soprattutto se il forno è alimentato da uno stock che non deve continuare a svuotarsi a meno che il forno non si stia riempiendo. Fai girare il modello Use Ovens per comprendere il funzionamento di un forno. Consulta il manuale d’uso di Berkeley Madonna a pag per dettagli
28
Sintassi delle equazioni in Madonna. 4. elementi discreti
Code (queues). Una coda accetta uno o più input il cui valore sia diverso da 0 e li rilascia nell’ordine in cui li ha accettati. L’uscita degli elementi dalla coda è controllata da una funzione. La sintassi è: name=QUEUE(input1,input2,...,inputN) ad ogni intervallo di tempo la coda controlla i suoi input e, se sono diversi da 0 li mette in coda. Per far uscire gli input dalla coda si usano le funzioni: output=QPOP(name,maxel,maxamt) output=QPOPS(name,maxel,maxamt) dove name è il nome della coda. QPOP rimuove dalla coda solo elementi interi. Vengono rimossi elementi finchè il loro numero è inferiore a maxel e la loro somma è inferiore a maxamt. Consulta il manuale d’uso di Berkeley Madonna a pag per dettagli
29
Sintassi delle equazioni in Madonna. 4. elementi discreti
Code (queues). output=QPOPS(name,maxel,maxamt) A differenza di QPOP, QPOPS rimuove dalla coda anche parti di elementi. Vengono rimossi elementi finchè il loro numero è inferiore a maxel e la loro somma è inferiore a maxamt. Se solo una parte di un elemento viene sottratto da QPOPS la parte restante rimane sulla coda. A differenza dei nastri trasportatori e dei forni, gli elementi possono essere rimossi dalla coda anche nello stesso intervallo di tempo in cui sono stati aggiunti. Se una coda alimenta un forno bisogna usare la funzione MAXINFLOW del forno per impedire che elementi escano dalla coda se il forno non si sta riempiendo. Fai girare il modello Use Queues per capire il funzionamento delle code. Consulta il manuale d’uso di Berkeley Madonna a pag per dettagli
30
Vettori e matrici Vettori e matrici (fino a tre dimensioni) sono utili quando in un convertitore o in un flusso compaiono equazioni con espressioni identiche sul lato destro. Per esempio: rX[1..10]=mu[1..10]*x[1..10] può essere utilizzato per definire contemporaneamente la crescita di 10 diversi batteri, i cui valori di popolazione (x) e velocità specifica di crescita (mu) sono diversi. Gli elementi di una matrice possono essere definiti con equazioni diverse: rX[1..3]=mumax[1..3]*(1-x[1..3]/xmax[1..3])*x[1..3] rX[4..10]=mumax[4..10]*(S/(KS[4..10]+S)*x[4..10] Consulta il manuale d’uso, pagg Le matrici non sono supportate nel flowchart editor.
31
Vettori e matrici E’ inoltre possibile riferirsi agli elementi da assegnare utilizzando le variabili speciali i, j, k, che si riferiscono rispettivamente agli indici della prima, seconda e terza dimensione della matrice: s[1..3,1..4,5]=f[i,j]*g[j,k]. Gli elementi vengono assegnati nel seguente ordine: a[1..2,1..2]= a[1,1] a[1,2] a[2.1] a[2,2] L’ordine è estremamente importante: se un elemento usato in un assegnazione non è definito il programma restituisce un errore. Consulta il manuale d’uso, pagg Le matrici non sono supportate nel flowchart editor.
32
Vettori e matrici Nella definizione degli indici è possibile usare delle variabili. Ciò consente di variare la dimensione di una matrice senza ricompilare il modello: factorial[1]=1 factorial[2..n]=factorial[i-1]*i n=10 Per comprendere il funzionamento delle matrici in Madonna fai girare il modello Use Indexed Variables. Consulta il manuale d’uso, pagg Le matrici non sono supportate nel flowchart editor.
33
Some rights reserved Questa presentazione è stata creata da Eugenio Parente, 2007 e modificata nel Il materiale è coperto da licenza Creative Commons Public License “Attribuzione - Non commerciale - Condividi allo stesso modo” (
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.