Cosa fa
MATH risolve problemi del tipo «trova le pressioni, le portate e le temperature per cui tutti i bilanci dell'impianto sono soddisfatti». Si usa in tre modi, dal più semplice al più completo:
Calcolatrice di equazioni
Scrivi sistemi di equazioni, integrali definiti o equazioni differenziali con condizioni iniziali. Scegli il tempo finale nel testo e ottieni lo stato calcolato, con grafici (anche nel tempo e nel piano delle fasi). Un menu di esempi, una guida e un assistente che scrive programmi, spiega gli errori e cerca tutte le soluzioni.
Componenti e processi
Definisci un componente (terminali, variabili, equazioni, tabelle), lo disponi su un foglio, lo colleghi ad altri con linee, premi Risolvi.
Libreria di tabelle
Curve y(x) e matrici y(p, x) (proprietà dei fluidi, curve di macchine) usate nelle equazioni come funzioni qualsiasi.
Un esempio
Uno scambiatore in controcorrente: bilanci di massa e di energia, cp letto da una tabella in funzione della temperatura, UA letto da una matrice in funzione delle due portate, ΔT medio logaritmico. Il componente è questo (estratto):
# bilanci di energia (kW)
Q = hin.m * cph * (hin.T - hout.T)
Q = cout.m * cpc * (cout.T - cin.T)
# UA dalla matrice ua(portata fredda, portata calda)
dT1 = hin.T - cout.T
dT2 = hout.T - cin.T
Q = ua(cin.m, hin.m) * (dT1 - dT2) / log(dT1 / dT2)
Non c'è nulla di «incorporato» nello scambiatore: è un testo che puoi leggere, cambiare e ricalcolare. Lo stesso vale per una rete gas, in cui ogni tratto di tubazione è una equazione di perdita di carico e ogni nodo un bilancio di portate.
La sintassi non è Python: la guida alla calcolatrice la spiega con esempi eseguibili.
Prova nella calcolatrice
Accedi o avvia la demo e apri la calcolatrice: il menu Esempi… carica modelli completi con descrizione e risultato atteso (razzo verticale, integrale gaussiano, equazioni con più soluzioni, predatore-preda, perdite in un tubo, pendolo, serbatoio, pompa con curva da tabella, circuito RC). Oppure incolla un esempio alla volta nel campo dell’equazione; la guida spiega la sintassi, con esempi che si caricano con un clic.
Un integrale definito
L’integrale di x da 0 a 20:
I = integral(x, x, 0, 20)
Risultato: I = 200. Gli argomenti sono funzione, variabile, estremo iniziale ed estremo finale.
Una derivata, un valore iniziale
Risolvi dy/dt = -y con y(0)=1 fino a t=20:
<iniz>
y = 1
campo_finale = 20
</iniz>
y' = -y
y' (o der(y)) indica la derivata rispetto al tempo. Ottieni un’approssimazione di y(20)=exp(-20); per il secondo ordine servono due stati.
Il tempo finale si imposta nella riga campo_finale. Altri esempi, con il risultato atteso, sono nel menu Esempi… e nella guida; i dettagli numerici sono in Come funziona.
Come funziona
Un solo motore C++, compilato per il browser (WebAssembly) e per il server, risolve sistemi non lineari con il metodo di Newton, integrali definiti ed equazioni differenziali. Ogni calcolo del server gira in un processo isolato; i dati sono separati per organizzazione.
Come si accede alla demo
La demo è una copia temporanea e privata del programma con alcuni esempi già caricati. Nessuna registrazione, nessuna password.
- Vai alla pagina di accesso e premi Prova la demo.
- Si apre la tua copia, sulla calcolatrice: scrivi un'equazione, oppure scegli un esempio dal menu Esempi…. In alto a destra un contatore mostra il tempo residuo (
DEMO · hh:mm:ss) e il «?» apre la guida. Il pulsante Assistente scrive programmi, spiega gli errori e cerca tutte le soluzioni (nella demo ha pochi messaggi al giorno). - Per l'impianto vai a Processo con il link in alto, apri
scambiatoreorete_gas_A_base, premi ▶ Risolvi, cambia un dato e risolvi ancora. - Prima della scadenza, ↓ Esporta JSON se vuoi tenere il lavoro.
Quello che crei è visibile solo a te e viene cancellato alla scadenza (2 ore). Un'altra persona che avvia la demo non vede nulla del tuo lavoro.
Cosa si può fare e cosa no
Per sapere quanto fidarti dei numeri, la pagina Verifica dei risultati mostra i casi noti su cui il motore è confrontato e li ricalcola nel tuo browser.
| Si può | Non si può |
|---|---|
| Risolvere sistemi di equazioni non lineari, anche con tabelle e funzioni non derivabili in forma chiusa | Garantire convergenza per ogni sistema e ogni punto iniziale |
Calcolare integrali definiti con integral(f, x, a, b) | Ottenere primitive simboliche o integrare su estremi infiniti e singolarità |
Integrare equazioni differenziali ordinarie esplicite nella calcolatrice, scegliendo campo_finale | Calcolare derivate simboliche, risolvere PDE o sistemi differenziali-algebrici generali; il metodo non è adatto a problemi rigidi |
| Scrivere componenti propri con equazioni, variabili e tabelle | Usare un catalogo di componenti e proprietà già pronto: i modelli fisici li scrivi tu |
| Collegare più componenti con linee e risolvere l'impianto intero | Convertire le unità di misura: sono etichette (con controlli indicativi delle dimensioni e dei collegamenti), i numeri sono usati come scritti |
| Usare tabelle di curve e matrici come funzioni nelle equazioni | Imporre vincoli di disuguaglianza o ottimizzare: si risolvono uguaglianze (min/max orientano solo la ricerca) |
| Cercare più soluzioni provando molte stime iniziali (con l'assistente) e vedere le variabili nel tempo con un grafico | Avere la certezza di aver trovato tutte le soluzioni: l'elenco dipende dalle stime provate |
| Ricalcolare variando dati, anche per analisi di sensibilità | Garantire di trovare tutte le soluzioni, né la corrispondenza fisica del modello: la verifica del modello è tua |
| Esportare e reimportare i processi in JSON; usare il motore da agenti via MCP | Scrivere i decimali con la virgola nelle equazioni (1.5, non 1,5) |
Nella demo, in più
| Non disponibile | Perché |
|---|---|
| Chat dell'editor di processo | Usa un servizio a pagamento: riservata agli utenti registrati (l'assistente della calcolatrice c'è, con pochi messaggi) |
| Estrazione di tabelle da foto, PDF o testo | Idem |
| Conservazione dei dati oltre 2 ore | La copia è effimera: si cancella alla scadenza |
| Limite della demo | Valore |
|---|---|
| Durata | 2 ore |
| Calcoli | 20 al minuto, 2 in contemporanea |
| Componenti, processi, tabelle salvati | 15, 8, 15 |
| Istanze e linee per processo | 40 e 80 |
| Dimensione di un salvataggio | 100 KB |
| Avvii dallo stesso indirizzo | 5 all'ora |
| Messaggi all'assistente della calcolatrice | 5 per demo (e un tetto giornaliero per indirizzo e complessivo) |
Con un account (su invito) i limiti sono molto più ampi e i dati sono permanenti.