Class YoungsModulusRegression

java.lang.Object
de.tu_bs.isbs.util.physics.materials.YoungsModulusRegression
All Implemented Interfaces:
YoungsModulus

public class YoungsModulusRegression
extends java.lang.Object
implements YoungsModulus
Temperaturabhängiger E-Modul berechnet anhand von Regressionsparametern.

Die Berechnung erfolgt nach "AL Sp-Asphalt 09" (Abschnitt 5.5).

Dort ist eine Sonderbehandlung vorgesehen, um zu geringe oder sogar negative Werte für hohe Temperaturen zu vermeiden (5.5.2, Gl. 15). Das Kriterium, wann diese Sonderbehandlung anzuwenden ist, versagt in manchen Fällen, so dass für Temperaturen > 50 °C dann dennoch unsinnig kleine oder auch negative E(T) errechnet werden können.

Genauer: AL Sp-Asphalt 09 schlägt einen Minimalen E-Modul vor:

    E_minimum := 0.5 * E(35 °C)**2 / E(20 °C).

Falls die Sigmoidfunktion für T = 50 °C unter den Wert E_minimum fällt, dann wird folgende Sonderbehandlung angewendet: Verwende die Sigmoidfunktion für T bis 35 °C, für T zwischen 35 °C und 50 °C interpoliere linear zwischen den Werten E(35°C) und E_minimum.

Anmerkung: AL Sp-Asphalt 09 lässt offen, wie für T > 50 °C zu verfahren ist (vermutlich, weil solche Temperaturen bei der Dimensionierung nicht erwartet werden). In dieser Implementierung wird in diesem Fall mit E(T > 50 °C) = E_minimum gerechnet.

Versagen des Kriteriums:Es kann vorkommen, dass zwar E(50 °C) > E_minimum gilt, die Sonderbehandlung demnach also nicht anzuwenden wäre, jedoch für wenige Grad höhere Temperaturen der E-Modul dann bereits unter E_minimum fällt und ggf. sogar negativ wird.

Abhilfe: Da es offenbar im Sinne von AL Sp Asphalt ist, E_minimum (Gl. 15) nicht zu unterschreiten, wird in der vorliegenden Implementierung zusätzlich zur vorgesehenen Sonderbehandlung grundsätzlich max(E_minimum, E(T)) zurückgeliefert. Von dieser Abweichung zur Berechnung nach AL SP Asphalt 09 sind höchstens Werte für Temperaturen T > 50 °C betroffen. Unterhalb von 50 °C ergeben sich keine Unterschiede.


 Beispielparameter, bei denen das Kriterium aus AL Sp Asphalt 09 versagt:

                 y0      x0      w       z     f  T0    m
 Beispiel 1  -560.512  7.400  29590.0  3.787  10  20  25000
 Beispiel 2 -1079.240  5.281  33338.5  3.653  10  20  25000

 
Insgesamt rechnet diese Implementierung also wie folgt:

Falls S(50 °C) ≥ E_minimum, dann E(T) := max(S(T), E_minimum).
Falls S(50 °C) < E_minimum, dann

E(T) = S(T) für T < 35 °C,
E(T) = S(35 °C) + u * (T - 35 °C) für 35 °C ≤ T < 50 °C.
E(T) = E_minimum für 50 °C < T,

mit S(T) := Sigmoidfunktion(T), u := (E_minimum - S(35 °C)) / 15 °C.

Weitere Bemerkungen: Es wird vorausgesetzt, dass die eingegebenen Parameter eine sinnvolle Berechnung von E_minimum gestatten. Insbesondere sollte für die Sigmoidfunktion E(20 °C) > E(35 °C) > 0 gelten. Entsprechende Prüfungen der Parameter werden nicht durchgeführt, sondern liegen in der Verantwortung des Nutzers.

Author:
Stefan Reiser
  • Field Summary

    Fields 
    Modifier and Type Field Description
    double f  
    double m  
    double T0  
    double w  
    double x0  
    double y0  
    double z  
  • Method Summary

    Modifier and Type Method Description
    static YoungsModulusRegression create​(double y0, double x0, double w, double z, double f, double T0, double m)
    Factory-Methode.
    static YoungsModulus create​(java.util.Map<java.lang.String,​java.lang.Double> map)
    Factory-Methode.
    double getValue​(double temperature_degC)  
    boolean is_ALSpAsphalt09_specialCase()
    Gibt an, ob Sonderbehandlung für große T durchgeführt wird.
    boolean isClipped()
    Gibt an, ob für T gegen unendlich ein Clipping durchgeführt wird, weil sonst E(inf.) kleiner als E_minimum wäre.
    static void main​(java.lang.String[] args)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait