diff --git a/src/paveit/datamodels/material.py b/src/paveit/datamodels/material.py index 9d3b4a8..e2e705c 100755 --- a/src/paveit/datamodels/material.py +++ b/src/paveit/datamodels/material.py @@ -6,6 +6,8 @@ from mongoengine import * from .project import Project from .usermanagement import Organisation, User from .norm_specification import DeliveryGrain +from .enumeration import BitumenCategoryEnum, NormEnum + class Material(Document): @@ -56,14 +58,28 @@ class Asphalt(Material): young_modulus = DictField() fatigue = DictField() +# Bitumen + +class BitumenParameterStrassenbaubitumen(EnumerateBase): + + penetration = FloatField(min_value=0, max_value=1000) + softening_point = FloatField(min_value=0, max_value =500) + flash_point = FloatField(min_value=0, max_value=500) + solubility = FloatField(default=99.0, min_value=0, max_value=100) + fraass_breaking_point = FloatField(min_value=-100, max_value=100) + hardening_resistance_penetration = FloatField(min_value=0, max_value=100) + hardening_resistance_softening_point= FloatField(min_value=0, max_value=100) + hardening_resistance_masschange = FloatField(min_value=0, max_value=100) class Bitumen(Material): - norm = StringField(required=False, default='TP Asphalt Teil 24') - name = StringField() - material = StringField() - - young_modulus = DictField() + + category = EnumField(BitumenCategoryEnum, required=True) + norm = EnumField(NormEnum, default=NormEnum.TLBitumen2019) + + parameter = ReferenceField(EnumerateBase) + limits = LazyReferenceField(EnumerateBase) + class Bitumenemulsion(Material): diff --git a/src/paveit/datamodels/norm_specification.py b/src/paveit/datamodels/norm_specification.py index fa71de4..7beb9ba 100644 --- a/src/paveit/datamodels/norm_specification.py +++ b/src/paveit/datamodels/norm_specification.py @@ -21,18 +21,7 @@ class DeliveryGrain(EnumerateBase): norm = StringField(required=True, default='TL Gestein-StB 04 (2018)') # Bitumen -class BitumenParameterStrassenbaubitumen(EnumerateBase): - - norm = EnumField(NormEnum, default=NormEnum.TLBitumen2019) - - penetration = FloatField(min_value=0, max_value=1000) - softening_point = FloatField(min_value=0, max_value =500) - flash_point = FloatField(min_value=0, max_value=500) - solubility = FloatField(default=99.0, min_value=0, max_value=100) - fraass_breaking_point = FloatField(min_value=-100, max_value=100) - hardening_resistance_penetration = FloatField(min_value=0, max_value=100) - hardening_resistance_softening_point= FloatField(min_value=0, max_value=100) - hardening_resistance_masschange = FloatField(min_value=0, max_value=100) + class BitumenParameterLimitsStrassenbaubitumen(EnumerateBase): @@ -93,15 +82,7 @@ class BitumenParameterLimitsStrassenbaubitumen(EnumerateBase): hardening_resistance_masschange_max = FloatField(min_value=0, max_value=100) -class Bitumen(EnumerateBase): - name = StringField() - - category = EnumField(BitumenCategoryEnum, required=True) - norm = EnumField(NormEnum, required=True) - - parameter = ReferenceField(EnumerateBase) - limits = LazyReferenceField(EnumerateBase) - + # Asphalt class Asphalt(EnumerateBase): name = StringField()