Files
lib-paveit-demo/src/paveit/datamodels/data.py

87 lines
2.6 KiB
Python
Executable File

import datetime
from mongoengine import *
from .citt import CyclicIndirectTensileTest
from .sheartest import DynamicShearTest
class RawSinData(Document):
date = DateTimeField(default=datetime.datetime.now,
wtf_options={"render_kw": {
"step": "60"
}})
time = ListField(FloatField())
F = ListField(FloatField())
N = ListField(IntField())
meta = {
'allow_inheritance': True,
'index_opts': {},
'index_background': True,
'index_cls': False,
'auto_create_index': True,
'collection': 'RawSinData',
"db_alias": 'dblabtests',
}
class RawData(Document):
date = DateTimeField(default=datetime.datetime.now,
wtf_options={"render_kw": {
"step": "60"
}})
meta = {
'allow_inheritance': True,
'index_opts': {},
'index_background': True,
'index_cls': False,
'auto_create_index': True,
'collection': 'RawSinData',
"db_alias": 'dblabtests',
}
class DataSheartest(RawSinData):
#results
result = LazyReferenceField(DynamicShearTest,
required=True,
reverse_delete_rule=CASCADE)
# data
s_vert_1 = ListField(FloatField())
s_vert_2 = ListField(FloatField())
s_piston = ListField(FloatField(), required=False)
s_hor_1 = ListField(FloatField(), required=False)
s_hor_2 = ListField(FloatField(), required=False)
class CITTSiffness(RawSinData):
result = LazyReferenceField(CyclicIndirectTensileTest,
required=True,
reverse_delete_rule=CASCADE)
# data
s_hor_1 = ListField(FloatField())
s_hor_2 = ListField(FloatField())
s_hor_sum = ListField(FloatField())
s_piston = ListField(FloatField(), required=False)
# Single Data Points
class BitumenParameterStrassenbaubitumen(RawData):
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)