Source code for rsopt.libe_tools.generator_functions.utility_generators
import numpy as np
import logging
[docs]def generate_mesh(H, persis_info, gen_specs, libE_info):
user_specs = gen_specs['user']
mesh_specs = user_specs['mesh_definition']
exact_mesh = user_specs['exact_mesh']
logger = logging.getLogger('libensemble')
logger.info('Generator called by Worker: {}'.format(libE_info['workerID']))
if not exact_mesh:
mesh_1d = []
for dim in mesh_specs:
mesh_1d.append(np.linspace(*dim))
mesh = np.meshgrid(*mesh_1d)
mesh = np.array([ar.flatten() for ar in mesh]).T
else:
mesh = np.array(mesh_specs).T
out = np.zeros(mesh.shape[0], dtype=gen_specs['out'])
logger.info('mesh shape: {}'.format(mesh.shape))
out['x'] = mesh.reshape(out['x'].shape)
return out, persis_info