From aa41ea261232e06b6522bb6a202a8822ee3525a5 Mon Sep 17 00:00:00 2001 From: Thomas Guillod Date: Wed, 6 May 2020 22:21:45 +0200 Subject: [PATCH] Small bugfixes --- .../ann_example/ann_data/get_ann_param.m | 4 ++-- .../ann_matlab/@AnnManager/disp_fom_train.m | 6 +++--- .../inductor_fem_ann/master_assemble.m | 12 ++++++------ source_input/get_fem_ann_data_train.m | 18 +++++++++--------- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/source_ann/ann_example/ann_data/get_ann_param.m b/source_ann/ann_example/ann_data/get_ann_param.m index 44beaad..6835554 100644 --- a/source_ann/ann_example/ann_data/get_ann_param.m +++ b/source_ann/ann_example/ann_data/get_ann_param.m @@ -52,8 +52,8 @@ % - 'rel_abs': relative error (absolute value) % - 'rel_sign': relative error (with sign) var_out = {}; -var_out{end+1} = struct('name', 'y_1', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); -var_out{end+1} = struct('name', 'y_2', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); +var_out{end+1} = struct('name', 'y_1', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); +var_out{end+1} = struct('name', 'y_2', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % control the splitting of the samples between training and testing: % - ratio_train: ratio of the samples used for training diff --git a/source_ann/ann_matlab/@AnnManager/disp_fom_train.m b/source_ann/ann_matlab/@AnnManager/disp_fom_train.m index 0f88b42..23e47a7 100644 --- a/source_ann/ann_matlab/@AnnManager/disp_fom_train.m +++ b/source_ann/ann_matlab/@AnnManager/disp_fom_train.m @@ -105,7 +105,7 @@ function disp_hist(tag, fom_train, fom_test, type) % tag (str): name of the variable % fom_train (struct): figures of merit of the variable (training) % fom_test (struct): figures of merit of the variable (testing) -% type (str): type of the variable ('set' or 'abs' or 'rel') +% type (str): type of the variable ('set' or 'rel_abs' or 'abs_abs' or 'rel_sign' or 'abs_sign') hold('on') switch type @@ -116,14 +116,14 @@ function disp_hist(tag, fom_train, fom_test, type) ylabel('n [1]') vec_train = [fom_train.v_min fom_train.v_max]; vec_test = [fom_test.v_min fom_test.v_max]; - case 'abs' + case {'abs_abs', 'abs_sign'} histogram(fom_train.vec) histogram(fom_test.vec) xlabel('x [1]') ylabel('n [1]') vec_train = [fom_train.v_min fom_train.v_max fom_train.v_avg fom_train.v_prc_99]; vec_test = [fom_test.v_min fom_test.v_max fom_test.v_avg fom_test.v_prc_99]; - case 'rel' + case {'rel_abs', 'rel_sign'} histogram(1e2.*fom_train.vec) histogram(1e2.*fom_test.vec) xlabel('err [%]') diff --git a/source_inductor/inductor_fem_ann/master_assemble.m b/source_inductor/inductor_fem_ann/master_assemble.m index 8eee07b..1f2fbfe 100644 --- a/source_inductor/inductor_fem_ann/master_assemble.m +++ b/source_inductor/inductor_fem_ann/master_assemble.m @@ -19,12 +19,6 @@ function master_assemble(file_assemble, folder_fem, make_zip) fprintf('assemble\n') [diff, n_tot, n_sol, model_type, file_model, inp, out_fem] = fem_ann.get_assemble(folder_fem); -% make a zip file and remove the folder -if make_zip==true - fprintf('zip\n') - fem_ann.get_zip(folder_fem); -end - % compute the analytical results fprintf('approx\n') out_approx = fem_ann.get_out_approx(model_type, inp); @@ -35,6 +29,12 @@ function master_assemble(file_assemble, folder_fem, make_zip) fprintf(' n_tot = %d\n', n_tot) fprintf(' n_sol = %d\n', n_sol) +% make a zip file and remove the folder +if make_zip==true + fprintf('zip\n') + fem_ann.get_zip(folder_fem); +end + % save data fprintf('save\n') save(file_assemble, '-v7.3', 'diff', 'n_sol', 'n_tot', 'inp', 'out_fem', 'out_approx', 'model_type', 'file_model') diff --git a/source_input/get_fem_ann_data_train.m b/source_input/get_fem_ann_data_train.m index 27bf828..ffae1d6 100644 --- a/source_input/get_fem_ann_data_train.m +++ b/source_input/get_fem_ann_data_train.m @@ -98,32 +98,32 @@ var_out = {}; if strcmp(model_type, 'mf') % inductance (for a single turn) - var_out{end+1} = struct('name', 'L_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'L_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % quasi-RMS flux density, integral of B^beta, normalized for one turn and 1A, for the core losses - var_out{end+1} = struct('name', 'B_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'B_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % RMS current density, integral of J^2, normalized for one turn and 1A, for the LF winding losses - var_out{end+1} = struct('name', 'J_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'J_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % RMS magnetic density, integral of H^2, normalized for one turn and 1A, for the HF winding losses - var_out{end+1} = struct('name', 'H_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'H_norm', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); end if strcmp(model_type, 'ht') % maximum temperature elevation of the core, for the thermal limit - var_out{end+1} = struct('name', 'dT_core_max', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'dT_core_max', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % average temperature elevation of the core, for the losses - var_out{end+1} = struct('name', 'dT_core_avg', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'dT_core_avg', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % maximum temperature elevation of the winding, for the thermal limit - var_out{end+1} = struct('name', 'dT_winding_max', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'dT_winding_max', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % average temperature elevation of the winding, for the losses - var_out{end+1} = struct('name', 'dT_winding_avg', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'dT_winding_avg', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); % maximum temperature elevation of the insulation, for the thermal limit - var_out{end+1} = struct('name', 'dT_iso_max', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_sign'); + var_out{end+1} = struct('name', 'dT_iso_max', 'use_nrm', true, 'var_trf', 'none', 'var_norm', 'min_max', 'var_err', 'rel_abs'); end % control the splitting of the samples between training and testing: