Klassen für Straßenbaubitumen und Gesteinskörnung hinzugefügt
This commit is contained in:
@@ -4,6 +4,7 @@ from .enumeration import *
|
||||
from .infrastructure import *
|
||||
from .material import *
|
||||
from .metrics import *
|
||||
from .norm_specification import *
|
||||
from .project import *
|
||||
from .sheartest import *
|
||||
from .taskmanager import *
|
||||
|
||||
@@ -24,3 +24,27 @@ class ProcessStatusEnum(Enum):
|
||||
ONGOING = 'ongoing'
|
||||
COMPLETED = 'completed'
|
||||
ARCHIVE='archive'
|
||||
|
||||
class RelationalOperatorsEnum(Enum):
|
||||
between = 'between'
|
||||
lt = 'less than or equal to'
|
||||
gt = 'greater than or equal to'
|
||||
|
||||
class BitumenCategoryEnum(Enum):
|
||||
Strassenbau = "Straßenbaubitumen"
|
||||
PmbA = "Elastomermodifizierte Bitumen"
|
||||
PmbB = "Plastomermodifizierte Bitumen"
|
||||
|
||||
|
||||
# Normen
|
||||
|
||||
class NormEnum(Enum):
|
||||
#Bitumen
|
||||
DINEN1426 = "DIN EN 1426"
|
||||
DINEN1427 = "DIN EN 1427"
|
||||
DINEN12607_1 = "DIN EN 12607-1"
|
||||
DINEN12592 = "DIN EN 12592"
|
||||
DINEN12593 = "DIN EN 12593"
|
||||
DINISO2592 = "DIN EN ISO 2592"
|
||||
#Gestein
|
||||
TLGestein2018 = "'TL Gestein-StB 04 (2018)'"
|
||||
@@ -5,6 +5,7 @@ from mongoengine import *
|
||||
|
||||
from .project import Project
|
||||
from .usermanagement import Organisation, User
|
||||
from .norm_specification import DeliveryGrain
|
||||
|
||||
|
||||
class Material(Document):
|
||||
@@ -21,7 +22,7 @@ class Material(Document):
|
||||
project_id = ListField(LazyReferenceField(Project,
|
||||
required=False,
|
||||
reverse_delete_rule=CASCADE),
|
||||
required=True)
|
||||
required=False)
|
||||
|
||||
user_id = LazyReferenceField(User,
|
||||
required=False,
|
||||
@@ -46,6 +47,7 @@ class Material(Document):
|
||||
|
||||
|
||||
class Asphalt(Material):
|
||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
@@ -56,6 +58,7 @@ class Asphalt(Material):
|
||||
|
||||
|
||||
class Bitumen(Material):
|
||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
@@ -64,6 +67,7 @@ class Bitumen(Material):
|
||||
|
||||
|
||||
class Bitumenemulsion(Material):
|
||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
@@ -72,15 +76,29 @@ class Bitumenemulsion(Material):
|
||||
|
||||
|
||||
class Epoxy(Material):
|
||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||
name = StringField()
|
||||
|
||||
material = StringField()
|
||||
|
||||
young_modulus = DictField()
|
||||
|
||||
|
||||
class Kompaktasphalt(Material):
|
||||
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||
name = StringField()
|
||||
|
||||
class Aggregate(Material):
|
||||
|
||||
norm = StringField(required=True, default='TL Gestein-StB')
|
||||
name = StringField(required=True)
|
||||
|
||||
delivery_grain = LazyReferenceField(DeliveryGrain,
|
||||
required=True,
|
||||
reverse_delete_rule=CASCADE) #Lieferkörnung
|
||||
|
||||
supply_source = StringField(required=True) #Bezugsquelle
|
||||
ce_marking = StringField(required=True) #CE Kennzeichen
|
||||
|
||||
class Dummy(Material):
|
||||
|
||||
|
||||
102
src/paveit/datamodels/norm_specification.py
Normal file
102
src/paveit/datamodels/norm_specification.py
Normal file
@@ -0,0 +1,102 @@
|
||||
from mongoengine import *
|
||||
|
||||
from .enumeration import RelationalOperatorsEnum, BitumenCategoryEnum, NormEnum
|
||||
|
||||
class EnumerateBase(Document):
|
||||
|
||||
meta = {
|
||||
'allow_inheritance': True,
|
||||
'index_opts': {},
|
||||
'index_background': True,
|
||||
'index_cls': False,
|
||||
'auto_create_index': True,
|
||||
'collection': 'norm_specification',
|
||||
"db_alias": 'dblabtests',
|
||||
}
|
||||
|
||||
# Gesteine
|
||||
class DeliveryGrain(EnumerateBase):
|
||||
name = StringField()
|
||||
category = StringField()
|
||||
norm = StringField(required=True, default='TL Gestein-StB 04 (2018)')
|
||||
|
||||
# Bitumen
|
||||
class BitumenParameterTLBitumen2013Strassenbaubitumen(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 BitumenParameterLimitsTLBitumen2013Strassenbaubitumen(EnumerateBase):
|
||||
|
||||
penetration_norm = EnumField(NormEnum, default=NormEnum.DINEN1426)
|
||||
penetration_unit = StringField('0.1 mm')
|
||||
penetration_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.between)
|
||||
penetration_max = FloatField(min_value=0, max_value=1000)
|
||||
penetration_min = FloatField(min_value=0, max_value=1000)
|
||||
|
||||
# Erweichungspunkt Ring und Kugel
|
||||
softening_point_norm = EnumField(NormEnum, default=NormEnum.DINEN1427)
|
||||
softening_point_unit = StringField('°C')
|
||||
softening_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.between)
|
||||
softening_point_min = FloatField(min_value=0, max_value=500)
|
||||
softening_point_max = FloatField(min_value=0, max_value=500)
|
||||
|
||||
# Flammpunk
|
||||
flash_point_norm = EnumField(NormEnum, default=NormEnum.DINISO2592)
|
||||
flash_point_unit = StringField('°C')
|
||||
flash_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.gt)
|
||||
flash_point_min = FloatField(min_value=0, max_value=500)
|
||||
|
||||
# Löslichkeit
|
||||
solubility_norm = EnumField(NormEnum, default=NormEnum.DINEN12592)
|
||||
solubility_unit = StringField('%')
|
||||
solubility_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.gt)
|
||||
solubility_min = FloatField(default=99.0, min_value=0, max_value=100)
|
||||
|
||||
# Brechpunkt nach Fraaß
|
||||
fraass_breaking_point_norm = EnumField(NormEnum, default=NormEnum.DINEN12593)
|
||||
fraass_breaking_point_unit = StringField('°C')
|
||||
fraass_breaking_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.lt)
|
||||
fraass_breaking_point_max = FloatField(min_value=-100, max_value=100)
|
||||
|
||||
# Beständigkeit gegen Verhärtung unter Einfluss von Wärme und Luft
|
||||
## verbleibende Penetration
|
||||
hardening_resistance_penetration_norm = EnumField(NormEnum, default=NormEnum.DINEN1426)
|
||||
hardening_resistance_penetration_unit = StringField('%')
|
||||
hardening_resistance_penetration_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.gt)
|
||||
hardening_resistance_penetration_min = FloatField(min_value=0, max_value=100)
|
||||
|
||||
## Zunahme des Erweichungspunktes Ring und Kugel
|
||||
hardening_resistance_softening_point_norm = EnumField(NormEnum, default=NormEnum.DINEN1427)
|
||||
hardening_resistance_softening_point_unit = StringField('°C')
|
||||
hardening_resistance_softening_point_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.lt)
|
||||
hardening_resistance_softening_point_max = FloatField(min_value=0, max_value=100)
|
||||
|
||||
## Massenänderung
|
||||
hardening_resistance_masschange_norm = EnumField(NormEnum, default=NormEnum.DINEN12607_1)
|
||||
hardening_resistance_masschange_unit = StringField('%')
|
||||
hardening_resistance_masschange_operator = EnumField(RelationalOperatorsEnum, default=RelationalOperatorsEnum.lt)
|
||||
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()
|
||||
category = StringField()
|
||||
norm = StringField(required=False, default='TL Gestein-StB 04 (2018)')
|
||||
Reference in New Issue
Block a user