-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathreport_output.py
More file actions
44 lines (38 loc) · 1.71 KB
/
report_output.py
File metadata and controls
44 lines (38 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import math
import pandas as pd
def report_crack(length,breadth,time,material,max_load,min_load):
file = pd.read_csv('./material.csv')
C = file[(file['material']== material)&(file['time']==time)]['C'].values
m = file[(file['material']== material)&(file['time']==time)]['m'].values
N = file[(file['material']== material)&(file['time']==time)]['cycles'].values
# print(N)
if(length == 0 and breadth== 0):
output = 'Not cracked'
crack_length = 0
num_cycles = 'No problem with the sample'
else:
output = 'cracked'
crack_length = math.sqrt(length**2+breadth**2)
cycles = (crack_length*(10**-3))/(C*((max_load - min_load)**m))
# print(cycles)
if(cycles[0] > N[0]):
num_cycles = 'Cracks due to excessive fatigue (Usage based) '
else:
num_cycles = 'manufacturing defect'
return crack_length,output,num_cycles, cycles[0]
# print(crack_length,output,num_cycles)
return crack_length,output,num_cycles, -1
# def report_no_crack(length,breadth,time,material,max_load,min_load):
# if(length == None and breadth == None):
# output = 'Not cracked'
# file = pd.read_csv('./material.csv')
# C_constant = file[(file['material']== material)&(file['time']==time)]['C']
# m = file[(file['material']== material)&(file['time']==time)]['m']
# N = file[(file['material']== material)&(file['time']==time)]['cycles']
# cycles = crack_length/(C*((max_load - min_load)*(10**5))**m)
# if(cycles > N):
# num_cycles = 'perform maintanence'
# else:
# num_cycles = 'The sample is okay'
# return crack_length,output,num_cycles
# report_crack(None,None,2,'cast iron',1000,200)