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 .infrastructure import *
|
||||||
from .material import *
|
from .material import *
|
||||||
from .metrics import *
|
from .metrics import *
|
||||||
|
from .norm_specification import *
|
||||||
from .project import *
|
from .project import *
|
||||||
from .sheartest import *
|
from .sheartest import *
|
||||||
from .taskmanager import *
|
from .taskmanager import *
|
||||||
|
|||||||
@@ -24,3 +24,27 @@ class ProcessStatusEnum(Enum):
|
|||||||
ONGOING = 'ongoing'
|
ONGOING = 'ongoing'
|
||||||
COMPLETED = 'completed'
|
COMPLETED = 'completed'
|
||||||
ARCHIVE='archive'
|
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 .project import Project
|
||||||
from .usermanagement import Organisation, User
|
from .usermanagement import Organisation, User
|
||||||
|
from .norm_specification import DeliveryGrain
|
||||||
|
|
||||||
|
|
||||||
class Material(Document):
|
class Material(Document):
|
||||||
@@ -21,7 +22,7 @@ class Material(Document):
|
|||||||
project_id = ListField(LazyReferenceField(Project,
|
project_id = ListField(LazyReferenceField(Project,
|
||||||
required=False,
|
required=False,
|
||||||
reverse_delete_rule=CASCADE),
|
reverse_delete_rule=CASCADE),
|
||||||
required=True)
|
required=False)
|
||||||
|
|
||||||
user_id = LazyReferenceField(User,
|
user_id = LazyReferenceField(User,
|
||||||
required=False,
|
required=False,
|
||||||
@@ -46,6 +47,7 @@ class Material(Document):
|
|||||||
|
|
||||||
|
|
||||||
class Asphalt(Material):
|
class Asphalt(Material):
|
||||||
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
|
|
||||||
name = StringField()
|
name = StringField()
|
||||||
material = StringField()
|
material = StringField()
|
||||||
@@ -56,6 +58,7 @@ class Asphalt(Material):
|
|||||||
|
|
||||||
|
|
||||||
class Bitumen(Material):
|
class Bitumen(Material):
|
||||||
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
|
|
||||||
name = StringField()
|
name = StringField()
|
||||||
material = StringField()
|
material = StringField()
|
||||||
@@ -64,6 +67,7 @@ class Bitumen(Material):
|
|||||||
|
|
||||||
|
|
||||||
class Bitumenemulsion(Material):
|
class Bitumenemulsion(Material):
|
||||||
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
|
|
||||||
name = StringField()
|
name = StringField()
|
||||||
material = StringField()
|
material = StringField()
|
||||||
@@ -72,15 +76,29 @@ class Bitumenemulsion(Material):
|
|||||||
|
|
||||||
|
|
||||||
class Epoxy(Material):
|
class Epoxy(Material):
|
||||||
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
name = StringField()
|
name = StringField()
|
||||||
|
|
||||||
material = StringField()
|
material = StringField()
|
||||||
|
|
||||||
young_modulus = DictField()
|
young_modulus = DictField()
|
||||||
|
|
||||||
|
|
||||||
class Kompaktasphalt(Material):
|
class Kompaktasphalt(Material):
|
||||||
|
norm = StringField(required=False, default='TP Asphalt Teil 24')
|
||||||
name = StringField()
|
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):
|
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