Il Bar dell'Ingegneria

Funzioni Excel per i coefficienti di spinta

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Penso sia piu' attinente questa:

    coacervo

    Riprendo l'immagine composta da G.iaria

    spintasisma

    semplicemente per poter disporre di un thumbnail


    In questo topic raccolgo le funzioni che permettono di calcolare in qualsiasi cella del foglio i coefficienti di spinta attiva e passiva sia in condizioni statiche che in condizioni sismiche con sisma verticale sia verso l'alto che verso il basso.

    Per la discussione sui segni di kv nella formula dell'angolo sismico θ

    θ= Atn[kh/(1± kv)]

    rinvio alla lettura del topic : https://bar-ingegneria.forumfree.it/?t=6403...&st=30#lastpost


    -------------------------------------------------------------------------------------------------------------------
    COEFFICIENTE DI SPINTA ATTIVA E PASSIVA IN CONDIZIONI STATICHE
    -------------------------------------------------------------------------------------------------------------------

    CODICE
    Public Function Ka(fi As Double, alFa As Double, beta As Double, delta As Double, gammaFi As Double) As Variant
    ' La funzione calcola il coefficiente di spinta attiva in fase statica
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa: inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' beta= inclinazione del paramento interno del muro rispetto all'orizzontale (se verticale beta=90°)
    ' delta= inclinazione della spinta rispetto alla normale al paramento interno (positivo se verso l'alto)
    ' gammaFi= coefficiente parziale per il parametri del terreno secondo M1 o M2
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
       Ka = 0
       Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180
    beta = beta * Pi / 180
    delta = delta * Pi / 180

    K1 = (Sin(beta + fi)) ^ 2
    k2 = (Sin(beta)) ^ 2 * Sin(beta - delta) * (1 + ((Sin(fi + delta) * Sin(fi - alFa)) / _
         (Sin(beta - delta) * Sin(beta + alFa))) ^ 0.5) ^ 2

    Ka = K1 / k2

    End Function
    '-----------------------------------------------------------

    Public Function Kp(fi As Double, alFa As Double, gammaFi As Double) As Variant
    'La funzione calcola il coefficiente di spinta  passiva in condizioni statiche
    ' Il coefficiente di spinta passiva veine calcolato secondo la formula di Rankine
    ' in quanto la teoria di Coulomb, trascurando la curvatura della superficie critica,
    ' dà valori in eccesso per valori dell'angolo di attrito terra-muro superiori a 0.25fi
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa= inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' gammaFi= coefficiente parziale per il parametri del terreno secondo M1 o M2
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
       Kp = 0
       Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180

    Kp = Cos(alFa) * (Cos(alFa) + ((Cos(alFa)) ^ 2 - (Cos(fi)) ^ 2) ^ 0.5) / _
        (Cos(alFa) - ((Cos(alFa)) ^ 2 - (Cos(fi)) ^ 2) ^ 0.5)

    End Function



    -------------------------------------------------------------------------------------------------------------------
    COEFFICIENTE DI SPINTA ATTIVA E PASSIVA IN CONDIZIONI SISMICHE
    -------------------------------------------------------------------------------------------------------------------

    CODICE
    Public Function Kas(fi As Double, alFa As Double, beta As Double, delta As Double, _
                       kh As Double, kv As Double, gammaFi As Double, flag As Integer) As Variant
    'La funzione calcola il coefficiente di spinta attiva per la determinazione della
    ' spinta del terreno in fase sismica applicando i coefficiemti del DM2008
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa: inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' beta= inclinazione del paramento interno del muro rispetto all'orizzontale (se verticale beta=90°)
    ' delta= inclinazione della spinta rispetto alla normale al paramento interno (positivo se verso l'alto)
    ' kh, kv =coefficienti sismici orizzontale e verticale
    ' I coefficienti sismici sono presi in valore assoluto, qualunque sia il loro segno in input
    ' gammaFi= coefficiente parziale per il parametri del terreno secondo M1 o M2
    ' se gammaFi in input è nullo allora viene attribuito gammaFi= 1.00 (per evitare errore division by zero)
    ' flag= indicatore del tipo di sisma verticale che assume i seguenti valori
    ' sisma verticale verso il basso: flag=1
    ' sisma verticale verso l'alto: flag=2
    ' se a flag si attribuisce valore diverso da 1 o 2 si assume flag=1 (sisma verticale verso il basso)
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
       Kas = 0
       Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180
    beta = beta * Pi / 180
    delta = delta * Pi / 180
    kh = Abs(kh)
    kv = Abs(kv)

    Select Case flag
    Case Is = 1 'sisma verticale verso il basso
        teta = Atn(kh / (1 + kv))
    Case Is = 2 'sisma verticale verso l'alto
       If kv = 1 Then ' controllo che il denominatore non si annulli
           Kas = 1E+16
           Exit Function
       Else
           teta = Atn(kh / (1 - kv))
       End If
    Case Else
       teta = Atn(kh / (1 + kv))
    End Select

    K1 = (Sin(beta + fi - teta)) ^ 2
    k2 = Cos(teta) * (Sin(beta)) ^ 2 * Sin(beta - delta - teta)
    k3 = 1
    If alFa <= fi - teta Then
    k3 = (1 + ((Sin(fi + delta) * Sin(fi - alFa - teta)) / _
        (Sin(beta - delta - teta) * Sin(beta + alFa))) ^ 0.5) ^ 2
    End If

    Kas = K1 / (k2 * k3)

    End Function

    Public Function Kps(fi As Double, alFa As Double, beta As Double, delta As Double, _
                       kh As Double, kv As Double, gammaFi As Double, flag As Integer) As Variant
    'La funzione calcola il coefficiente di spinta passiva per la determinazione della
    ' spinta del terreno in fase sismica applicando i coefficiemti del DM2008
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa: inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' beta= inclinazione del paramento interno del muro rispetto all'orizzontale (se verticale beta=90°)
    ' delta= inclinazione della spinta rispetto alla normale al paramento interno (positivo se verso l'alto)
    ' kh, kv =coefficienti sismici orizzontale e verticale
    ' I coefficienti sismici sono presi in valore assoluto, qualunque sia il loro segno in input
    ' gammaFi= coefficiente parziale per il parametri del terreno secondo M1 o M2
    ' flag= indicatore del tipo di sisma verticale che assume i seguenti valori
    ' sisma verticale verso il basso: flag=1
    ' sisma verticale verso l'alto: flag=2
    ' se a flag si attribuisce valore diverso da 1 o 2 si assume flag=1 (sisma verticale verso il basso)
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
       Kps = 0
       Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180
    beta = beta * Pi / 180
    delta = delta * Pi / 180
    kh = Abs(kh)
    kv = Abs(kv)

    Select Case flag
    Case Is = 1 'sisma verticale verso il basso
       teta = Atn(kh / (1 + kv))
    Case Is = 2 'sisma verticale verso l'alto
       If kv = 1 Then ' controllo che il denominatore non si annulli
           Kps = 1E+16
           Exit Function
       Else
           teta = Atn(kh / (1 - kv))
       End If
    Case Else
       teta = Atn(kh / (1 + kv))
    End Select

    K1 = (Sin(beta + fi - teta)) ^ 2
    k2 = Cos(teta) * (Sin(beta)) ^ 2 * Sin(beta + teta)
    k3 = (1 - ((Sin(fi) * Sin(fi + alFa - teta)) / _
        (Sin(beta + alFa) * Sin(beta + teta))) ^ 0.5) ^ 2

    Kps = K1 / (k2 * k3)

    End Function


    Edited by afazio - 2/4/2013, 14:52
     
    Top
    .
  2.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    premesso che ho grande rispetto per la fatica che sarà costata implementare quelle funzioni, sarei propenso a modificare il riferimento assunto per l'angolo beta al fine di uniformarci con la notazione internazionale.

    internazionalmente beta è riferito alla verticale (quindi per paramento verticale beta=0). di conseguenza le funzioni che danno le spinte sono scritte con il coseno invece che con il seno. è chiaro che se tutto è giusto daranno gli stessi valori, rimane però la questione dell'input che richiede un beta rispetto all'orizzontale.

    lo so già che possiamo anche far cambiare il beta internamente prima di darlo in pasto alle funzioni diminuendolo di 90°, ma forse (non so cosa troveremo più avanti) se ci adeguiamo adesso sarà più facile controllare le formule con quelle dei testi ed implementare eventuali nuove formule con quella notazione.
     
    Top
    .
  3.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (reversi @ 27/3/2013, 12:47) 
    premesso che ho grande rispetto per la fatica che sarà costata implementare quelle funzioni, sarei propenso a modificare il riferimento assunto per l'angolo beta al fine di uniformarci con la notazione internazionale.

    internazionalmente beta è riferito alla verticale (quindi per paramento verticale beta=0). di conseguenza le funzioni che danno le spinte sono scritte con il coseno invece che con il seno. è chiaro che se tutto è giusto daranno gli stessi valori, rimane però la questione dell'input che richiede un beta rispetto all'orizzontale.

    lo so già che possiamo anche far cambiare il beta internamente prima di darlo in pasto alle funzioni diminuendolo di 90°, ma forse (non so cosa troveremo più avanti) se ci adeguiamo adesso sarà più facile controllare le formule con quelle dei testi ed implementare eventuali nuove formule con quella notazione.

    Anche per l'angolo beta mi ci sono sbattuto ai tempi in cui composi la prima funzione per ka (non è questa ma una sua genitrice). Allora notai una grande dispersione di formule e formuline e spesso l'angolo beta non veniva nemmeno definito se non con la generica dicitura angolo del paramento interno del muro rispetto alla verticale ma senza indicare il verso positivo di esso.
    Alla fine scelsi la formula che non lasciava nulla di indefinito.

    A pensarci bene la semplice definizione
    beta= angolo formato tra paramento interno del muro e la verticale
    non definisce univocamente l'angolo stesso, potendo il paramento interno essere inclinato verso l'interno o verso l'esterno
    Stessa cosa vale per la definizione rispetto all'orizzontale. Naturalmente 90° sarebbe univocamente determinato ma 87° o 93° non lo sono se non fissiamo il verso positivo dell'orizzontale ed il verso positivo della verticale.

    Occorrerà postare un disegnino e definire meglio sto beta all'interno dei commenti nella funzione.

    Se hai le formule a portata di mano postale.
    Posso anche duplicare le funzioni per vedere se con la versione col coseno si ottengono stessi risultati, ed evenatualmente modificare per adeguarci alla convenzione internazionale.
    Alla definizione della convenzione internazionale che hai dato, manca ancora una precisazione per renderla univoca.
     
    Top
    .
  4.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    rispetto alla verticale, l'angolo beta è positivo se il paramento interno è inclinato verso l'esterno (tanto per capirci, se la verticale tracciata dal piede è contenuta nel terreno).

    considera però che con il beta rispetto alla verticale le funzioni sono scritte con il coseno e cos(beta)=cos(-beta).
     
    Top
    .
  5.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    CITAZIONE (afazio @ 27/3/2013, 13:04) 
    Anche per l'angolo beta mi ci sono sbattuto ai tempi in cui composi la prima funzione per ka (non è questa ma una sua genitrice). Allora notai una grande dispersione di formule e formuline e spesso l'angolo beta non veniva nemmeno definito se non con la generica dicitura angolo del paramento interno del muro rispetto alla verticale ma senza indicare il verso positivo di esso.
    Alla fine scelsi la formula che non lasciava nulla di indefinito.

    A pensarci bene la semplice definizione
    beta= angolo formato tra paramento interno del muro e la verticale
    non definisce univocamente l'angolo stesso, potendo il paramento interno essere inclinato verso l'interno o verso l'esterno
    Stessa cosa vale per la definizione rispetto all'orizzontale. Naturalmente 90° sarebbe univocamente determinato ma 87° o 93° non lo sono se non fissiamo il verso positivo dell'orizzontale ed il verso positivo della verticale.

    Occorrerà postare un disegnino e definire meglio sto beta all'interno dei commenti nella funzione.

    Se hai le formule a portata di mano postale.
    Posso anche duplicare le funzioni per vedere se con la versione col coseno si ottengono stessi risultati, ed evenatualmente modificare per adeguarci alla convenzione internazionale.
    Alla definizione della convenzione internazionale che hai dato, manca ancora una precisazione per renderla univoca.

    ho trovato un documento in italiano, almeno per quanto riguarda la spinta attiva, con l'angolo beta definito rispetto alla verticale (come si vede dal disegno, la verticale è tracciata non dal piede, ma dalla testa del muro: in questo caso beta positivo si ha quando la verticale è interna al muro. se la verticale è tracciata dal piede, beta positivo si ha quando la verticale è interna al terreno):

    http://www.associazionegeotecnica.it/sites..._1993_3_235.pdf
     
    Top
    .
  6.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (reversi @ 27/3/2013, 15:13) 
    CITAZIONE (afazio @ 27/3/2013, 13:04) 
    Anche per l'angolo beta mi ci sono sbattuto ai tempi in cui composi la prima funzione per ka (non è questa ma una sua genitrice). Allora notai una grande dispersione di formule e formuline e spesso l'angolo beta non veniva nemmeno definito se non con la generica dicitura angolo del paramento interno del muro rispetto alla verticale ma senza indicare il verso positivo di esso.
    Alla fine scelsi la formula che non lasciava nulla di indefinito.

    A pensarci bene la semplice definizione
    beta= angolo formato tra paramento interno del muro e la verticale
    non definisce univocamente l'angolo stesso, potendo il paramento interno essere inclinato verso l'interno o verso l'esterno
    Stessa cosa vale per la definizione rispetto all'orizzontale. Naturalmente 90° sarebbe univocamente determinato ma 87° o 93° non lo sono se non fissiamo il verso positivo dell'orizzontale ed il verso positivo della verticale.

    Occorrerà postare un disegnino e definire meglio sto beta all'interno dei commenti nella funzione.

    Se hai le formule a portata di mano postale.
    Posso anche duplicare le funzioni per vedere se con la versione col coseno si ottengono stessi risultati, ed evenatualmente modificare per adeguarci alla convenzione internazionale.
    Alla definizione della convenzione internazionale che hai dato, manca ancora una precisazione per renderla univoca.

    ho trovato un documento in italiano, almeno per quanto riguarda la spinta attiva, con l'angolo beta definito rispetto alla verticale (come si vede dal disegno, la verticale è tracciata non dal piede, ma dalla testa del muro: in questo caso beta positivo si ha quando la verticale è interna al muro. se la verticale è tracciata dal piede, beta positivo si ha quando la verticale è interna al terreno):

    www.associazionegeotecnica.it/sites..._1993_3_235.pdf

    hai visto che anche qui c'e' ampia dispersione delle convenzioni e delle formule. Io ci stavo impazzando all'inizio.

    Staserà vedro di duplicare le mie funzioni mettendo le formule col coseno e poi ne riparliamo.
     
    Top
    .
  7.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    2,939
    Reputation
    +187

    Status
    Offline
    CITAZIONE (afazio @ 27/3/2013, 15:16) 
    hai visto che anche qui c'e' ampia dispersione delle convenzioni e delle formule. Io ci stavo impazzando all'inizio.

    Ma tu guarda un pò......
    E' uno dei motivi per cui la geotecnica alla fine non piace. Non piace proprio.
    Quello che non si riesce a capire è il perchè.
    Errori di copiatura, refusi di stampa, libere interpretazioni.....perchè in altre discipline tutto questo non avviene?
     
    Top
    .
  8.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (zax2013 @ 27/3/2013, 16:03) 
    CITAZIONE (afazio @ 27/3/2013, 15:16) 
    hai visto che anche qui c'e' ampia dispersione delle convenzioni e delle formule. Io ci stavo impazzando all'inizio.

    Ma tu guarda un pò......
    E' uno dei motivi per cui la geotecnica alla fine non piace. Non piace proprio.
    Quello che non si riesce a capire è il perchè.
    Errori di copiatura, refusi di stampa, libere interpretazioni.....perchè in altre discipline tutto questo non avviene?

    tho, guarda chi si rivede. La confusione
     
    Top
    .
  9.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    2,939
    Reputation
    +187

    Status
    Offline
    Diciamo meglio, per cortesia, e senza errori di copiatura:

    il "coacervo"

    jpg
     
    Top
    .
  10.     +1   -1
     
    .
    Avatar

    Member

    Group
    Member
    Posts
    443
    Reputation
    +27

    Status
    Offline
    Confermo che il beta indicato da reversi è quello solitamente utilizzato in testi italiani, ma in molti testi internzionali beta è l'inclinazione del pendio.
    Dal Bowles:
    snap20130327at162800

    Il bello dello geotecnica è che si parte con delle certezze e si finisce nel marasma totale, forse anche in questo caso si dovrebbero trovare le formulazioni originali degli autori.
     
    Top
    .
  11.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Trovata diversa formula per il coefficiente di spinta attiva secondo Mononobe-Okabe espressa pero con diversa definizione degli angoli, quindi in funzione del coseno

    mononobe

    Anche i nomi degli angoli sono variati rispetto a quelli assunti nella mia funzione. Ho riscritto la mia funzione, duplicando la precedente ed adeguando i nomi degli angoli a quelli definiti in precedenza;

    CODICE
    '----------------------------------
    Public Function KaE(fi As Double, alFa As Double, beta As Double, delta As Double, _
               kh As Double, kv As Double, gammaFi As Double, flag As Integer) As Variant
    'La funzione calcola il coefficiente di spinta attiva per la determinazione della
    ' spinta del terreno in fase sismica applicando i coefficiemti del DM2008
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa: inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' beta= inclinazione del paramento interno del muro rispetto alla verticale
    ' delta= inclinazione della spinta rispetto alla normale al paramento interno (positivo se verso l'alto)
    ' kh, kv =coefficienti sismici orizzontale e verticale
    ' I coefficienti sismici sono presi in valore assoluto, qualunque sia il loro segno in input
    ' gammaFi= coefficiente parziale per il parametri del terreno secondo M1 o M2
    ' se gammaFi in input è nullo allora viene attribuito gammaFi= 1.00 (per evitare errore division by zero)
    ' flag= indicatore del tipo di sisma verticale che assume i seguenti valori
    ' sisma verticale verso il basso: flag=1
    ' sisma verticale verso l'alto: flag=2
    ' se a flag si attribuisce valore diverso da 1 o 2 si assume flag=1 (sisma verticale verso il basso)
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
       KaE = 1E+16
       Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180
    beta = beta * Pi / 180
    delta = delta * Pi / 180
    kh = Abs(kh)
    kv = Abs(kv)


    If kv = 1 Then ' controllo che il denominatore non si annulli
       KaE = 1E+16
       Exit Function
    End If
       
    Select Case flag
       Case Is = 1 'sisma verticale verso il basso
           teta = Atn(kh / (1 + kv))
       Case Is = 2 'sisma verticale verso l'alto
           teta = Atn(kh / (1 - kv))
       Case Else
           teta = Atn(kh / (1 + kv))
    End Select

    K1 = (Cos(fi - beta - teta)) ^ 2
    k2 = Cos(teta) * (Cos(beta)) ^ 2 * Cos(delta + teta + beta)
    k3 = 1
    If alFa <= fi - teta Then
    k3 = (1 + ((Sin(fi + delta) * Sin(fi - alFa - teta)) / _
        (Cos(delta + beta + teta) * Cos(alFa - beta))) ^ 0.5) ^ 2
    End If

    KaE = K1 / (k2 * k3)

    End Function


    LA differenza sta nella definizione dell'angolo beta.
    Nella mia funzione originaria beta era definito come l'angolo formato tra il paramento del muro (positivo dal piede verso la sommità) e l'orizzontale (condotta dallo spigolo in basso del paramento e positiva verso valle). L'angolo è misurato ruotando il paramento in senso antiorario fino a sovrapporsi con l'orizzontale.
    In questa nuova funzione l'angolo beta è definito come l'angolo formato tra la verticale condotta dal piede del paramento interno e positiva verso l'alto ed il paramento (positivo dal piede verso la sommità).

    Ho quindi utilizzato le due funzioni per una stessa configurazione ottenendo uguali risultati in tutti i casi esaminati.

    Edited by afazio - 29/3/2013, 20:18
     
    Top
    .
  12.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Ecco la formula di Mononobe-Okabe riportata dal Das con lo schema

    mononobeokabe

    Salvo il diverso nome degli angoli (che a mio parere non hanno nulla di convenzione universale) nella sostanza la formula è uguale a quella riportata nell'immagine del precedente commento ed, ovviamente, da gli stessi risultati forniti dalla mie due funzioni precedenti.
     
    Top
    .
  13.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    Ecco l'immagine del coefficiente di spinta attiva generalizzato di Rankine

    rankineattivageneralizz

    Con l'immagine che segue voglio mostrare che lo stesso Das in altro suo libro definisce gli angoli in maniera diversa praticamente coincidenti con la definizione che avevo assunto io nella versione originaria della mia funzione.
    Da questo ne deriva che non esiste alcuna convenzione universale e che le formule col seno hanno stessa dignita delle formule col coseno.

    universalb
     
    Top
    .
  14.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Member
    Posts
    3,345
    Reputation
    +213

    Status
    Offline
    ho generalizzato la funzione che fornisce il coefficiente di spinta passiva di rankine nel caso statico anche al caso di paramento del muro inclinato SULLA VERTICALE.
    se l'angolo di inclinazione beta=0 questa funzione restituisce lo stesso valore della funzione prima postata da afazio (ho verificato con excel - formule di foglio - ma non sono capace di farlo con le funzioni, quindi qualcuno di buona volontà lo faccia per me).

    ancora: normalmente non scrivo codice, quindi vi chiedo di verificare quello che ho scritto (soprattutto la parola chiave Asin).

    CODICE
    Public Function Kp(fi As Double, alFa As Double, beta As Double, gammaFi As Double) As Variant
    ' La funzione calcola il coefficiente di spinta passiva in condizioni statiche
    ' Il coefficiente di spinta passiva viene calcolato secondo la formula di Rankine
    ' in quanto la teoria di Coulomb, trascurando la curvatura della superficie critica,
    ' dà valori in eccesso per valori dell'angolo di attrito terra-muro superiori a 0.25fi
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa= inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' beta= inclinazione del paramento interno rispetto alla verticale
    ' gammaFi= coefficiente parziale per i parametri del terreno secondo M1 o M2
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
      Kp = 0
      Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180
    beta = beta * Pi / 180

    psi = alFa - 2 * beta + Asin(sin(alFa)/sin(fi))

    Kp = Cos(alFa - beta) * ((1 + (Sin(fi)) ^ 2 - 2 * Sin(fi) * Cos(psi)) ^ 0.5) / _
       ((Cos(beta)) ^ 2 * (Cos(alFa) - ((Sin(fi)) ^ 2 - (Sin(alFa)) ^ 2) ^ 0.5))

    End Function
     
    Top
    .
  15.     +1   -1
     
    .
    Avatar

    Advanced Member

    Group
    Administrator
    Posts
    8,163
    Reputation
    +294

    Status
    Offline
    CITAZIONE (reversi @ 2/4/2013, 17:56) 
    ho generalizzato la funzione che fornisce il coefficiente di spinta passiva di rankine nel caso statico anche al caso di paramento del muro inclinato SULLA VERTICALE.
    se l'angolo di inclinazione beta=0 questa funzione restituisce lo stesso valore della funzione prima postata da afazio (ho verificato con excel - formule di foglio - ma non sono capace di farlo con le funzioni, quindi qualcuno di buona volontà lo faccia per me).

    ancora: normalmente non scrivo codice, quindi vi chiedo di verificare quello che ho scritto (soprattutto la parola chiave Asin).

    CODICE
    Public Function Kp(fi As Double, alFa As Double, beta As Double, gammaFi As Double) As Variant
    ' La funzione calcola il coefficiente di spinta passiva in condizioni statiche
    ' Il coefficiente di spinta passiva viene calcolato secondo la formula di Rankine
    ' in quanto la teoria di Coulomb, trascurando la curvatura della superficie critica,
    ' dà valori in eccesso per valori dell'angolo di attrito terra-muro superiori a 0.25fi
    ' parametri in input:
    ' fi= angolo di attrito interno in gradi
    ' alfa= inclinazione del terrapieno rispetto all'orizzontale in gradi
    ' beta= inclinazione del paramento interno rispetto alla verticale
    ' gammaFi= coefficiente parziale per i parametri del terreno secondo M1 o M2
    ' tutti gli angoli in input sono in gradi sessadecimali

    ' un minimo di controlli
    If fi <= 0 Then
      Kp = 0
      Exit Function
    End If
    If gammaFi <= 0 Then gammaFi = 1

    Pi = 4 * Atn(1)
    fi = fi * Pi / 180
    fi = Atn(Tan(fi) / gammaFi)
    alFa = alFa * Pi / 180
    beta = beta * Pi / 180

    psi = alFa - 2 * beta + Asin(sin(alFa)/sin(fi))

    Kp = Cos(alFa - beta) * ((1 + (Sin(fi)) ^ 2 - 2 * Sin(fi) * Cos(psi)) ^ 0.5) / _
       ((Cos(beta)) ^ 2 * (Cos(alFa) - ((Sin(fi)) ^ 2 - (Sin(alFa)) ^ 2) ^ 0.5))

    End Function

    temo che la funziona Asin non funzioni. Dovresti sostituirla con la funzione di foglio:

    WorksheetFunction.Asin()
     
    Top
    .
18 replies since 27/3/2013, 11:16   3999 views
  Share  
.