Source code for openmdao.recorders.case

[docs]class Case(object): """ Case wraps the data from a single iteration/case of a recording to make it more easily accessible to the user. Args ---- filename : str The filename from which the Case was constructed. case_id : str The identifier string associated with the Case. case_dict : dict A dictionary containing fields for the parameters, unknowns, derivatives, and residuals in the Case, as well as a Case timestamp, success flag, and string message. Attributes ---------- filename : str The file from which the case was loaded case_id : str The identifier of the case/iteration in the case recorder timestamp : str Time of execution of the case success : str Success flag for the case msg : str Message associated with the case parameters : dict Parameters in the case. Keyed by parameter path name, values are float or dict. unknowns : dict Unknowns in the case. Keyed by variable path name, values are float or dict. derivs : dict Derivatives in the case. Different optimizers store the derivatives in different ways. resids : dict Residuals in the case. Keyed by variable path name, values are float or dict. """ def __init__(self, filename, case_id, case_dict): self.filename = filename self.case_id = case_id self.timestamp = case_dict.get('timestamp', None) self.success = case_dict.get('success', None) self.msg = case_dict.get('msg', None) self.parameters = case_dict.get('Parameters', None) self.unknowns = case_dict.get('Unknowns', None) self.derivs = case_dict.get('Derivatives', None) self.resids = case_dict.get('Residuals', None) def __getitem__(self, item): """ Access an unknown of the given name. This is intended to be a convenient shorthand for case.unknowns[item]. """ if self.unknowns is None: raise ValueError('No unknowns are available' ' in file {0}'.format(self.filename)) return self.unknowns[item]