• Non ci sono risultati.

6.2 La metodologia proposta

6.2.4 Modalità di generazione dell’aggregato e criter

In abbinamento alla processo di inseguimento della curva granulometrica appena descritta è necessario introdurre anche il processo di generazione di un singolo aggregato. Un’illustrazione a grandi linee dell’intero processo di generazione degli aggregati è mostrata in Figura 6-10, mettendo stavolta a fuoco la parte relativa alla generazione del singolo aggregato. Dal diagramma di flusso ivi rappresentato si può notare come ogni aggregato sia il risultato di un percorso ciclico, denominato growing process.

In prima analisi, tale procedura potrebbe essere considerata semplice poiché appare come un’iterazione composta alternativamente dall’accrescimento dell’aggregato e dalla verifica che lo stesso possa ingrandirsi ancora ma, come si vedrà nel seguito, risulta piuttosto articolata, tanto nella modalità di crescita quanto nei criteri che consentono la crescita stessa.

La prima operazione della presente procedura, già in parte accennata nel par. 6.2.3, consiste nell’esaminare il fuso granulometrico di Figura 6-8. Entrando nel grafico con il volume totale V degli aggregati a grana grossa già realizzati (ovvero per la prima iterazione V=0), si estrae il valore del diametro corrispondente.

Il raggiungimento di tale valore costituisce l’obiettivo primario del

particle growing criterion, al cui interno coesistono altri criteri di

crescita degli aggregati come, ad esempio, il rispetto di fattori di forma prefissati. Successivamente inizia il growing process, ovvero un insieme di operazioni volte ad ingrandire un singolo aggregato che, alternandosi con il particle growing criterion, porta l’aggregato alla maturazione desiderata.

Tale processo normalmente termina quando l’aggregato raggiunge la maturazione desiderata in termini dimensionali (diametro desiderato o, similarmente, volume desiderato), ma la citata circostanza si verifica anche quando l’aggregato trova qualche ostacolo durante il suo processo di ingrandimento (circostanza estremamente frequente).

Occorre sottolineare come, tuttavia, non sempre il processo culmina con tale fisiologico epilogo. Potrebbe ad esempio verificarsi anche un’altra eventualità di cui è necessario tenere conto, ovvero che i vincoli circostanti l’aggregato (es. contorno del provino, presenza di altri aggregati preventivamente generati, ecc.) siano incompatibili con la modalità desiderata di ingrandimento dell’aggregato e tali da impedire allo stesso di crescere ulteriormente. Tale evenienza si spiega facilmente richiamando quelle condizioni di forma che, come già sopra esposto, generano una circostanza che non permette di ingrandire ulteriormente l’aggregato realizzando così il superamento di rapporti di forma prefissati che, come presupposto nei criteri di crescita insiti nell’algoritmo, interrompe prematuramente il processo di generazione. In tal caso, ricollegandosi a quanto riportato nel par. 6.2.3, l’iterazione non arriva alla sua naturale conclusione e l’aggregato rientrerà nel gruppo di aggregati “da validare”.

Struttura dei dati alla base dell’algoritmo

Come già anticipato nel par. 5.5, per il corretto funzionamento dell’algoritmo proposto sono necessarie alcune operazioni

propedeutiche che consentano una rapida e speditiva interpretazione delle informazioni che il modello stesso è in grado di restituire durante la fase di generazione degli aggregati. A tal fine sono state predisposte le seguenti codifiche che consentono di determinare correttamente lo stato di ogni entità della mesh durante tutto il processo di generazione del provino.

Stato degli elementi finiti (m.t_type, m.p_tObj, m.f_tObj) • +n = assegnato all'aggregato n-esimo.

• 0 = assegnazione impossibile (presente sono per esigenze di calcolo ad es. p_t nelle colonne inutilizzate per assenza di elementi collegati oppure la seconda colonna f_t per le facce sul contorno del modello).

• -1 = non assegnato. • -2 = assegnato al mastice. • -3 = assegnato ai vuoti.

Stato di una faccia (m.f_state) • 9 = libero e sul confine • 8 = occupato sul confine • 2 = libero da entrambi i lati • 1 = libero dall'altro lato • 0 = occupato da entrambi i lati

Il vettore m.p_num_tfree contiene per ogni nodo il numero di tetraedri collegati con stato “non assegnato”. Tutte queste informazioni, sia per i tetraedri che per le facce della mesh, sono contenute nelle variabili m.t_type m.p_tObj m.f_tObj m.p_num_tfree

