dsv vorbereitet
This commit is contained in:
parent
6e4bef19cb
commit
7f2b4f5c34
@ -1,6 +1,7 @@
|
||||
# main __init__.py
|
||||
|
||||
from .analysis import *
|
||||
from .functions import *
|
||||
from .helper import *
|
||||
from .io import *
|
||||
from .labtests import *
|
||||
|
1
pytestpavement/functions/__init__.py
Normal file
1
pytestpavement/functions/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from .citt import *
|
10
pytestpavement/functions/citt.py
Normal file
10
pytestpavement/functions/citt.py
Normal file
@ -0,0 +1,10 @@
|
||||
import numpy as np
|
||||
|
||||
|
||||
def stiffness_tp26(T, f, Emax, Emin, phi, z0, z1, T0=20.0):
|
||||
|
||||
alphaT = np.exp(phi * ((1 / (T + 273.15)) - (1 / (T0 + 273.15))))
|
||||
x = np.log(f * alphaT) / np.log(10)
|
||||
E = Emin + (Emax - Emin) / (1 + np.exp(z0 * x + z1))
|
||||
|
||||
return E
|
@ -35,6 +35,8 @@ class DataSineLoad():
|
||||
self._define_units()
|
||||
|
||||
self._calc_hash()
|
||||
|
||||
def fit(self):
|
||||
self._read_data()
|
||||
|
||||
self._standardize_data()
|
||||
|
0
pytestpavement/labtests/dsv.py
Normal file
0
pytestpavement/labtests/dsv.py
Normal file
@ -139,6 +139,15 @@ class ShearTestExtension(ShearTest):
|
||||
def runfit(self):
|
||||
self._fit_data()
|
||||
|
||||
def file_in_db(self):
|
||||
|
||||
n = DynamicShearTestExtension.objects(filehash=self.filehash).count()
|
||||
|
||||
if n > 0:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
def save(self, material1, material2, bounding, meta: dict):
|
||||
|
||||
for i, fit in self.fit.iterrows():
|
||||
@ -178,6 +187,7 @@ class ShearTestExtension(ShearTest):
|
||||
values[f'fit_phase_{col}'] = fit[f'fit_phase_{col}']
|
||||
values[f'fit_offset_{col}'] = fit[f'fit_offset_{col}']
|
||||
values[f'fit_slope_{col}'] = fit[f'fit_slope_{col}']
|
||||
values[f'r2_{col}'] = fit[f'r2_{col}']
|
||||
|
||||
values.update(meta)
|
||||
|
||||
@ -574,6 +584,12 @@ class ShearTestExtensionTUDresdenGeosys(ShearTestExtension):
|
||||
]:
|
||||
self.data[col] = self.data[col].mul(self.unit_S)
|
||||
|
||||
#convert internal units to global
|
||||
f = np.mean([0.9 / 355, 0.6 / 234.0, 0.3 / 116.0])
|
||||
|
||||
self.data['sigma_normal'] = self.data['sigma_normal'].mul(f).apply(
|
||||
lambda x: np.round(x, 1))
|
||||
|
||||
return True
|
||||
|
||||
def _read_data(self):
|
||||
|
@ -27,7 +27,7 @@ class Asphalt(Material):
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
|
||||
young_modulus = FloatField()
|
||||
young_modulus = DictField()
|
||||
|
||||
|
||||
class Bitumen(Material):
|
||||
@ -35,14 +35,14 @@ class Bitumen(Material):
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
|
||||
young_modulus = FloatField()
|
||||
young_modulus = DictField()
|
||||
|
||||
|
||||
class Epoxy(Material):
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
|
||||
young_modulus = FloatField()
|
||||
young_modulus = DictField()
|
||||
|
||||
|
||||
class Dummy(Material):
|
||||
@ -50,4 +50,4 @@ class Dummy(Material):
|
||||
name = StringField()
|
||||
material = StringField()
|
||||
|
||||
young_modulus = FloatField()
|
||||
young_modulus = DictField()
|
||||
|
@ -13,6 +13,8 @@ class DynamicShearTest(Document):
|
||||
"step": "60"
|
||||
}})
|
||||
|
||||
tags = ListField(StringField())
|
||||
|
||||
standard = StringField(default='TP Asphalt Teil 24')
|
||||
|
||||
lab = StringField(default='TU Dresden', required=True)
|
||||
@ -20,6 +22,7 @@ class DynamicShearTest(Document):
|
||||
machine = StringField(default=None)
|
||||
|
||||
filehash = StringField(required=True)
|
||||
speciment_name = StringField()
|
||||
|
||||
project = StringField(required=True)
|
||||
workpackage = StringField()
|
||||
@ -82,3 +85,8 @@ class DynamicShearTestExtension(DynamicShearTest):
|
||||
fit_offset_s_vert_sum = FloatField()
|
||||
fit_slope_s_vert_sum = FloatField()
|
||||
r2_s_vert_sum = FloatField()
|
||||
## r2
|
||||
r2_F = FloatField()
|
||||
r2_s_vert_1 = FloatField()
|
||||
r2_s_vert_2 = FloatField()
|
||||
r2_s_vert_sum = FloatField()
|
||||
|
Loading…
Reference in New Issue
Block a user