-
.
https://app.box.com/s/68pm8fsuqdptdprp9wc0mums6ir8wwsh . -
.il primo è relativo al ciclo For cOunt = 0 To 101 entro cui viene operata la sommatoria indicata in EC8.
Ho potuto riscontrare che aumentando il limite superiore del ciclo (quindi ponendo quel 101 pari per esempio a 1001) pensando di ottenere cosi una migliore approssimazione del coefficiente, in effetti il codice va in errore per valori di γ inferiori ad 1.00 e quindi non riuscivo ad a ottenere il diagramma per γ=0.5.
Per riuscire ad ottenere i valori del coefficiente Ci(ξ,ζ) per valori del rapporto γ=H/R inferiori all'unita occorre limitare il ciclo for ad un numero di step non superiori a 51.
Pertanto il codice relativo alla determinazione del coefficiente Ci è stato modificato nel seguente:CODICEPublic Function C_i_EC8(csi As Double, zita As Double, gamma As Double) As Double
' questa funzione calcola il coefficiente di pressione Ci che compare nella
' formula A.1 Annex A dei EC8 parte 4
' Funzione da rivedere con attenzione a seguito riapertura discussione al bar da parte di Allian76
Dim C As Double
Dim ni As Double
Dim a As Double
Dim pi As Double
pi = 4 * Atn(1)
Dim cOunt As Integer
C = 0
For cOunt = 0 To 51 ' abbassato il limite superiore del ciclo
ni = (2 * cOunt + 1) * pi / 2
a = ni / gamma
C = C + 2 * (-1) ^ cOunt * Cos(ni * zita) * WorksheetFunction.BesselI(a * csi, 1) / _
((WorksheetFunction.BesselI(a, 0) - WorksheetFunction.BesselI(a, 1) / a) * ni ^ 2)
Next
C_i_EC8 = C
End Function
Afazio credo che uno dei problemi sia proprio la funzione di vessel, ho dato un'occhiata e l'EC vuole la funzione di bessel modificata, in VBA da quello che ho potuto vedere si scrive BesselK e non BesselI.
A questo punto ho fatto la prova sostituendo I con K e anche aumentando i valori fino a 100 non restituisce errori
ma poi i valori non graficano più correttamente. -
.Afazio credo che uno dei problemi sia proprio la funzione di vessel, ho dato un'occhiata e l'EC vuole la funzione di bessel modificata, in VBA da quello che ho potuto vedere si scrive BesselK e non BesselI.
A questo punto ho fatto la prova sostituendo I con K e anche aumentando i valori fino a 100 non restituisce errori
ma poi i valori non graficano più correttamente
La funzione di Bessel modificata in VBA è la BesselI e non la BesselK
vedi questo link
www.excelfunctions.net/Excel-Besseli-Function.html
Con l'occasione comunico che ho aggiornato il foglio con la formulazione A.7 di EC8 per la determinazione del diagramma convettivo.
Su questo mi aspetto quantomeno da Allian un controllo ed un minimo di validazione. Io ho gli occhi pieni di bytes e non riesco a vedere più nulla.
Serbatoi Cilindrici- Versione 3
Note:
Ho scritto la funzione mancante per il coefficiente Cc ed il codice è il seguente:CODICEPublic Function C_c_EC8(csi As Double, zita As Double, gamma As Double) As Double
' questa funzione calcola il coefficiente di pressione che compare nella
' formula A.7 Annex A dei EC8 parte 4
' vengono considerati solo i primi tre modi convettivi
' promemoria: lambda(1)=1.841 lambda(2)= 5.331 e lambda(3)=8.536
Dim C As Double
Dim i As Integer
Dim lambDa(1 To 3) As Double
Dim psi As Double
lambDa(1) = 1.841
lambDa(2) = 5.331
lambDa(3) = 8.536
C = 0
For i = 1 To 3
psi = 2 / ((lambDa(i) ^ 2 - 1) * WorksheetFunction.BesselJ(lambDa(i), 1) * Hcos(lambDa(i) * gamma))
C = C + psi * Hcos(lambDa(i) * gamma * zita) * WorksheetFunction.BesselJ(lambDa(i) * csi, 1)
Next
C_c_EC8 = C
End Function
Anche se si poteva considerare solo il primo modo convettivo in virtù del fatto che i modi successivi al primo non apportano contributi apprezzabili, ho comunque considerato i primi tre modi i cui fattori lambda sono forniti in EC8.
Ma per ciascuno di essi ho assunto il valore della pulsazione ω associata al primo modo. Il dover cionsiderare le effettive pulsazione relative a secondo e terzo modo comporta un aggravio nel codice per adesso non sopportabile. Attualmente se preferite posso solo considerare il solo primo modo (tanto il risultato non si sposta di nessun decimale).
E con questo aggiornamento è sparito dal mio foglio qualsiasi riferimento indiano.. -
.
Qualcosa ancora non quadra col coefficiente Cc oppure con la formula relativa a pc() ed al confronto con i diagrammi.
Intanto l'Eurocodice non lo definisce proprio e l'ho introdotto io per semplificare la formula.
La versione ultima di EC8 presenta parti di grafico illegibili e grafici con abbozzi di scarabocchi come indicazione degli assi (vedi per esempio il diagramma di Ci oppure cercate di decifrare l'indicazione delle ascisse nel diagramma di Cc); sono quindi andato alla ricerca di un diagramma "pulito" trovandolo nelle versione del 2000 di EC8.4
mentre nell'immagine che segue ho raccolto le formule relative alla distribuzione lungo l'altezza delle pressioni convettive
Notate il fatto che nella formula della variabile ψ è presente il fattore R (raggio del serbatoio) mentre nel mio codice viene assunto valore R=1.
Per semplificarmi le cose e non dover quindi passare alla funzione il parametro R che insieme ai parametri adimensionalizzati ξ ζ γ stonava alquanto, ho riscritto le formule A.7 e A.8 nel modo seguente:
. -
.
Considerando i soli primi tre termini della sommatoria, quelli per cui la norma ci fornisce i relativi valori di λ, possiamo scrivere:
Se adesso poniamo le accelerazioni dei tre modi tutte uguali alla prima, l'espressione si riscrive come segue:
in questo modo il fattore ρ * R * A *cosθ rimane costante.
Ponendo la parte entro parentesi uguale a Cc la formula si trasforma in:
che è praticamente simile alla formula del coefficiente Ci per la determinazione della distribuzione delle pressioni impulsive lungo l'altezza.
Ed è proprio la parte entro parentesi che ho tradotto in codice. Questo significa che poi il coefficiente ricavato deve essere moltiplicato per il raggio R anzichè per l'altezza Hw come avveniva per Ci.
A breve pubblico la nuova versione con le correzioni. In esso troverete anche la scheda denominata "Validaz_Cc" in cui costruisco il grafico di Cc e lo confronto con quello dato in EC8.. -
.
Ecco la versione 4 del foglio con apportate le correzioni di cui sopra:
Serbatoi Cilindrici versione 4
Invito chi lo ha scaricato proprio mentre stavo facendo l'upload di riscaricarlo nuovamente.. -
.
A questo punto, avendo adesso la funzione che mi determina il coefficiente Cc secondo EC8 ed avendo anche la corrispondente formula del documento indiano, ho voluto capire quali differenze tra i due:
Ho ripreso quindi la formula indiana:
e messo a confronto le pressioni secondo EC8 e secondo IITK per accelerazione A(t) unitaria e dimensioni variabili del serbatoio.
Rapporto H/R=0.5
Applicando EC8 otteniamo una pressione convettiva maggiore di quella determinata secondo IITK con percentuale variabile in altezza dal 13.5 al 25%
Rapporto H/R=1.0
Applicando EC8 otteniamo una pressione convettiva maggiore di quella determinata secondo IITK con percentuale variabile in altezza dal 11.5% al 25%
Rapporto H/R=3.0
Applicando EC8 otteniamo una pressione convettiva maggiore di quella determinata secondo IITK con percentuale variabile in altezza dal 10.3 % al 25%
I tre diagrammi sono costruiti per θ=0.0° cioè sulla parete in direzione del sisma.
A voi le "vostre" conclusioni.. -
.
Ciao Afazio
a prima vista differenze dell'ordine dei 10% 25%, mi sembrano importanti, soprattutto per le strutture in esame, se infatti generalmente un ferro in più o in meno in una trave in ca sposta di niente il costo dell'opera (per la maniera in cui almeno a me tocca lavorare, ossia dove i pilastri li mette l'architetto.... e per spostarli ci vuole il mitra....) su strutture tipo i serbatoio aumentare uno/due millimetri la lamiera porta aumenti % dei costi importanti un serbatoio come quello dell'esempio (D=10 h=12) ha una superficie di circa 370 mq, e un salto di 1 mm pesa circa 8 kg/mq su un peso della lamiera di circa 32 kg/mq (lamiera da 4 mm) ergo 25% in più di costo.
Poi ti chiedo scusa per non esserti utile con VBA, spero che il mio contributo alla discussione sia comunque servito. Giunti a questo punto mi sorge un altro dubbio.
Nel file excel vengono calcolati i periodi di vibrazione utilizzando la notazione di Malhotra giusto? Se abbiamo interpretato bene l'EC, Malhotra contiene sia la parte flessibile che la parte rigida della componente impulsiva, con Malhotra facilmente riusciamo a ricavare il taglio totale alla base 'foglio sisma'. Nel 'foglio diagrammi' invece viene calcolata la pressione utilizzando la notazione generale dell'EC8, dove l'unica variabile in cui entrano i periodi di vibrazione di Malhotra è nella determinazione di Ag(t), o nel corrispondente spettro di progetto per essere precisi.
Mi chiedevo esiste su VBA un metodo abbastanza veloce per far fare l'integrale dellla pressione su ϴ e su z dato che abbiamo la distribuzione, in teoria dovrebbe restituirci un valore non lontanto dal taglio alla base calcolato con Malhotra.. -
.Ciao Afazio
a prima vista differenze dell'ordine dei 10% 25%, mi sembrano importanti, soprattutto per le strutture in esame, se infatti generalmente un ferro in più o in meno in una trave in ca sposta di niente il costo dell'opera (per la maniera in cui almeno a me tocca lavorare, ossia dove i pilastri li mette l'architetto.... e per spostarli ci vuole il mitra....) su strutture tipo i serbatoio aumentare uno/due millimetri la lamiera porta aumenti % dei costi importanti un serbatoio come quello dell'esempio (D=10 h=12) ha una superficie di circa 370 mq, e un salto di 1 mm pesa circa 8 kg/mq su un peso della lamiera di circa 32 kg/mq (lamiera da 4 mm) ergo 25% in più di costo.
Si indubbiamente quella percentuale si ripercuoterà inevitabilmente in un maggiore costo ma non possiamo eluderlo.
Siamo costretti ad usare EC8 e non IITK.CITAZIONEPoi ti chiedo scusa per non esserti utile con VBA, spero che il mio contributo alla discussione sia comunque servito. Giunti a questo punto mi sorge un altro dubbio.
Nel file excel vengono calcolati i periodi di vibrazione utilizzando la notazione di Malhotra giusto?
Per i periodi sono implementate le formule:
Ti ---> formula A.35 di EC8 che è la stessa di quella riportata in IITC
Tc ---> formula A.36 di EC8
Tc1 ---> formula A.10 di EC8 (che da quasi lo stesso risultato della formula A.36)
Se queste sono quelle di Malhotra allora ho utilizzato Malhotra (e non ne avrei altre da utilizzare)CITAZIONESe abbiamo interpretato bene l'EC, Malhotra contiene sia la parte flessibile che la parte rigida della componente impulsiva, con Malhotra facilmente riusciamo a ricavare il taglio totale alla base 'foglio sisma'. Nel 'foglio diagrammi' invece viene calcolata la pressione utilizzando la notazione generale dell'EC8, dove l'unica variabile in cui entrano i periodi di vibrazione di Malhotra è nella determinazione di Ag(t), o nel corrispondente spettro di progetto per essere precisi.
In ogni caso i periodi servono unicamente a determinare l'accelerazione entrando in ascissa di un qualche spettro, sia che si sta operando per l'analisi globale e sia se si sta cercando di spalmare le pressioni.CITAZIONEMi chiedevo esiste su VBA un metodo abbastanza veloce per far fare l'integrale dellla pressione su ϴ e su z dato che abbiamo la distribuzione, in teoria dovrebbe restituirci un valore non lontanto dal taglio alla base calcolato con Malhotra.
In VBA , salvo i costrutti, i cicli, le variabili e qualche funzione predefinita non esiste null'altro.
Per l'integrazione dovremo scrivere un programma apposito.. -
.
Per un serbatoio avente la seguente geometria:
R= 6.00 m
Hw = 8.84 m
gamma= H/r= 8.84/6= 1.473
applicando la formula che riporti otteniamo:
primo modo:
pulsazione wcn=1.727 rad/s
Periodo = 2*pi/wcn= 3.638 s
(tnere conto che per H/R=3 il periodo è gia ampiamente stabilizzato al valore T=3.622 s)
secondo modo:
pulsazione wcn=2.952 rad/s
Periodo = 2*pi/wcn=2.128 s
(tenere conto che questo valore lo si ritrova per qualsiasi valore del rapporto H/R)
terzo modo:
pulsazione wcn=3.736 rad/s
Periodo = 2*pi/wcn= 1.682 s
(tenere conto che questo valore lo si ritrova per qualsiasi valore del rapporto H/R)
Applicando la formula semplificata A.36 valida per il primo modo e per H/R>1 abbiamo:
wcn= 4.2/radq(R) = 4.2/radq(6) = 1.7146 rad/s
T= 2*PI/wcn = 6.28/1.7146 = 3.664 s
Che praticamente coincide, a meno di tre centesimi, con quello determinato con la formula completa.
Infine anche applicando la formula:
T = Cc*radq(R)
otteniamo il valore
Tc= 3.639 s
Di che stiamo parlando?
L'unico appunto che si potrebbe muovere alle celle/funzioni del foglio è relativo al fatto che ho unificato le accelerazioni dei tre modi a quella del primo.
Ma a rimuovere questa cosa basta limitare il ciclo in cui si calcola C_c_EC8 al solo primo termine.ergo Cc rappresenta la frequenza dell'oscillatore semplice???? o stamani sono semplicemente ubriaco???
... a meno del fattore Radq(R).
Sembra proprio sia cosi e se leggiamo meglio forse sta anche scritto tra le righe di EC8.
P.S.: Comunque, dato che ho scritto anche la funzione utente per il calcolo della pulsazione dei primi tre modi convettivi, penso di inserire questo al posto della formula semplificata.
Lo troverete nella prossima pubblicazione. -
.
sono d'accordo, infatti il mio commento era proprio volto a prendere atto del fatto che Cc sia proprio il periodo incriminato... . -
.
Ho provato a fare il confronto tra EC8 e IITK relativamente alla distribuzione delle pressioni convettive ma considerando solo il primo modo convettivo (e non tre come avevo fatto prima).
Il codice della funzione è variato nel seguente:CODICEPublic Function C_c_EC8(csi As Double, zita As Double, gamma As Double) As Double
' questa funzione calcola il coefficiente di pressione che compare nella
' formula A.7 Annex A dei EC8 parte 4
Dim C As Double
Dim i As Integer
Dim lambDa(1 To 3) As Double
Dim psi As Double
lambDa(1) = 1.841
lambDa(2) = 5.331
lambDa(3) = 8.536
C = 0
For i = 1 To 1
psi = 2 / ((lambDa(i) ^ 2 - 1) * WorksheetFunction.BesselJ(lambDa(i), 1) * Hcos(lambDa(i) * gamma))
C = C + psi * Hcos(lambDa(i) * gamma * zita) * WorksheetFunction.BesselJ(lambDa(i) * csi, 1)
Next
C_c_EC8 = C
End Function
in cui è stato sufficiente variare il ciclo for in: For i = 1 To 1
Considerare il solo primo modo convettivo ai fini di progetto (non capisco quali altri fini possano esserci) è consentito dallo stesso EC8 laddove dice:
In questo modo la percentuale che prima era variabile dal 10% circa al 25% adesso si attesta a circa il 10%
Ecco il confronto per H/R=3
e quello per H/R=0.5
Ho apportato la correzione e sarà disponibile con la prossima pubblicazione. -
.
Ancora su accelerazioni, spettri di risposta e contributi vari. Sarà che leggersi gli eurocodici in inglese qualcosa si perde sempre....
Quello che ho capito io.
- In generale le sovrappressioni sismiche sono somma di tre contributi di pressione su pareti e fondo (tralasciamo il contributo dovuto al sisma verticale che riprendo in fondo al post)
Impulsivo rigido - Convettivo - Impulsivo flessibile (l'impulso flessibile nei serbatoi con pareti rigide viene trascurato...)
L'eurocodice fornisce 2 maniere per determinare i contributi analitica e semplificata (la trattazione semplificata più semplice è Malhotra punto A.3.2.2)
TRATTAZIONE ANALITICA (base su cui Afazio ha costruito l'excel giusto?)
Contributo Impulsivo rigido il valore di Ag(t) da inserire secondo me è il valore max di ag (accelerazione max del terreno in campo libero modificata con Ss? F0? si accettano suggerimenti e commenti)
Contributo convettivo, il valore di Stconv deriva da spettro di risposta elastico con assegnato periodo dato dalla frequenza oscillatore semplice ecc...
Se il serbatoio ha pareti rigide l'analisi dei contributi si conclude qui e per combinarli si deve usare la somma diretta!!!
Se le pareti sono flessibili entra in gioco il terzo contributo "flessibile" (in acciaio sono sempre flessibili, ma anche fossero in cls l'EC dice che non è cautelativo non considerare tale contributo)
Ancora una volta Stf deriva da spettro di risposta elastico con assegnato periodo
Piccolissimo problema anche se credo che sia un errore, nella formula che segue si sono dimenticati un pedice su Af che credo debba essere Afn
Ok adesso abbiamo tutti e tre i contributi e il problema è sommarli, a questo punto anche l'EC ritiene che la somma diretta non sia consigliabile
E vengono introdotti tre metodi, di cui il primo è applicabile per rapporti H/R prossimi a 1.
Questi metodi Veletsos and Yang, Haroun and Housner, or Scharf combinano le azioni con SRSS modificando leggermente la notazione generale (A.29) e compare nelle formule la massa flessibile mf di cui non viene data l'equazione in EC8, si limita a dare un riferimento bibliografico in cui in base al rapporto H/R - mf è tabulato (PS. non sono ancora riuscito a trovare tali tabelle)
TRATTAZIONE SEMPLIFICATA
Malhotra considera all'interno della massa impulsiva anche il contributo flessibile almeno così ho capito guardando la presente tesi..
https://ori-nuxeo.univ-lille1.fr/nuxeo/sit...4f-8ea18c9f5020
Viene quindi modificato il periodo di vibrazione Ti. La trattazione è abbastanza semplice, salvo che per rendere direttamente applicabile in un software i valori ricavati da Malhotra dobbiamo risalire alla distribuzione lungo la circonferenza e lungo l'altezza (ma qui possiamo utilizzare la notazione generale vista all'inizio del post!! in cui ci calcoliamo pw e pconv con Ti e Tc opportunamente modificati)
Domanda per Afazio
ma questa casella perché punta a una funzione semplificata anzichè alla notazione generale con Bessel per Ci (per intenderci punti a C_i anziche a C_i_EC8, inoltre all'aumentare del rapporto H/R il valore Ci dovrebbe aumentare invece accade che aumenta riducendo l'altezza.
Il dubbio mi è venuto perche controllando Malhotra ho visto che i Ci devono essere maggiori di quelli che derivano dal calcolo excel, infatti se provi ad aumentare l'altezza e a ridurre il diametro (tipo H=10 e D=3.7) vengono valori di molto inferiori a quelli stimati da Malhotra.
Edited by Allian76 - 18/4/2015, 21:49. -
.Il dubbio mi è venuto perche controllando Malhotra ho visto che i Ci devono essere maggiori di quelli che derivano dal calcolo excel, infatti se provi ad aumentare l'altezza e a ridurre il diametro (tipo H=10 e D=3.7) vengono valori di molto inferiori a quelli stimati da Malhotra.
Se provi a riportare in un diagramma i valori di Ci letti dalla tabella di EC8 ed i corrispondenti valori di Ci ricavati con Malhotra, vedrai che i due diagrammi risultano traslati tra loro del fattore radq(2).
Hanno stesso preciso andamento ma con offset pari a 1,4142.
Questo succede semplicemente per il fatto che la formula ove viene applicato Malhotra contiene il diametro mentre quella dove viene applicato EC8 contiene il raggio. Siccome questa dimensione compare entro radice ed il rapporto D/R=2 ecco spiegato l'offset.
Da questo discende immediatamente che pur non essendo fornita in EC8 la formula usata per comporre la tabella, io posso indifferentemente usare quella di Malhotra ma tenendo conto dell'offset. Nota infatti il fattore sqr(2) presente nella UDF.
Spero di essere stato chiaro..