From 0653e281846b9a6a55272d927281c3d89cbe8242 Mon Sep 17 00:00:00 2001 From: Craig Warren Date: Tue, 23 Feb 2016 18:28:49 +0000 Subject: [PATCH] Added fitness function for minimum of output. --- user_libs/optimisation_taguchi_fitness.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/user_libs/optimisation_taguchi_fitness.py b/user_libs/optimisation_taguchi_fitness.py index 8821a3d2..5fe65c47 100644 --- a/user_libs/optimisation_taguchi_fitness.py +++ b/user_libs/optimisation_taguchi_fitness.py @@ -18,6 +18,28 @@ import matplotlib.pyplot as plt The second argument is a list which can contain any number of additional arguments, e.g. names (IDs) of outputs (rxs) from input file """ +def minvalue(filename, args): + """Minimum value from a response. + + Args: + filename (str): Name of output file + args (dict): 'outputs' key with a list of names (IDs) of outputs (rxs) from input file + + Returns: + minvalue (float): Minimum value from specific outputs + """ + + f = h5py.File(filename, 'r') + nrx = f.attrs['nrx'] + + for rx in range(1, nrx + 1): + tmp = f['/rxs/rx' + str(rx) + '/'] + if tmp.attrs['Name'] in args['outputs']: + fieldname = list(tmp.keys())[0] + minvalue = np.amin(tmp[fieldname]) + + return minvalue + def maxvalue(filename, args): """Maximum value from a response.