Ho iniziato una posizione lavorativa come Bioengineering Application Developer per il software Mathematica in Wolfram.
Alcune settimane fa sono stato contatto dal team “Computazione Numerica” (i.e. Numerical Computation) per un tirocinio volto a sviluppare dei modelli computazionali inquadrati sui tessuti biologici. Il gruppo è una divisione del dipartimento di ricerca e sviluppo. La mia posizione è focalizzata sulla risoluzione di modelli agli elementi finiti (FEM) applicati in esempi specifici per la bioingegneria. Tutto ciò è partito dal mio background nelle analisi agli elementi finiti e nell’ingegneria biomedica, seguiti da alcuni meeting scaturiti dai contenuti pubblicati sul sito e sui social network.
Wolfram
Wolfram Research, Inc. è una multinazionale americana che produce software computazionali e porta avanti intensi programmi di ricerca e sviluppo, corredati da diverse pubblicazioni. È stata fondata da Stephen Wolfram e offre sul mercato diversi prodotti quali il Linguaggio Wolfram, Wolfram Mathematica e Wolfram|Alpha.
Mathematica è stato rilasciato più di 30 anni fa. Alpha è stato lanciato nel 2009 come motore di ricerca. Il linguaggio proprietario, Wolfram Language, dal 2014 ha rivoluzionato la programmazione simbolica. Ovvero è stato introdotto come un nuovo linguaggio multi-paradigma che permetteva, dopo diversi anni di evoluzione, di approcciare alla programmazione ad un livello più alto

Dunque è un sistema software che contiene diverse librerie integrate che permetto di implementare facilmente diversi modelli computazioni. I campi applicativi spaziano dal machine learning, statistica, analisi di reti, ottimizzazione, matematica simbolica, analisi di dati, fino alla creazione di algoritmi personalizzati. Il software è largamente apprezzato sia per l’elevato livello tecnico sia per l’eleganza del linguaggio computazionale.
Meccanica dei materiali
In tutti gli ambiti scientifici/applicativi ormai è fondamentale analizzare il comportamenti dei solidi sottoposti a vincoli e carichi. La meccanica dei solidi studia la descrizione dei corpi solidi nelle tre dimensioni, concentrandosi sulla risposta meccanica.
Partendo dalla teoria del continuo si arriva a derivare delle equazioni differenziali alle derivate parziale (PDE) che descrivono il comportamento dei corpi solidi. Solo espressioni matematiche che coinvolgono diverse quantità che descrivono il corpo (ad esempio gli spostamenti) e la loro variazione nel tempo e nello spazio. Le PDE sono equazioni che si pongono bene per la risoluzione numerica ad esempio con gli Elementi Finiti. All’interno di Mathematica esiste un’interna libreria dedicata, nota come SolidMechanicsPDE library
.

Per descrivere tessuti biologici spesso è interessante trattare materiali simile alle gomme seguendo il modello iperelastico. Questi modelli costitutivi postulano di poter descrivere il modello tramite la strain energy density function. Una quantità che descrive l’energia immagazzinata dal corpo durante le deformazioni. Quindi si rappresenta il campo di tensioni come la derivata di tale energia rispetto una misura di deformazione.
Inoltre, la maggior parte dei tessuti biologici vanno incontro a grandi deformazioni con molte non linearità, dipendenza dal tempo, proprietà viscoelastiche, e tante altre peculiarità che richiedono modelli numerici avanzati per poter risolvere le equazioni differenziali di interesse.
vars = {{u[x, y, z], v[x, y, z], w[x, y, z]}, {x, y, z}};
pars = <|"Material" -> Entity["Element", "Titanium"]|>;
Subscript[\[CapitalGamma], force] =
SolidBoundaryLoadValue[x == 10, vars,
pars, <|"Force" -> {0, 0, Quantity[-1000, "Newtons"]}|>];
Subscript[\[CapitalGamma], wall] =
SolidFixedCondition[x == 0, vars, pars];
MatrixForm[op = SolidMechanicsPDEComponent[vars, pars]]
beamDisplacement =
NDSolveValue[{op == Subscript[\[CapitalGamma], force],
Subscript[\[CapitalGamma], wall]}, {u[x, y, z], v[x, y, z],
w[x, y, z]}, {x, y, z} \[Element] \[CapitalOmega]];
