Quadratura Gaussiana
Il problema dell'integrazione al fine di trovare la matrice rigidezza $\underline{K}$ dell'elemento (vedi Derivazione delle deformazioni dal campo degli spostamenti mediante utilizzo dell'inversa della matrice Jacobiana - fine ) è completamente rimandato all’integrazione dell’integrando in ($dξ$,$dη$), la qual cosa non sempre è fattibile in forma esatta. Di conseguenza andrà svolta in forma numerica, sfruttando una Quadratura Gaussiana: sebbene sia possibile usare altre tecniche di integrazione numerica, è quella che riesce a fornire un risultato ottimale. La questione è quella di svolgere nella maniera più semplice possibile un’integrazione del tipo:
$$\int_{-1}^{1}f(\zeta )d\zeta$$
Si impone che la variabile sia $ζ$, così da rimanere più generici possibile: infatti questa variabile potrà essere o $ξ$ o $η$, a seconda delle necessità. Si supponga di voler minimizzare il numero di campionamenti e contestualmente ottenere una soluzione qualitativamente accettabile (massimo rapporto qualità risultato/costo computazionale in termini di campionamenti), allora
- Campionamento AD UN PUNTO
esisterà un valore di $ζ$ pari a $ζ_{1}$ tale per cui l’integrale esatto di $f(ζ)$ ha la sua migliore approssimazione in: $$\int_{-1}^{1}f(\zeta )d\zeta\simeq w_{1}*f(\zeta _{1})$$
Allora il problema è spostato sulla ricerca del peso w1 e del valore della coordinata $ζ=ζ_{1}$, tale per cui sia minimo l’errore fra integrale esatto e campionamento pesato. In alternativa, per avere un minore errore
- Campionamento a DUE PUNTI:
In virtù del campionamento a due punti, si ottiene che la migliore approssimazione dell’integrale esatto da calcolare è pari a: $$\int_{-1}^{1}f(\zeta )d\zeta\simeq w_{1}*f(\zeta _{1})+w_{2}*f(\zeta _{2})$$
Allora ci si chiede quali sono i pesi ($w_{1}$,$w_{2}$) e i punti di campionamento ($ζ_{1}$, $ζ_{2}$) che danno il minor errore fra l’integrale esatto e quello così valutato. In questo modo però il problema è “mal definito”: in effetti, è difficile trovare dei punti ottimali di campionamento per svolgere l’integrazione numerica di ogni tipo di funzione, per cui la ricerca è spostata su quali siano quelli ottimali per svolgere l’integrazione di un polinomio, dal momento che una qualunque funzione, dotata di un minimo di regolarità, è approssimabile con una serie di polinomi in un dominio. L’obiettivo di trovare i valori ottimali per l’integrazione numerica di un polinomio, supposto un campionamento a due punti, può essere conseguito mediante l’utilizzo del manipolatore algebrico Maxima. Le incognite sono semplicemente i due pesi ($w_{1}$,$w_{2}$) e i punti del campionamento ($ζ_{1}$, $ζ_{2}$). Per trovare i valori ottimali, viene preso in considerazione un polinomio di ordine adeguato e si cercano i valori delle incognite in grado di integrare in forma esatta con solo due campionamenti il polinomio di ordine più alto possibile: avendo quattro incognite, è considerato, come funzione integranda, un polinomio che sia definito a partire da quattro variabili arbitrarie, ovvero un polinomio di terzo grado. Nel caso le equazioni ottenibili siano troppo poche rispetto alle incognite, la prova di integrazione deve esser fatta utilizzando un polinomio di ordine superiore (quarto grado), invece se il sistema risulta ridondante e non risolvibile, occorre abbassare il grado del polinomio considerato come integrando (secondo grado). La funzione da integrare è p($ζ$) ed è definito come un polinomio del terzo ordine, con coefficienti (a,b,c,d) ed il cui integrale esatto è noto: Poiché l’intervallo è simmetrico rispetto all’origine, i termini “dispari” dovrebbero annullarsi: per verificarlo, i due termini ottenuti dall’integrazione di p($ζ$) vengono posti a comune denominatore, tramite la funzione “fullratsimp” chiamata sul risultato dell’integrazione:
A questo punto, è possibile svolgere l’integrale approssimato, utilizzando l’espressione contenente le funzioni valutate nei punti di campionamento ed i pesi:
L’equazione ottenuta è nelle incognite del problema e di quarto ordine: non è di facile risoluzione e deve valere per ogni polinomio, ovvero per ogni a,b,c,d. Per questo motivo, viene definito un residuo, pari alla differenza fra l’esatto e l’approssimato e che dovrebbe essere nullo per ogni coefficiente a,b,c,d: dal momento dire che quest’ultima imposizione potrebbe essere di difficile implementazione, si intraprende una via differente. Avendo quattro coefficienti, è possibile calcolare le quattro derivate del residuo secondo a,b,c,d, eguagliando successivamente ciascuna di esse a zero: in questo modo la condizione imposta non è l’annullamento del residuo, bensì che sia semplicemente costante, dunque potrà essere anche nullo.
Il sistema di equazioni ottenuto (ciascuna delle quali chiede che il residuo sia costante in a, b, c, d) è non lineare nelle incognite, ma la sua risoluzione da dei valori che rendono costante, al più nullo, il residuo. Attraverso il comando “solve” (non “linsolve” in quanto le equazioni non sono lineari) il manipolatore risolve il sistema, nelle incognite inizialmente definite dal vettore “unks”
La soluzione del sistema è costituita da due set di valori, che possono essere inseriti all’interno di un vettore “sols”, in modo tale da poter selezionare un set alla volta. Allora, chiamando la prima componente di “sols”, si può notare come i due pesi debbano essere pari ad 1 (ed è un risultato attendibile dal momento che l’intervallo d’integrazione, lungo x, ha un’estensione pari a 2, la somma dei pesi deve essere pari a 1*2, dove due è l’estensione dell’intervallo di campionamento) e che i punti di campionamento devono essere uno pari a $\frac{-1}{\sqrt3}$ e l’altro pari a $\frac{1}{\sqrt3}$ (anche qui l’attendibilità del risultato è confermata dal fatto che i due valori sono simmetrici).
La differenza fra il secondo set ed il primo, visibile chiamando la seconda componente di “sols”, risiede nel fatto che ciò che in sols[1] era $ζ_1$, in sols[2] è $ζ_2% e viceversa. Questi set di valori in termini di pesi e punti di campionamento, rendono costante il residuo dell’integrazione per puro campionamento per un polinomio del terzo grado, al più lo rendono nullo. Infatti il residuo, nel caso le incognite assumano proprio il valore associato a sols[1], assume il valore:
Si può osservare come il residuo assuma valore costante ed in particolare nullo valutato ai valori selezionati: in effetti se devono valere per ogni a,b,c,d, devono valere anche quando questi ultimi siano nulli e l’errore sull’integrazione in corrispondenza di questa ipotesi è nullo, in quanto sia l’integrale esatto che quello calcolato con approssimazione numerica da risultato nullo. Allora la regola di integrazione numerica trovata, con campionamento in soli due punti, restituisce il valore esatto di un integrale di una funzione polinomiale di terzo grado.
I punti ottimali per il campionamento, ovvero quelli che finora sono stati denominati con la coordinata $ζ$, sono chiamati Punti di Gauss (Gauss’ Point), i quali nei casi più semplici, assumono i seguenti valori
- Campionamento ad un punto di Gauss: $ζ_1$ = 0; $w_1$=2 Con la regola a un campionamento ad un punto di Gauss si riesce ad integrare in forma esatta un polinomio di primo ordine. In via generale, se n è il numero di punti di campionamento con cui si intende calcolare un’integrale, si può affermare che (2n -1) è l’ordine del polinomio che si riesce ad integrare in forma esatta.
- Campionamento a due punti di Gauss: $ζ_1$, $ζ_2$ = $\pm\frac{1}{\sqrt3}$; $w_1$, $w_2$ = 1 Con questa regola si riesce ad integrare esattamente un polinomio di ordine 2*2 – 1=3 (come ricavato grazie alle operazioni svolte su Maxima)
Estensione a più punti di campionamento
La procedura esposta è applicabile utilizzando più punti di campionamento o meno punti, ponendo però attenzione al fatto che se si dovessero utilizzare più punti di campionamento (ad es. 3, 4 o 5), per semplificare le equazioni, occorre imporre che questi punti siano simmetrici rispetto alla coordinata $ζ$= 0, in modo tale da non dover inserire troppe incognite. Ad esempio, volendo sfruttare un campionamento a 3 punti per asse, uno di questi dovrà necessariamente trovarsi nell’origine del piano ($ζ$, f($ζ$)): gli altri due andranno a posizionarsi simmetricamente rispetto all’origine. In questo modo, le incognite sono $\bar{\zeta}$, il peso associato a $+\bar{\zeta}$, quello a $-\bar{\zeta}$, i quali saranno uguali per simmetria, nonché il peso del campionamento in zero. Allora le incognite sono unicamente 3 e riescono ad essere gestibili.
Passando ad un campionamento a 4 punti, si avranno 4 incognite, pari alle coordinate $\bar{\zeta_1}$ e $\bar{\zeta_2}$, posizionate nel semiasse positivo $ζ$, ed i pesi ad esse associate: le altre due coordinate ed i loro pesi si troveranno per simmetria.
Codice Completo per il calcolo dei pesi e dei valori ottimali di campionamento a due punti
quadratura_gaussiana_v2017.wxmx
pagina wikipedia quadratura gaussiana, con punti e pesi per l'integrazione fino 5 punti.