diff --git a/visualisation/50CrMo4_zugdaten.vsz b/visualisation/50CrMo4_zugdaten.vsz new file mode 100644 index 0000000..8f089e0 --- /dev/null +++ b/visualisation/50CrMo4_zugdaten.vsz @@ -0,0 +1,234 @@ +# Veusz saved document (version 3.6.2) +# Saved at 2025-04-06T16:41:16.373686 + +SetCompatLevel(1) +AddImportPath('/home/dme/Documents/Diss/00_Schreiben/Diss/visualisation') +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A10.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A10_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A12.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A12_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A13.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A13_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A14.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A14_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A15.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A15_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A16.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A16_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A1.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A1_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A2.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A2_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A3.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A3_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A4.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A4_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A6.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A6_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A8.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A8_', rowsignore=1) +ImportFileCSV('data/stress_c38/A_Rohzustant_650/A9.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='A9_', rowsignore=1) +ImportFileCSV('data/stress_c38/Martensit/M3.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='M3_', rowsignore=1) +ImportFileCSV('data/stress_c38/Martensit/M5.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='M5_', rowsignore=1) +ImportFileCSV('data/stress_c38/Martensit/M6.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='M6_', rowsignore=1) +ImportFileCSV('data/stress_c38/Martensit/M7.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='M7_', rowsignore=1) +ImportFileCSV('data/stress_c38/Martensit/M8.csv', delimiter=';', headerignore=1, headermode='1st', linked=True, dsprefix='M8_', rowsignore=1) +Set('width', '9cm') +Set('height', '9cm') +Set('colorTheme', 'default-latest') +Set('StyleSheet/Font/font', 'CMU Serif') +Set('StyleSheet/Font/size', '8pt') +Set('StyleSheet/axis/MajorTicks/length', '4pt') +Set('StyleSheet/axis/MinorTicks/length', '2pt') +Set('StyleSheet/axis-function/autoRange', 'next-tick') +Set('StyleSheet/colorbar/autoRange', 'exact') +Set('StyleSheet/graph/leftMargin', '1.cm') +Set('StyleSheet/graph/rightMargin', '0.15cm') +Set('StyleSheet/graph/topMargin', '.15cm') +Set('StyleSheet/graph/bottomMargin', '0.85cm') +Set('StyleSheet/image/colorMap', 'parula') +Set('StyleSheet/key/keyLength', '5mm') +Set('StyleSheet/key/marginSize', 0.5) +Set('StyleSheet/page/width', '7cm') +Set('StyleSheet/page/height', '7cm') +Set('StyleSheet/xy/markerSize', '2.5pt') +Set('StyleSheet/xy/PlotLine/width', '1pt') +Set('StyleSheet/xy/MarkerLine/color', 'auto') +Set('StyleSheet/xy/MarkerFill/color', 'background') +Add('page', name='BASE', autoadd=False) +To('BASE') +Add('graph', name='graph1', autoadd=False) +To('graph1') +Add('axis', name='x', autoadd=False) +To('x') +Set('label', 'Strain [%]') +Set('max', 16.0) +To('..') +Add('axis', name='y', autoadd=False) +To('y') +Set('label', 'Stress [MPa]') +Set('direction', 'vertical') +To('..') +Add('key', name='key1', autoadd=False) +To('key1') +Set('horzPosn', 'right') +Set('vertPosn', 'bottom') +Set('horzManual', 0.0) +Set('vertManual', 0.0) +To('..') +Add('xy', name='xy1', autoadd=False) +To('xy1') +Set('marker', 'none') +Set('xData', 'A3_Dehnung') +Set('yData', 'A3_Standardkraft') +Set('key', '25°C') +To('..') +Add('xy', name='xy2', autoadd=False) +To('xy2') +Set('marker', 'none') +Set('xData', 'A2_Dehnung') +Set('yData', 'A2_Standardkraft') +Set('key', '100°C') +To('..') +Add('xy', name='xy3', autoadd=False) +To('xy3') +Set('marker', 'none') +Set('xData', 'A1_Dehnung') +Set('yData', 'A1_Standardkraft') +Set('key', '400°C') +To('..') +Add('xy', name='xy4', autoadd=False) +To('xy4') +Set('marker', 'none') +Set('xData', 'A4_Dehnung') +Set('yData', 'A4_Standardkraft') +Set('key', '500°C') +To('..') +Add('xy', name='xy5', autoadd=False) +To('xy5') +Set('marker', 'none') +Set('xData', 'A14_Dehnung') +Set('yData', 'A14_Standardkraft') +Set('key', '600°C') +To('..') +Add('xy', name='xy6', autoadd=False) +To('xy6') +Set('marker', 'none') +Set('xData', 'A6_Dehnung') +Set('yData', 'A6_Standardkraft') +Set('key', '700°C') +To('..') +To('..') +To('..') +Add('page', name='AUST', autoadd=False) +To('AUST') +Add('graph', name='graph1', autoadd=False) +To('graph1') +Add('axis', name='x', autoadd=False) +To('x') +Set('label', 'Strain [%]') +To('..') +Add('axis', name='y', autoadd=False) +To('y') +Set('label', 'Stress [MPa]') +Set('direction', 'vertical') +To('..') +Add('key', name='key1', autoadd=False) +To('key1') +Set('horzPosn', 'right') +Set('vertPosn', 'top') +To('..') +Add('xy', name='xy1', autoadd=False) +To('xy1') +Set('marker', 'none') +Set('xData', 'A13_Dehnung') +Set('yData', 'A13_Standardkraft') +Set('key', '600°C') +To('..') +Add('xy', name='xy7', autoadd=False) +To('xy7') +Set('marker', 'none') +Set('xData', 'A16_Dehnung') +Set('yData', 'A16_Standardkraft') +Set('key', '650°C') +To('..') +Add('xy', name='xy2', autoadd=False) +To('xy2') +Set('marker', 'none') +Set('xData', 'A12_Dehnung') +Set('yData', 'A12_Standardkraft') +Set('key', '700°C') +To('..') +Add('xy', name='xy3', autoadd=False) +To('xy3') +Set('marker', 'none') +Set('xData', 'A8_Dehnung') +Set('yData', 'A8_Standardkraft') +Set('key', '800°C') +To('..') +Add('xy', name='xy4', autoadd=False) +To('xy4') +Set('marker', 'none') +Set('xData', 'A15_Dehnung') +Set('yData', 'A15_Standardkraft') +Set('key', '900°C') +To('..') +Add('xy', name='xy5', autoadd=False) +To('xy5') +Set('marker', 'none') +Set('xData', 'A9_Dehnung') +Set('yData', 'A9_Standardkraft') +Set('key', '1000°C') +To('..') +Add('xy', name='xy6', autoadd=False) +To('xy6') +Set('marker', 'none') +Set('xData', 'A10_Dehnung') +Set('yData', 'A10_Standardkraft') +Set('key', '1100°C') +To('..') +To('..') +To('..') +Add('page', name='MART', autoadd=False) +To('MART') +Add('graph', name='graph1', autoadd=False) +To('graph1') +Add('axis', name='x', autoadd=False) +To('x') +Set('label', 'Strain [%]') +To('..') +Add('axis', name='y', autoadd=False) +To('y') +Set('label', 'Stress [MPa]') +Set('max', 2200.0) +Set('direction', 'vertical') +To('..') +Add('key', name='key1', autoadd=False) +To('key1') +Set('vertPosn', 'bottom') +To('..') +Add('xy', name='xy1', autoadd=False) +To('xy1') +Set('marker', 'none') +Set('xData', 'M8_Dehnung') +Set('yData', 'M8_Standardkraft') +Set('key', '26°C') +To('..') +Add('xy', name='xy2', autoadd=False) +To('xy2') +Set('marker', 'none') +Set('xData', 'M7_Dehnung') +Set('yData', 'M7_Standardkraft') +Set('key', '100°C') +To('..') +Add('xy', name='xy3', autoadd=False) +To('xy3') +Set('marker', 'none') +Set('xData', 'M6_Dehnung') +Set('yData', 'M6_Standardkraft') +Set('key', '200°C') +To('..') +Add('xy', name='xy4', autoadd=False) +To('xy4') +Set('marker', 'none') +Set('xData', 'M5_Dehnung') +Set('yData', 'M5_Standardkraft') +Set('key', '300°C') +To('..') +Add('xy', name='xy5', autoadd=False) +To('xy5') +Set('marker', 'none') +Set('xData', 'M3_Dehnung') +Set('yData', 'M3_Standardkraft') +Set('key', '350°C') +To('..') +To('..') +To('..') diff --git a/visualisation/Labridisbilder.vsz b/visualisation/Labridisbilder.vsz new file mode 100644 index 0000000..aeb94b1 --- /dev/null +++ b/visualisation/Labridisbilder.vsz @@ -0,0 +1,1088 @@ +# Veusz saved document (version 3.2.1) +# Saved at 2022-04-06T11:12:17.092244 + +AddImportPath(u'D:\\1_Projekte\\0_DISS\\00_Schreiben\\Diss\\latex\\Abbildungen') +Set('colorTheme', u'default-latest') +Set('StyleSheet/axis/autoMirror', False) +Set('StyleSheet/axis-function/autoRange', u'next-tick') +Set('StyleSheet/label/Text/size', u'24pt') +Add('page', name=u'Lab_w1', autoadd=False) +To(u'Lab_w1') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 1.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 1.2) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('line', name=u'border_max', autoadd=False) +To(u'border_max') +Set('xPos', [0.798]) +Set('yPos', [0.82]) +Set('length', [0.82]) +Set('angle', [90.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'border_min', autoadd=False) +To(u'border_min') +Set('xPos', [0.101]) +Set('yPos', [0.45]) +Set('length', [0.45]) +Set('angle', [90.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'line1', autoadd=False) +To(u'line1') +Set('xPos', [-0.0]) +Set('yPos', [0.45]) +Set('length', [0.1]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('line', name=u'line3', autoadd=False) +To(u'line3') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.82]) +Set('length', [0.8]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'bmin', autoadd=False) +To(u'bmin') +Set('label', u'B_min') +Set('xPos', [-0.102]) +Set('yPos', [0.422]) +To('..') +Add('label', name=u'bmax', autoadd=False) +To(u'bmax') +Set('label', u'B_max') +Set('xPos', [-0.107]) +Set('yPos', [0.797]) +To('..') +Add('line', name=u'line4', autoadd=False) +To(u'line4') +Set('xPos', [0.1]) +Set('yPos', [0.82]) +Set('length', [0.82]) +Set('angle', [90.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'w1', autoadd=False) +To(u'w1') +Set('label', u'w_1') +Set('xPos', [0.411]) +Set('yPos', [0.362]) +Set('Background/hide', True) +Set('Border/hide', True) +To('..') +Add('rect', name=u'rect1', autoadd=False) +To(u'rect1') +Set('xPos', [0.44287368879727007]) +Set('yPos', [0.3786065886941988]) +Set('width', [0.1]) +Set('height', [0.1]) +Set('rotate', [0.0]) +Set('Fill/hide', False) +Set('Border/hide', True) +To('..') +Add('function', name=u'function2', autoadd=False) +To(u'function2') +Set('function', u'arctan(x*10)/arctan(10)') +Set('min', 0.1) +Set('max', 0.8) +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'solid') +Set('FillBelow/style', u'backward diagonals') +Set('FillBelow/hide', False) +To('..') +Add('function', name=u'function1', autoadd=False) +To(u'function1') +Set('function', u'arctan(x*10)/arctan(10)') +Set('Line/color', u'foreground') +Set('Line/style', u'dash4') +To('..') +Add('label', name=u'H_min', autoadd=False) +To(u'H_min') +Set('label', u'H^f_min') +Set('xPos', [0.051]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'H_max', autoadd=False) +To(u'H_max') +Set('label', u'H^f_max') +Set('xPos', [0.74]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +To('..') +To('..') +Add('page', name=u'Lab_w2', autoadd=False) +To(u'Lab_w2') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 1.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 1.2) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('line', name=u'border_max', autoadd=False) +To(u'border_max') +Set('xPos', [0.798]) +Set('yPos', [0.82]) +Set('length', [0.82]) +Set('angle', [90.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'border_min', autoadd=False) +To(u'border_min') +Set('xPos', [0.101]) +Set('yPos', [0.45]) +Set('length', [0.45]) +Set('angle', [90.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'line1', autoadd=False) +To(u'line1') +Set('xPos', [-0.0]) +Set('yPos', [0.45]) +Set('length', [0.1]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('line', name=u'line3', autoadd=False) +To(u'line3') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.82]) +Set('length', [0.8]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'bmin', autoadd=False) +To(u'bmin') +Set('label', u'B_min') +Set('xPos', [-0.102]) +Set('yPos', [0.422]) +To('..') +Add('label', name=u'bmax', autoadd=False) +To(u'bmax') +Set('label', u'B_max') +Set('xPos', [-0.107]) +Set('yPos', [0.797]) +To('..') +Add('line', name=u'line4', autoadd=False) +To(u'line4') +Set('xPos', [0.1]) +Set('yPos', [0.82]) +Set('length', [0.82]) +Set('angle', [90.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'w1', autoadd=False) +To(u'w1') +Set('label', u'w_2') +Set('xPos', [0.414]) +Set('yPos', [0.29]) +Set('Background/hide', True) +Set('Border/hide', True) +To('..') +Add('rect', name=u'rect1', autoadd=False) +To(u'rect1') +Set('xPos', [0.4457300043574066]) +Set('yPos', [0.30148606857051335]) +Set('width', [0.1]) +Set('height', [0.1]) +Set('rotate', [0.0]) +Set('Fill/hide', False) +Set('Border/hide', True) +To('..') +Add('function', name=u'function2', autoadd=False) +To(u'function2') +Set('function', u'(arctan(1)+ (arctan(8)-arctan(1))*(x-0.1)/0.7 )/arctan(10)') +Set('xAxis', u'x') +Set('min', 0.1) +Set('max', 0.8) +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'solid') +Set('FillBelow/style', u'backward diagonals') +Set('FillBelow/hide', False) +To('..') +Add('function', name=u'function1', autoadd=False) +To(u'function1') +Set('function', u'arctan(x*10)/arctan(10)') +Set('Line/color', u'foreground') +Set('Line/style', u'dash4') +To('..') +Add('label', name=u'H_min', autoadd=False) +To(u'H_min') +Set('label', u'H^f_min') +Set('xPos', [0.051]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'H_max', autoadd=False) +To(u'H_max') +Set('label', u'H^f_max') +Set('xPos', [0.74]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +To('..') +To('..') +Add('page', name=u'Lab_murf', autoadd=False) +To(u'Lab_murf') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('Background/hide', False) +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 1.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 1.2) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('line', name=u'border_max', autoadd=False) +To(u'border_max') +Set('xPos', [0.798]) +Set('yPos', [0.895]) +Set('length', [0.895]) +Set('angle', [90.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'border_min', autoadd=False) +To(u'border_min') +Set('xPos', [0.101]) +Set('yPos', [0.115]) +Set('length', [0.115]) +Set('angle', [90.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'line1', autoadd=False) +To(u'line1') +Set('xPos', [-0.0]) +Set('yPos', [0.115]) +Set('length', [0.1]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('line', name=u'line3', autoadd=False) +To(u'line3') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.895]) +Set('length', [0.8]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'bmin', autoadd=False) +To(u'bmin') +Set('label', u'B^f_min') +Set('xPos', [-0.104]) +Set('yPos', [0.1]) +To('..') +Add('label', name=u'bmax', autoadd=False) +To(u'bmax') +Set('label', u'B^f_max') +Set('xPos', [-0.109]) +Set('yPos', [0.86]) +To('..') +Add('line', name=u'line4', autoadd=False) +To(u'line4') +Set('xPos', [0.1]) +Set('yPos', [0.895]) +Set('length', [0.895]) +Set('angle', [90.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'w1', autoadd=False) +To(u'w1') +Set('label', u'\\frac{w_{1}+ w_{2}}{2}') +Set('xPos', [0.39]) +Set('yPos', [0.155]) +Set('Text/size', u'52') +Set('Background/hide', True) +Set('Border/hide', True) +To('..') +Add('rect', name=u'rect1', autoadd=False) +To(u'rect1') +Set('xPos', [0.4942032868001548]) +Set('yPos', [0.21968740444837587]) +Set('width', [0.26965648854961805]) +Set('height', [0.19492684478371478]) +Set('rotate', [0.0]) +Set('Fill/hide', False) +Set('Border/hide', True) +To('..') +Add('function', name=u'function2', autoadd=False) +To(u'function2') +Set('function', u'x*1.35') +Set('xAxis', u'x') +Set('min', 0.1) +Set('max', 0.8) +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'solid') +Set('FillBelow/style', u'backward diagonals') +Set('FillBelow/hide', False) +To('..') +Add('function', name=u'function1', autoadd=False) +To(u'function1') +Set('function', u'arctan(x*10)/2.1') +Set('Line/color', u'foreground') +Set('Line/style', u'dash4') +To('..') +Add('function', name=u'function3', autoadd=False) +To(u'function3') +Set('function', u'x*1.35') +Set('xAxis', u'x') +Set('min', 0.0) +Set('max', 1.0) +Set('Line/color', u'foreground') +Set('Line/width', u'0.5pt') +Set('Line/style', u'dash3') +Set('FillBelow/style', u'backward diagonals') +Set('FillBelow/hide', True) +To('..') +Add('label', name=u'H_min', autoadd=False) +To(u'H_min') +Set('label', u'H^f_min') +Set('xPos', [0.051]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'H_max', autoadd=False) +To(u'H_max') +Set('label', u'H^f_max') +Set('xPos', [0.74]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +Add('label', name=u'label1', autoadd=False) +To(u'label1') +Set('label', u'\\mu_r^f') +Set('xPos', [0.552]) +Set('yPos', [0.729]) +To('..') +Add('line', name=u'line2', autoadd=False) +To(u'line2') +Set('xPos', [0.617]) +Set('yPos', [0.808]) +Set('length', [0.1]) +Set('angle', [0.0]) +To('..') +Add('line', name=u'line5', autoadd=False) +To(u'line5') +Set('xPos', [0.617]) +Set('yPos', [0.808]) +Set('length', [0.115]) +Set('angle', [90.0]) +To('..') +Add('label', name=u'label2', autoadd=False) +To(u'label2') +Set('label', u'1') +Set('xPos', [0.641]) +Set('yPos', [0.817]) +To('..') +To('..') +To('..') +Add('page', name=u'Lab_Babs', autoadd=False) +To(u'Lab_Babs') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('leftMargin', u'1cm') +Set('rightMargin', u'1cm') +Set('topMargin', u'0.2cm') +Set('bottomMargin', u'1.7cm') +Set('Border/width', u'1pt') +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('outerticks', True) +Set('TickLabels/hide', True) +Set('MajorTicks/width', u'1pt') +Set('MajorTicks/hide', False) +Set('MajorTicks/number', 3) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('function', name=u'function1', autoadd=False) +To(u'function1') +Set('function', u'sqrt(2*cos(x*(pi))**2)') +Set('steps', 51) +Set('key', u'\\phi_{1} - \\phi_{2} = 0') +Set('Line/width', u'1.5pt') +To('..') +Add('function', name=u'function2', autoadd=False) +To(u'function2') +Set('function', u'sqrt(cos((x-0.2)*(pi))**2 + cos((x+0.2)*(pi))**2 )') +Set('key', u'\\phi_{1} - \\phi_{2} = 0.4 \\omega') +Set('Line/width', u'1.5pt') +To('..') +Add('label', name=u'label1', autoadd=False) +To(u'label1') +Set('label', u'0') +Set('xPos', [0.0]) +Set('yPos', [-0.03]) +Set('alignHorz', u'centre') +Set('alignVert', u'top') +To('..') +Add('label', name=u'label2', autoadd=False) +To(u'label2') +Set('label', u'P/4') +Set('yPos', [-0.03]) +Set('alignHorz', u'centre') +Set('alignVert', u'top') +To('..') +Add('label', name=u'label3', autoadd=False) +To(u'label3') +Set('label', u'P/2') +Set('xPos', [1.0]) +Set('yPos', [-0.03]) +Set('alignHorz', u'centre') +Set('alignVert', u'top') +To('..') +Add('key', name=u'key1', autoadd=False) +To(u'key1') +Set('Text/size', u'24pt') +Set('Border/hide', True) +Set('horzPosn', u'centre') +Set('vertPosn', u'top') +Set('keyAlign', u'centre') +Set('horzManual', 0.0) +Set('vertManual', 0.0) +Set('symbolswap', False) +To('..') +To('..') +To('..') +Add('page', name=u'vgl_froehlich', autoadd=False) +To(u'vgl_froehlich') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 12000.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 2.0) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('function', name=u'trutt', autoadd=False) +To(u'trutt') +Set('function', u'4e-7*pi*x+ 2/pi *1.607*arctan((pi*1387*4e-7*pi*x)/(2*1.607))') +Set('key', u'ArcTan') +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +To('..') +Add('function', name=u'froehlich', autoadd=False) +To(u'froehlich') +Set('function', u'x/(389.4+0.575*x)') +Set('key', u'Froelich') +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'dashed') +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +Add('key', name=u'key1', autoadd=False) +To(u'key1') +Set('Text/size', u'18pt') +Set('horzPosn', u'right') +Set('vertPosn', u'manual') +Set('vertManual', 0.12) +To('..') +To('..') +To('..') +Add('page', name=u'vgl_froehlich2', autoadd=False) +To(u'vgl_froehlich2') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 120000.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 2.0) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('function', name=u'trutt', autoadd=False) +To(u'trutt') +Set('function', u'4e-7*pi*x+ 2/pi *1.607*arctan((pi*1387*4e-7*pi*x)/(2*1.607))') +Set('steps', 100) +Set('key', u'Arctan') +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +To('..') +Add('function', name=u'froehlich', autoadd=False) +To(u'froehlich') +Set('function', u'x/(389.4+0.575*x)') +Set('steps', 100) +Set('key', u'Froehlich') +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'dashed') +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +Add('key', name=u'key1', autoadd=False) +To(u'key1') +Set('Text/size', u'18pt') +Set('vertPosn', u'manual') +Set('vertManual', 0.12) +To('..') +Add('line', name=u'border_max', autoadd=False) +To(u'border_max') +Set('xPos', [21000.0]) +Set('yPos', [0.0]) +Set('length', [0.84]) +Set('angle', [270.0]) +Set('positioning', u'axes') +Set('Line/width', u'1.5pt') +Set('Line/style', u'dotted') +To('..') +Add('label', name=u'label1', autoadd=False) +To(u'label1') +Set('label', u'H_{sat}') +Set('xPos', [0.13]) +Set('yPos', [-0.075]) +To('..') +To('..') +To('..') +Add('page', name=u'Lab_w1w2', autoadd=False) +To(u'Lab_w1w2') +Set('width', u'32cm') +Add('grid', name=u'grid1', autoadd=False) +To(u'grid1') +Set('rows', 1) +Set('leftMargin', u'0cm') +Set('rightMargin', u'0cm') +Set('topMargin', u'0cm') +Set('bottomMargin', u'0cm') +Set('internalMargin', u'2cm') +Add('graph', name=u'graph1', autoadd=False) +To(u'graph1') +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 1.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 1.2) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('line', name=u'border_max', autoadd=False) +To(u'border_max') +Set('xPos', [0.798]) +Set('yPos', [0.0]) +Set('length', [0.82]) +Set('angle', [270.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'border_min', autoadd=False) +To(u'border_min') +Set('xPos', [0.101]) +Set('yPos', [0.0]) +Set('length', [0.45]) +Set('angle', [270.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'line1', autoadd=False) +To(u'line1') +Set('xPos', [-0.0]) +Set('yPos', [0.45]) +Set('length', [0.1]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('line', name=u'line3', autoadd=False) +To(u'line3') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.82]) +Set('length', [0.8]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'bmin', autoadd=False) +To(u'bmin') +Set('label', u'B_min') +Set('xPos', [-0.102]) +Set('yPos', [0.422]) +To('..') +Add('label', name=u'bmax', autoadd=False) +To(u'bmax') +Set('label', u'B_max') +Set('xPos', [-0.107]) +Set('yPos', [0.797]) +To('..') +Add('line', name=u'line4', autoadd=False) +To(u'line4') +Set('xPos', [0.1]) +Set('yPos', [0.82]) +Set('length', [0.82]) +Set('angle', [90.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'w1', autoadd=False) +To(u'w1') +Set('label', u'w_1') +Set('xPos', [0.411]) +Set('yPos', [0.362]) +Set('Background/hide', True) +Set('Border/hide', True) +To('..') +Add('rect', name=u'rect1', autoadd=False) +To(u'rect1') +Set('xPos', [0.44287368879727007]) +Set('yPos', [0.3786065886941988]) +Set('width', [0.1]) +Set('height', [0.1]) +Set('rotate', [0.0]) +Set('Fill/hide', False) +Set('Border/hide', True) +To('..') +Add('function', name=u'function2', autoadd=False) +To(u'function2') +Set('function', u'arctan(x*10)/arctan(10)') +Set('min', 0.1) +Set('max', 0.8) +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'solid') +Set('FillBelow/style', u'backward diagonals') +Set('FillBelow/hide', False) +To('..') +Add('function', name=u'function1', autoadd=False) +To(u'function1') +Set('function', u'arctan(x*10)/arctan(10)') +Set('Line/color', u'foreground') +Set('Line/style', u'dash4') +To('..') +Add('label', name=u'H_min', autoadd=False) +To(u'H_min') +Set('label', u'H^f_min') +Set('xPos', [0.051]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'H_max', autoadd=False) +To(u'H_max') +Set('label', u'H^f_max') +Set('xPos', [0.74]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +To('..') +Add('graph', name=u'graph2', autoadd=False) +To(u'graph2') +Set('Border/hide', True) +Add('axis', name=u'x', autoadd=False) +To(u'x') +Set('label', u'') +Set('max', 1.0) +Set('autoMirror', False) +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('axis', name=u'y', autoadd=False) +To(u'y') +Set('label', u'') +Set('max', 1.2) +Set('outerticks', False) +Set('direction', u'vertical') +Set('TickLabels/hide', True) +Set('MajorTicks/hide', True) +Set('MinorTicks/hide', True) +To('..') +Add('line', name=u'border_max', autoadd=False) +To(u'border_max') +Set('xPos', [0.798]) +Set('yPos', [0.0]) +Set('length', [0.82]) +Set('angle', [270.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'border_min', autoadd=False) +To(u'border_min') +Set('xPos', [0.101]) +Set('yPos', [0.0]) +Set('length', [0.45]) +Set('angle', [270.0]) +Set('Line/width', u'1.5pt') +To('..') +Add('line', name=u'line1', autoadd=False) +To(u'line1') +Set('xPos', [-0.0]) +Set('yPos', [0.45]) +Set('length', [0.1]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('line', name=u'line3', autoadd=False) +To(u'line3') +Set('hide', False) +Set('xPos', [0.0]) +Set('yPos', [0.82]) +Set('length', [0.8]) +Set('angle', [0.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'bmin', autoadd=False) +To(u'bmin') +Set('label', u'B_min') +Set('xPos', [-0.102]) +Set('yPos', [0.422]) +To('..') +Add('label', name=u'bmax', autoadd=False) +To(u'bmax') +Set('label', u'B_max') +Set('xPos', [-0.107]) +Set('yPos', [0.797]) +To('..') +Add('line', name=u'line4', autoadd=False) +To(u'line4') +Set('xPos', [0.1]) +Set('yPos', [0.82]) +Set('length', [0.82]) +Set('angle', [90.0]) +Set('Line/width', u'0.5pt') +To('..') +Add('label', name=u'w1', autoadd=False) +To(u'w1') +Set('label', u'w_2') +Set('xPos', [0.414]) +Set('yPos', [0.29]) +Set('Background/hide', True) +Set('Border/hide', True) +To('..') +Add('rect', name=u'rect1', autoadd=False) +To(u'rect1') +Set('xPos', [0.4457300043574066]) +Set('yPos', [0.30148606857051335]) +Set('width', [0.1]) +Set('height', [0.1]) +Set('rotate', [0.0]) +Set('Fill/hide', False) +Set('Border/hide', True) +To('..') +Add('function', name=u'function2', autoadd=False) +To(u'function2') +Set('function', u'(arctan(1)+ (arctan(8)-arctan(1))*(x-0.1)/0.7 )/arctan(10)') +Set('xAxis', u'x') +Set('min', 0.1) +Set('max', 0.8) +Set('Line/color', u'foreground') +Set('Line/width', u'1.5pt') +Set('Line/style', u'solid') +Set('FillBelow/style', u'backward diagonals') +Set('FillBelow/hide', False) +To('..') +Add('function', name=u'function1', autoadd=False) +To(u'function1') +Set('function', u'arctan(x*10)/arctan(10)') +Set('Line/color', u'foreground') +Set('Line/style', u'dash4') +To('..') +Add('label', name=u'H_min', autoadd=False) +To(u'H_min') +Set('label', u'H^f_min') +Set('xPos', [0.051]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'H_max', autoadd=False) +To(u'H_max') +Set('label', u'H^f_max') +Set('xPos', [0.74]) +Set('yPos', [-0.075]) +To('..') +Add('label', name=u'B', autoadd=False) +To(u'B') +Set('label', u'B') +Set('xPos', [0.024]) +Set('yPos', [0.952]) +To('..') +Add('line', name=u'axis_arrow1', autoadd=False) +To(u'axis_arrow1') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [270.0]) +To('..') +Add('label', name=u'H', autoadd=False) +To(u'H') +Set('label', u'H') +Set('xPos', [0.93]) +Set('yPos', [0.018]) +To('..') +Add('line', name=u'axis_arrow_2', autoadd=False) +To(u'axis_arrow_2') +Set('arrowleft', u'none') +Set('arrowright', u'arrow') +Set('xPos', [0.0]) +Set('yPos', [0.0]) +Set('length', [1.01]) +Set('angle', [0.0]) +To('..') +To('..') +To('..') +To('..') diff --git a/visualisation/data/stress_50CrMo4/.gitignore b/visualisation/data/stress_50CrMo4/.gitignore new file mode 100644 index 0000000..64ac88f --- /dev/null +++ b/visualisation/data/stress_50CrMo4/.gitignore @@ -0,0 +1,2 @@ +.venv/ +output/ diff --git a/visualisation/data/stress_50CrMo4/2021-11-24_Probenplan Zugversuche 50CrMo4_10^-3.xlsx b/visualisation/data/stress_50CrMo4/2021-11-24_Probenplan Zugversuche 50CrMo4_10^-3.xlsx new file mode 100644 index 0000000..2566c60 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/2021-11-24_Probenplan Zugversuche 50CrMo4_10^-3.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/nach Zug.jpg new file mode 100644 index 0000000..97577fd Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/nach Zug_.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/nach Zug_.jpg new file mode 100644 index 0000000..12cbe24 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/nach Zug_.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/vor Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/vor Zug.jpg new file mode 100644 index 0000000..58a766d Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/Makro/vor Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Ergebnisse.TXT b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Ergebnisse.TXT new file mode 100644 index 0000000..5ffb737 --- /dev/null +++ b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Ergebnisse.TXT @@ -0,0 +1,3 @@ +Proben-ID m{lo E} R{lo p0.1} R{lo p0.2} R{lo m} A{lo g} A Z + GPa MPa MPa MPa % % % +"RT" 204 504 505 721 10,3 22,7 61 diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Prüfprotokoll.pdf b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Prüfprotokoll.pdf new file mode 100644 index 0000000..6e32c08 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Prüfprotokoll.pdf differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Rohdaten.xlsx b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Rohdaten.xlsx new file mode 100644 index 0000000..7746c23 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/A_RT/kp334-02_AP01_AD_weich_0,001_Rohdaten.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/300°C nach Zug_.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/300°C nach Zug_.jpg new file mode 100644 index 0000000..5f9a820 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/300°C nach Zug_.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/400°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/400°C nach Zug.jpg new file mode 100644 index 0000000..3d985e9 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/400°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/500°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/500°C nach Zug.jpg new file mode 100644 index 0000000..71c2f4e Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/500°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/600°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/600°C nach Zug.jpg new file mode 100644 index 0000000..694d3a2 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/600°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/vor Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/vor Zug.jpg new file mode 100644 index 0000000..58a766d Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/Makro/vor Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Ergebnisse.TXT b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Ergebnisse.TXT new file mode 100644 index 0000000..0cd3f96 --- /dev/null +++ b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Ergebnisse.TXT @@ -0,0 +1,6 @@ +Werkstoff Proben-ID m{lo E} R{lo p0.1} R{lo p0.2} R{lo m} A{lo g} A A{lo manuell} Z d{lo 0} L{lo 0} T Dauer + GPa MPa MPa MPa % % % % mm mm °C min +"50CrMo4" "Pr5" 196 429 451 721 12,5 28,2 65 7,98 30,00 300 20 +"50CrMo4" "Pr2" 198 406 424 617 8,8 33,8 78 7,98 30,00 400 20 +"50CrMo4" "Pr3" 194 352 378 477 4,5 36,9 86 7,98 30,00 500 20 +"50CrMo4" "Pr4" 129 289 309 329 1,5 44,1 93 7,98 30,00 600 20 diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Prüfprotokoll.pdf b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Prüfprotokoll.pdf new file mode 100644 index 0000000..6d47cfb Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Prüfprotokoll.pdf differ diff --git a/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Rohdaten.xlsx b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Rohdaten.xlsx new file mode 100644 index 0000000..7649654 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/A_weichgeglüht/B_300 - 600°C/kp334-02_AP01_AD_weichgeglüht_MayTec_A_Rohdaten.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/nach Zug.jpg new file mode 100644 index 0000000..451c2bb Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/nach Zug_.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/nach Zug_.jpg new file mode 100644 index 0000000..b2fba5a Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/nach Zug_.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/vor Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/vor Zug.jpg new file mode 100644 index 0000000..58a766d Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/Makro/vor Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Ergebnisse.TXT b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Ergebnisse.TXT new file mode 100644 index 0000000..fff1fb5 --- /dev/null +++ b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Ergebnisse.TXT @@ -0,0 +1,3 @@ +Proben-ID m{lo E} R{lo p0.1} R{lo p0.2} R{lo eH} R{lo eL} R{lo m} A{lo g} A Z + GPa MPa MPa MPa MPa MPa % % % +"RT" 208 438 434 438 434 813 10,1 20,6 55 diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Prüfprotokoll.pdf b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Prüfprotokoll.pdf new file mode 100644 index 0000000..71090b2 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Prüfprotokoll.pdf differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Rohdaten.xlsx b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Rohdaten.xlsx new file mode 100644 index 0000000..b4e4501 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/A_RT/kp334-02_AP01_AD_norm_0,001_Rohdaten.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/300°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/300°C nach Zug.jpg new file mode 100644 index 0000000..d991621 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/300°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/400°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/400°C nach Zug.jpg new file mode 100644 index 0000000..b1c8cc1 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/400°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/500°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/500°C nach Zug.jpg new file mode 100644 index 0000000..ce0145d Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/500°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/600°C nach Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/600°C nach Zug.jpg new file mode 100644 index 0000000..41b2ff8 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/600°C nach Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/vor Zug.jpg b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/vor Zug.jpg new file mode 100644 index 0000000..58a766d Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/Makro/vor Zug.jpg differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normaliasiert_MayTec_A_neu.TXT b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normaliasiert_MayTec_A_neu.TXT new file mode 100644 index 0000000..5e13ee2 --- /dev/null +++ b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normaliasiert_MayTec_A_neu.TXT @@ -0,0 +1,6 @@ +Werkstoff Proben-ID m{lo E} R{lo p0.1} R{lo p0.2} R{lo m} A{lo g} A A{lo manuell} Z d{lo 0} L{lo 0} T Dauer + GPa MPa MPa MPa % % % % mm mm °C min +"50CrMo4" "Pr1" 181 302 347 820 11,9 34,7 75 7,99 30,00 300 20 +"50CrMo4" "Pr2" 177 293 328 681 8,4 32,9 83 7,99 30,00 400 20 +"50CrMo4" "Pr3" 172 277 303 528 5,8 37,1 90 7,99 30,00 500 20 +"50CrMo4" "Pr4" 182 232 253 354 3,8 52,5 86 7,98 30,00 600 20 diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normalisiert_MayTec_A_neu_Prüfprotokoll.pdf b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normalisiert_MayTec_A_neu_Prüfprotokoll.pdf new file mode 100644 index 0000000..4b034b6 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normalisiert_MayTec_A_neu_Prüfprotokoll.pdf differ diff --git a/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normalisiert_MayTec_A_neu_Rohdaten.xlsx b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normalisiert_MayTec_A_neu_Rohdaten.xlsx new file mode 100644 index 0000000..fd9050b Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/B_normalisiert/B_300 - 600°C/kp334-02_AP01_AD_normalisiert_MayTec_A_neu_Rohdaten.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSDARSTELLUNG.opju b/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSDARSTELLUNG.opju new file mode 100644 index 0000000..5485c76 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSDARSTELLUNG.opju differ diff --git a/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSE.pdf b/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSE.pdf new file mode 100644 index 0000000..d6c64be Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSE.pdf differ diff --git a/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSE.pptx b/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSE.pptx new file mode 100644 index 0000000..6b61095 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/ZV/C_normalisiert + weichgeglüht/C_700 - 1000°C/kp334-02_AP01_AD_ERGEBNISSE.pptx differ diff --git a/visualisation/data/stress_50CrMo4/raw_norm.xlsx b/visualisation/data/stress_50CrMo4/raw_norm.xlsx new file mode 100644 index 0000000..cbfc922 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/raw_norm.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/raw_weich.xlsx b/visualisation/data/stress_50CrMo4/raw_weich.xlsx new file mode 100644 index 0000000..7c4eef3 Binary files /dev/null and b/visualisation/data/stress_50CrMo4/raw_weich.xlsx differ diff --git a/visualisation/data/stress_50CrMo4/true-flow-convert.py b/visualisation/data/stress_50CrMo4/true-flow-convert.py new file mode 100644 index 0000000..bbf9f8f --- /dev/null +++ b/visualisation/data/stress_50CrMo4/true-flow-convert.py @@ -0,0 +1,292 @@ +# -*- coding: utf-8 -*- +"""Convert Stress-Strain Tables to true values. + +This Skript takes a stress-strain table or a collection of such and converts +the technical strains into true strains. +It is also capable of outputting comparison graphs of the converted tables. + +""" + +import os, sys, re +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt + +def parse_args(): + import argparse + + parser = argparse.ArgumentParser(description='Convert Stress-Strain Tables to true plastic flow values.', + usage='python %(prog)s [options] INPUTFILE [-o OUTPUTFILE]', + epilog=''' + ''') + + parser.add_argument('input', + metavar='INPUTFILE', + help='path to input file containing stress-strain data') + + parser.add_argument('-v', '--version', + action='version', + version='%(prog)s 1.1') + + parser.add_argument('-e', + action='store_true', + dest='autodetect_emod', + help='enables autodetection of Young\'s modulus. (currently nonfunctional)') + + group0 = parser.add_mutually_exclusive_group() + group0.add_argument('-c', + action='store_true', + dest='compressionflag', + help='set computation for compressive test data.') + + group0.add_argument('-n', + action='store_false', + dest='cut_at_uts', + help='extend computation of tensile data beyond ultimate tensile strength.') + + parser.add_argument('-N', + action='store_false', + dest='cut_neg_slope', + help='allow exported data to have a negative slope (may cause errors in FEM).') + + parser.add_argument('-x', + metavar = 'SCALE', + default = 1.0, + type = float, + dest='scale_x', + help='set scaling factor for X data. Defaults to 1.') + + parser.add_argument('-y', + metavar = 'SCALE', + default = 1.0, + type = float, + dest='scale_y', + help='set scaling factor for Y data. Defaults to 1.') + + parser.add_argument('-p', + action='store_true', + dest='plotflag', + help='plot transformation steps from technical to true flow curves.') + + parser.add_argument('-P', + action='store_true', + dest='comparisonflag', + help='plot comparison of true flow curves.') + + group = parser.add_mutually_exclusive_group() + group.add_argument('-r', + metavar=('X', 'Y'), + type=float, + nargs=2, + dest='range_man', + help='''set global plot range in X-axis (strain, dimensionless) + and Y-axis (stress, MPa).''') + + group.add_argument('-a', + action='store_true', + dest='range_auto', + help='''determine global plot range automatically.''') + + parser.add_argument('-o', + metavar='OUTPUTFILE', + type=str, + dest='output', + help='output file path') + + parser.add_argument('-s', + action='store_true', + dest='serial', + help='concatinates all curves for import into Abaqus.') + + parser.add_argument('-t', + metavar = 'LENGTH', + default = 0, + type = int, + dest='output_length', + help='constrain output to a maximum length.') + + return parser.parse_args() + +def sanitize_title(s): + """turns a unicode or string into a purely alphanumeric string.""" + return str(s.encode('ascii', 'ignore').decode()) + +def reduce_lenth(data): + num_split = args.output_length + assert num_split>2 + first = data[0] + last = data[-1] + rest = data[1:-1] + subs = np.array_split(rest, num_split-2) + short = np.array([a.mean() for a in subs if a.size!=0]) + return np.insert(short, [0,len(short)], [first, last]) + + +if __name__=="__main__": + args = parse_args() + + inpath = os.path.abspath(args.input) + + datafile = pd.ExcelFile(inpath) + sheets = datafile.sheet_names + frames = {sheet:datafile.parse(sheet) for sheet in sheets} + + if args.output: + outpath = os.path.abspath(args.output) + outfilename, ext = os.path.splitext(outpath) + else: + outpath = outfilename = ext = False + + if args.range_man: + xmax, ymax = args.range_man + + if args.range_auto: + xmax = 0 + ymax = 0 + for frame in frames.values(): + e_data, sig_data = np.transpose(frame.values)[:2] * np.array([args.scale_x, args.scale_y]) + xmax = max(xmax, np.max(np.abs(e_data))) + ymax = max(ymax, np.max(sig_data*(e_data + 1))) + xmax = 1.05 * xmax + ymax = 1.05 * ymax + + e_max_global = 0 + s_max_global = 0 + df_dict = {} + + for title, frame in frames.items(): + + print(title) + temp = sanitize_title(title) + + e_data, sig_data, Emod = np.transpose(frame.values)[:3] + + Emod = Emod[0] * args.scale_y + e_tech = e_data * args.scale_x + sig_tech = sig_data * args.scale_y + assert np.sign(np.median(sig_tech)) == np.sign(np.median(e_tech)), "Stress and strain do not seem to share sign!" + + if Emod not in (np.inf, -np.inf, 0): + e_tech_plastic = e_tech - e_tech[0] - sig_tech/Emod + else: + e_tech_plastic = e_tech + + try: + idx_plastic = np.where(e_tech_plastic < 0)[0][-1] + except IndexError: + idx_plastic = 0 + + if args.compressionflag: + e_true = -np.log(1 - e_tech) + e_true_plastic = -np.log(1 - e_tech_plastic) + sig_true = sig_tech * (1 - e_tech) + idx_ultimate = -1 + else: + e_true = np.log(1 + e_tech) + e_true_plastic = np.log(1 + e_tech_plastic) + sig_true = sig_tech * (1 + e_tech) + if args.cut_at_uts: + smax = np.max(sig_tech) + idx_ultimate = np.where(sig_tech == smax)[0][0] + else: + idx_ultimate = -1 + + sig_slice = sig_true[idx_plastic:idx_ultimate] + e_slice = e_true_plastic[idx_plastic:idx_ultimate] + + if args.cut_neg_slope: + idx_negative_slope = [i for i in range(len(sig_slice)) if i != np.argmax(sig_slice[0:i+1])] + sig_slice = np.delete(sig_slice, idx_negative_slope) + e_slice = np.delete(e_slice, idx_negative_slope) + + e_slice[0] = 0 + + if args.output_length > 0: + e_slice = reduce_lenth(e_slice) + sig_slice = reduce_lenth(sig_slice) + + e_max_global = max(e_max_global, np.max(e_slice)) + s_max_global = max(s_max_global, np.max(sig_slice)) + + df_dict[temp] = pd.DataFrame({'Sig':sig_slice, 'Eps':e_slice}) + + if args.plotflag: + plt.figure(figsize=[5, 2.8]) + plt.plot(e_tech, sig_tech/args.scale_y, 'g') + plt.plot(e_true, sig_true/args.scale_y, 'r') + plt.plot(e_true[idx_plastic:idx_ultimate], sig_true[idx_plastic:idx_ultimate]/args.scale_y, 'k') + plt.plot(e_slice, sig_slice/args.scale_y, 'b') + plt.title(title) + plt.ylabel(r'$\sigma$ [MPa]') + plt.xlabel(r'$\epsilon$ [-]') + if args.range_auto or args.range_man: + plt.ylim(0, ymax) + plt.xlim(0, xmax) + plt.grid(True, which='major', linestyle='--') + plt.grid(True, which='minor', linestyle=':') + + # plt.axes().set_aspect('equal') + if outpath: + plotpath = '{}_{}.png'.format(os.path.splitext(outpath)[0],temp) + plt.savefig(plotpath, bbox_inches="tight", dpi=144) + else: + plt.show() + plt.close() + + if args.comparisonflag: + plt.figure(figsize=[5, 2.8]) + for temp, frame in df_dict.items(): + e_frame = frame['Eps'] + sig_frame = frame['Sig'] + plt.plot(e_frame, sig_frame/args.scale_y, label=temp) + plt.title('True Stress-Strain Curves') + plt.ylabel(r'$\sigma$ [MPa]') + plt.xlabel(r'$\epsilon$ [-]') + if args.range_auto or args.range_man: + plt.ylim(0, ymax) + plt.xlim(0, xmax) + else: + plt.ylim(0, s_max_global/args.scale_y*1.05) + plt.xlim(0, e_max_global*1.05) + plt.grid(True, which='major', linestyle='--') + plt.grid(True, which='minor', linestyle=':') + plt.legend(loc='lower right') + + # plt.axes().set_aspect('equal') + if outpath: + plotpath = outfilename + '.png' + plt.savefig(plotpath, bbox_inches="tight", dpi=144) + else: + plt.show() + plt.close() + + if args.output and args.serial: + frame_out = pd.DataFrame(columns=['Sig', 'Eps', 'T']) + for temp, frame in df_dict.items(): + nums = re.findall(r"[-+]?\d*\.\d+|\d+", temp) + try: + frame['T'] = int(nums[0]) + except ValueError: + frame['T'] = float(nums[0]) + except IndexError as e: + raise e('Could not extract number from frame title to use as temperature!') + frame_out = frame_out.append(frame, ignore_index=True, sort=False) + frame_out.sort_values(by=['T', 'Eps'], inplace=True) + frame_out = frame_out.reindex(columns=['Sig', 'Eps', 'T']) + + if ext and ext.lower() in ['.xls', '.xlsx']: + frame_out.to_excel(outpath,index=False) + else: + frame_out.to_csv(outpath,index=False) + elif args.output: + if ext and ext.lower() in ['.xls', '.xlsx']: + with pd.ExcelWriter(outpath) as writer: + for temp, frame in df_dict.items(): + frame.to_excel(writer, sheet_name=temp, + index=False) + else: + for temp, frame in df_dict.items(): + newpath = ("_{}".format(temp)).join(os.path.splitext(outpath)) + frame.to_csv(newpath ,index=False) + else: + pass #frame_out.to_csv(sys.stdout,index=False)