

def get_simulation_info(self, constants):
    ' Return simulation info dictionary. '
    top = self._cfg_map.keys()[0].parent
    while top.parent:
        top = top.parent
    prefix_drop = 0
    cruft = ('desc', 'framework_var', 'type', 'validation_trait')
    variable_metadata = {
        
    }
    for (driver, (ins, outs)) in self._cfg_map.items():
        scope = driver.parent
        prefix = ('' if (scope is top) else scope.get_pathname()[prefix_drop:])
        if prefix:
            prefix += '.'
        for name in (ins + outs):
            if (('_pseudo_' in name) or name.endswith('.workflow.itername')):
                pass
            else:
                (name, _, rest) = name.partition('[')
                try:
                    metadata = scope.get_metadata(name)
                except AttributeError:
                    pass
                else:
                    metadata = metadata.copy()
                    for key in cruft:
                        if (key in metadata):
                            del metadata[key]
                    variable_metadata[(prefix + name)] = metadata
    for name in constants:
        (name, _, rest) = name.partition('[')
        metadata = top.get_metadata(name).copy()
        for key in cruft:
            if (key in metadata):
                del metadata[key]
        variable_metadata[name] = metadata
    expressions = {
        
    }
    for (driver, (ins, outs)) in sorted(self._cfg_map.items(), key=(lambda item: item[1][0])):
        scope = driver.parent
        prefix = ('' if (scope is top) else scope.get_pathname()[prefix_drop:])
        if prefix:
            prefix += '.'
        if hasattr(driver, 'eval_objectives'):
            for obj in driver.get_objectives().values():
                info = dict(data_type='Objective', pcomp_name=(prefix + obj.pcomp_name))
                expressions[(prefix + str(obj))] = info
        if hasattr(driver, 'eval_responses'):
            for response in driver.get_responses().values():
                info = dict(data_type='Response', pcomp_name=(prefix + response.pcomp_name))
                expressions[(prefix + str(response))] = info
        constraints = []
        if hasattr(driver, 'get_eq_constraints'):
            constraints.extend(driver.get_eq_constraints().values())
        if hasattr(driver, 'get_ineq_constraints'):
            constraints.extend(driver.get_ineq_constraints().values())
        for con in constraints:
            info = dict(data_type='Constraint', pcomp_name=(prefix + con.pcomp_name))
            expressions[(prefix + str(con))] = info
    self._uuid = str(uuid1())
    self._cases = 0
    dep_graph = top.get_graph(format='json')
    comp_graph = top.get_graph(components_only=True, format='json')
    return dict(variable_metadata=variable_metadata, expressions=expressions, constants=constants, graph=dep_graph, comp_graph=comp_graph, name=top.name, OpenMDAO_Version=__version__, uuid=self._uuid)

dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/casehandlers/hdf5case.py HDF5CaseRecorder.get_simulation_info/original