Class YoungsModulusRegression
- All Implemented Interfaces:
YoungsModulus
public class YoungsModulusRegression extends java.lang.Object implements YoungsModulus
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 25000Insgesamt 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.
- Author:
- Stefan Reiser
-
Field Summary
-
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)
-
Field Details
-
Method Details
-
getValue
public final double getValue(double temperature_degC)- Specified by:
getValue
in interfaceYoungsModulus
- Returns:
- E-Modul zu gegebener Temperatur in Grad Celsius
-
is_ALSpAsphalt09_specialCase
public boolean is_ALSpAsphalt09_specialCase()Gibt an, ob Sonderbehandlung für große T durchgeführt wird.- Returns:
- true, falls Sonderbehandlung für T > 35 °C nach AL Sp Asphalt 09 durchgeführt wird, false sonst.
-
isClipped
public 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.- Returns:
- true, falls Clipping für T ab 50 °C oder später stattfindet, false sonst.
-
create
public static YoungsModulus create(java.util.Map<java.lang.String,java.lang.Double> map) throws YoungsModulus_ParameterExceptionFactory-Methode.- Parameters:
map
- Map mit Elementen y0, x0, w, z, f, T0, m.- Returns:
- YoungsModulus
- Throws:
YoungsModulus_ParameterException
-
create
public static YoungsModulusRegression create(double y0, double x0, double w, double z, double f, double T0, double m) throws YoungsModulus_ParameterExceptionFactory-Methode.- Parameters:
y0
-x0
-w
-z
-f
-T0
-m
-- Returns:
- Throws:
YoungsModulus_ParameterException
-
main
- Throws:
YoungsModulus_ParameterException
-