Beispiel #1
0
    def __init__(self):
        self.name = ''
        self.pathname = ''

        self._subsystems = OrderedDict()

        self._params_dict = OrderedDict()
        self._unknowns_dict = OrderedDict()

        # specify which variables are promoted up to the parent.  Wildcards
        # are allowed.
        self._promotes = ()

        self.comm = None

        # for those Systems that perform file I/O
        self.directory = ''

        # if True, create any directories needed by this System that don't exist
        self.create_dirs = False

        # create placeholders for all of the vectors
        self.unknowns = _PlaceholderVecWrapper('unknowns')
        self.resids = _PlaceholderVecWrapper('resids')
        self.params = _PlaceholderVecWrapper('params')
        self.dunknowns = _PlaceholderVecWrapper('dunknowns')
        self.dresids = _PlaceholderVecWrapper('dresids')

        opt = self.fd_options = OptionsDictionary()
        opt.add_option('force_fd',
                       False,
                       desc="Set to True to finite difference this system.")
        opt.add_option(
            'form',
            'forward',
            values=['forward', 'backward', 'central', 'complex_step'],
            desc="Finite difference mode. (forward, backward, central) "
            "You can also set to 'complex_step' to peform the complex "
            "step method if your components support it.")
        opt.add_option("step_size",
                       1.0e-6,
                       lower=0.0,
                       desc="Default finite difference stepsize")
        opt.add_option("step_type",
                       'absolute',
                       values=['absolute', 'relative'],
                       desc='Set to absolute, relative')

        self._impl = None

        self._num_par_fds = 1  # this will be >1 for ParallelFDGroup
        self._par_fd_id = 0  # for ParallelFDGroup, this will be >= 0 and
        # <= the number of parallel FDs

        self._reset()  # initialize some attrs that are set during setup
Beispiel #2
0
    def __init__(self):
        self.name = ''
        self.pathname = ''
        self._dircontext = _DummyContext()

        self._subsystems = OrderedDict()

        self._params_dict = OrderedDict()
        self._unknowns_dict = OrderedDict()

        # specify which variables are promoted up to the parent.  Wildcards
        # are allowed.
        self._promotes = ()

        self.comm = None

        # for those Systems that perform file I/O
        self.directory = ''

        # if True, create any directories needed by this System that don't exist
        self.create_dirs = False

        # create placeholders for all of the vectors
        self.unknowns = _PlaceholderVecWrapper('unknowns')
        self.resids = _PlaceholderVecWrapper('resids')
        self.params = _PlaceholderVecWrapper('params')
        self.dunknowns = _PlaceholderVecWrapper('dunknowns')
        self.dresids = _PlaceholderVecWrapper('dresids')

        opt = self.fd_options = OptionsDictionary()
        opt.add_option('force_fd', False,
                       desc="Set to True to finite difference this system.")
        opt.add_option('form', 'forward',
                       values=['forward', 'backward', 'central', 'complex_step'],
                       desc="Finite difference mode. (forward, backward, central) "
                       "You can also set to 'complex_step' to peform the complex "
                       "step method if your components support it.")
        opt.add_option("step_size", 1.0e-6, lower=0.0,
                       desc="Default finite difference stepsize")
        opt.add_option("step_type", 'absolute',
                       values=['absolute', 'relative'],
                       desc='Set to absolute, relative')

        self._impl = None

        self._num_par_fds = 1 # this will be >1 for ParallelFDGroup
        self._par_fd_id = 0 # for ParallelFDGroup, this will be >= 0 and
                            # <= the number of parallel FDs

        self._reset() # initialize some attrs that are set during setup
Beispiel #3
0
    def __init__(self):
        self.name = ''
        self.pathname = ''

        self._subsystems = OrderedDict()
        self._local_subsystems = []

        self._params_dict = OrderedDict()
        self._unknowns_dict = OrderedDict()

        # specify which variables are promoted up to the parent.  Wildcards
        # are allowed.
        self._promotes = ()

        self.comm = None

        # create placeholders for all of the vectors
        self.unknowns = _PlaceholderVecWrapper('unknowns')
        self.resids = _PlaceholderVecWrapper('resids')
        self.params = _PlaceholderVecWrapper('params')
        self.dunknowns = _PlaceholderVecWrapper('dunknowns')
        self.dresids = _PlaceholderVecWrapper('dresids')

        # dicts of vectors used for parallel solution of multiple RHS
        self.dumat = {}
        self.dpmat = {}
        self.drmat = {}

        opt = self.fd_options = OptionsDictionary()
        opt.add_option('force_fd', False,
                       desc="Set to True to finite difference this system.")
        opt.add_option('form', 'forward',
                       values=['forward', 'backward', 'central', 'complex_step'],
                       desc="Finite difference mode. (forward, backward, central) "
                       "You can also set to 'complex_step' to peform the complex "
                       "step method if your components support it.")
        opt.add_option("step_size", 1.0e-6,
                       desc="Default finite difference stepsize")
        opt.add_option("step_type", 'absolute',
                       values=['absolute', 'relative'],
                       desc='Set to absolute, relative')

        self._relevance = None
        self._impl = None
Beispiel #4
0
    def __init__(self):
        self.name = ""
        self.pathname = ""

        self._params_dict = OrderedDict()
        self._unknowns_dict = OrderedDict()

        # specify which variables are promoted up to the parent.  Wildcards
        # are allowed.
        self._promotes = ()

        self.comm = None

        # create placeholders for all of the vectors
        self.unknowns = _PlaceholderVecWrapper("unknowns")
        self.resids = _PlaceholderVecWrapper("resids")
        self.params = _PlaceholderVecWrapper("params")
        self.dunknowns = _PlaceholderVecWrapper("dunknowns")
        self.dresids = _PlaceholderVecWrapper("dresids")
        self.dparams = _PlaceholderVecWrapper("dparams")

        # dicts of vectors used for parallel solution of multiple RHS
        self.dumat = {}
        self.dpmat = {}
        self.drmat = {}

        opt = self.fd_options = OptionsDictionary()
        opt.add_option("force_fd", False, desc="Set to True to finite difference this system.")
        opt.add_option(
            "form",
            "forward",
            values=["forward", "backward", "central", "complex_step"],
            desc="Finite difference mode. (forward, backward, central) "
            "You can also set to 'complex_step' to peform the complex "
            "step method if your components support it.",
        )
        opt.add_option("step_size", 1.0e-6, desc="Default finite difference stepsize")
        opt.add_option("step_type", "absolute", values=["absolute", "relative"], desc="Set to absolute, relative")

        self._relevance = None
        self._impl_factory = None