def input_temp_dhm(): sampledir = join(dirname(realpath(__file__)), 'testData', r"hfo2_MFM", "H9_x9y4_1e4_S3_temps") file = r'H9 die (9,4) S3 31C 100Hz 3V 1Average Table2.tsv' data = hd.HysteresisData() data.tsv_read(join(sampledir, file)) return data
def file_input(): testdatadir = join(dirname(dirname(realpath(__file__))), "tests", "testData") filedir = join(testdatadir, "Typical_AB_Data_RT") file = join(filedir, "TypABdata.Hysteresis.2.txt") data = hd.HysteresisData() data.read_RTHyst(file) return data
pp = pprint.PrettyPrinter(indent=2, width=120, depth=4, compact=True) # %% [markdown] pycharm={"name": "#%% md\n"} # ## TSV import # # TSV import is the simplest method of loading data into ferro, requiring only a table with time, # voltage, and current data. When using this method, the data loading function will search for the frequency and # temperature in the filename in the format `r'\d+Hz'` and `r'\d+C'` or `r'\d+K'`- one or more digits followed by a unit. # If no temperature is specified, a default value of 300K (27C / 80F) is assigned. # # For example, the file **H9 die (9,4) 500Hz 4V 1Average Table17.tsv** when imported would automatically be assigned a # frequency of 500 Hz and a temperature of 300K: # %% pycharm={"name": "#%%\n"} data = hd.HysteresisData() data.tsv_read(join(freqdir, 'H9 die (9,4) 500Hz 4V 1Average Table17.tsv')) print(data.freq) print(data.temp) # %% [markdown] pycharm={"name": "#%% md\n"} # To see a quick overview of the measurement without inspecting each property, it is also possible to print the object # directly: # %% pycharm={"name": "#%%\n"} print(data) # %% [markdown] # To import a number of individual tsv measurement tables at once, ferro also provides dir_read and list_read functions # for hysteresisData. `dir_read()` will return a list of files in a directory, which can be passed to `list_read()`, which # will return a list of hysteresisData objects. If a list of both DHM and IV data is passed, `list_read()` will attempt
hfo2.rho_calc(freqData) # %% pycharm={"name": "#%%\n"} hfo2.a0 = hfo2.a0_calc(tempData) # %% pycharm={"name": "#%%\n"} freqDataLkgComp = hd.list_read(freqfiles, templkgfiles) cCompDataLkgComp = freqDataLkgComp[0] hd.hyst_plot([cCompData, cCompDataLkgComp], ["With Leakage", "Without Leakage"], plot_e=1) # %% pycharm={"name": "#%%\n"} ### FORC Calculation hfo2_forc = hd.HysteresisData(area=6579E-8, thickness=13E-7) hfo2_forc.tsv_read(forcFile) hfo2_forc.hyst_plot(plot_e=1) e, er, probs = hfo2_forc.forc_calc(plot=False) domains = hfo2.domain_gen(e, er, probs, n=100, plot=False) esweep = np.linspace(-4.5E6, 4.5E6, num=1000) esweep = np.append(esweep, esweep[::-1]) hfo2.calc_efe_preisach(esweep, domains, plot=1) # %% pycharm={"name": "#%%\n"} # Following code plots a series of diff freq hystdata files on same plot hystData = [] legend = []