m.f_state che vengono aggiornate ad ogni cambiamento del modello. Operazione di “growing particle”

Essendo una mesh composta da elementi finiti, in una fase iniziale dello studio si è pensato di far corrispondere ad ogni iterazione un aumento dell’aggregato di un elemento finito e, pertanto, il procedimento era stato incentrato sulla base dei soli elementi finiti e delle relative adiacenze. I primi risultati sembravano però insoddisfacenti poiché mostravano superfici molto frastagliate e non realistiche oltre che difficilmente controllabili. Ricercando pertanto

una soluzione alternativa che migliorasse la superficie modellata, è stata escogitata una modalità di ingrandimento che non avesse più come base il singolo tetraedro ma gruppi di tetraedri afferenti ad un nodo.

Alla prima iterazione viene scelto un vertice tra i nodi della mesh in cui nessuno degli elementi finiti attorno ad esso sia stato già assegnato, ovvero sia stato attribuito ad un generico aggregato od all’asphalt mastic (confrontando m.p_num_tfree con p_num_t).

Inizia a questo punto un processo di accrescimento dell’aggregato che si compone delle seguenti operazioni:

• si esamina la porzione libera delle facce sul contorno dell’aggregato (ovvero le zone occupate dagli elementi finiti adiacenti all’aggregato che non hanno ancora ricevuto un’assegnazione) in modo tale da individuare le zone libere verso le quali l’aggregato può estendersi;

• si sceglie un elemento finito adiacente ad una delle facce libere sul contorno dell’aggregato secondo un criterio che può dipendere dalla forma dell’aggregato ovvero dai controlli di convessità ed orientamento;

• si estende l’attributo di “aggregato” all’elemento scelto e si apportano le modifiche al set di tabelle e variabili che contengono le informazioni di stato sulle entità topologiche del modello;

Criteri di crescita dell’aggregato

Preliminarmente alla valutazione della possibilità che ha un aggregato di crescere o meno è necessario aggiornare o ricalcolare le proprietà dell’aggregato stesso: il volume, la superficie, il dmin, il dmax,

la direzione di dmin, la direzione di dmax ed il rapporto di forma. I criteri

di crescita attualmente implementati nel modello sono i seguenti: • Volume. Ad ogni iterazione viene verificato se sia stato raggiunto o

meno il volume desiderato per l’aggregato in fase di creazione. • Sfericità. Ad ogni iterazione viene verificato se la sfericità rientra

entro valori prefissati in funzione del volume dell’aggregato già realizzato e della dimensione caratteristica degli elementi finiti. • Forma. Come precedentemente accennato, la metodologia qui

Il criterio attualmente utilizzato per l’ingrandimento dell’aggregato genera forme tendenti alla sfera. Per determinare l’elemento finito verso il quale l’aggregato deve espandersi, l’algoritmo valuta la distanza di tutti i punti esterni dell’aggregato stesso dal suo baricentro e, ad ogni iterazione, sceglie quel punto che si trova alla distanza minore dal baricentro secondo quanto di seguito riportato.

VectOuterPoints=f.p(a.outerpoints,:)-a.baricentro DistOuterPoints=sum(VectOuterPoints.^2,2) [~,I]=sort(DistOuterPoints)

point=a.outerpoints(I(1))

Dove a.outerpoints sono le coordinate dei punti appartenenti alla superficie esterna dell’aggregato, a.baricentro sono le coordinate del baricentro dell’aggregato, VectOuterPoints sono i vettori congiungenti il baricentro ai punti sulla superficie esterna e DistOuterPoints sono le relative distanze al quadrato.

Per consentire all’algoritmo di simulare forme più generiche e che si allontanino da quelle sferica si potrebbero adottare diverse soluzioni già proposte in letteratura, le quali si differenziano o per generazione casuale di forme geometriche convesse o per la riproduzione di aggregati rilevati sperimentalmente. Un’interessante opportunità di studio in tal senso può essere basata sugli studi condotti da Qian, Z. et al. [44] i quali rilevano, direttamente o statisticamente, la forma degli aggregati da particelle reali e utilizzano le armoniche sferiche per descrivere la forma irregolare della particella tramite un insieme di coefficienti armonici sferici.

Inoltre, potrebbe essere interessante definire anche altri parametri per le caratteristiche degli aggregati, in termini di convessità e fattori di forma, da porre in considerazione in fase di analisi.