La scienza computazionale sta facendo scienza attraverso il calcolo. Ora è diventata la terza modalità di ricerca scientifica, integrando Teoria ed Esperimento. Grazie agli enormi progressi nella potenza di calcolo, ora è possibile simulare computazionalmente processi sempre più complicati e realistici.
La progettazione, la prototipazione, l’ottimizzazione e il controllo dei processi tecnologici dipendono dalla comprensione fondamentale dei fenomeni coinvolti, dalle loro interazioni e dalla sensibilità sui parametri. Questi possono essere studiati in modo molto efficace tramite simulazioni al computer basate su modelli matematici che esprimono principi fisici.
- Modellazione: Il primo passo è la “matematizzazione” del processo, ovvero lo sviluppo di un modello matematico del processo fisico. Spesso è di gran lunga il più difficile.
- Analisi: è quindi possibile utilizzare l’intero arsenale di strumenti matematici per analizzare e comprendere le proprietà di base del modello matematico e tentare di prevederne il comportamento. È qui che le questioni teoriche (esistenza, unicità, stabilità delle soluzioni) diventano importanti, spesso generando problemi stimolanti per la ricerca matematica teorica.·
- Successivamente entra in gioco il calcolo scientifico, nello sviluppo di metodi numerici appropriati ed efficaci per il problema matematico.
· Programmazione: Gli algoritmi sono implementati in un linguaggio informatico di alto livello (Fortran, C, C++).
· Verifica: il codice del computer viene ampiamente testato su problemi/processi con soluzione/comportamento noto. I bug vengono corretti e il codice viene testato più e più volte.
· Ottimizzazione: il codice del computer è ottimizzato per robustezza, stabilità ed efficienza.
· Parallelizzazione: i problemi realistici sono in genere molto impegnativi dal punto di vista computazionale, quindi è necessaria la parallelizzazione del codice, per l’esecuzione simultanea su cluster di multiprocessori e/o su molti computer collegati in rete.
· Validazione: il passaggio cruciale finale è la validazione del modello, simulando un processo e confrontando i risultati delle simulazioni numeriche con misurazioni sperimentali. Potrebbe richiedere diverse iterazioni di tutti i passaggi precedenti!