Source code for omfit_classes.omfit_fastran

try:
    # framework is running
    from .startup_choice import *
except ImportError as _excp:
    # class is imported by itself
    if (
        'attempted relative import with no known parent package' in str(_excp)
        or 'No module named \'omfit_classes\'' in str(_excp)
        or "No module named '__main__.startup_choice'" in str(_excp)
    ):
        from startup_choice import *
    else:
        raise


from omfit_classes.omfit_ascii import OMFITascii
from omfit_classes import zdata
import numpy as np

__all__ = ['OMFITfastran']


[docs]class OMFITfastran(SortedDict, OMFITascii): """FASTRAN data files""" def __init__(self, filename, **kw): OMFITascii.__init__(self, filename, **kw) SortedDict.__init__(self, sorted=True) self.dynaLoad = True
[docs] @dynaLoad def load(self): self.clear() tmp = zdata.read_formatted(self.filename) self.update(tmp) for k in self: if len(self[k]) == 1: self[k] = self[k][0] else: self[k] = np.array(self[k])
[docs] @dynaSave def save(self): tmp = {} tmp.update(self) for k in self: self[k] = np.atleast_1d(self[k]).tolist() zdata.from_dict(self, self.filename)