def configure(self): """Creates a new Assembly containing a PlugNozzleGeometry and DOE""" self.replace("driver", create("openmdao.lib.drivers.doedriver.DOEdriver")) self.driver.add( "DOEgenerator", create("openmdao.lib.doegenerators.optlh.LatinHypercube", num_samples=5)) self.add("gc", create("openmdao.lib.components.geomcomp.GeomComponent")) self.gc.add( "parametric_geometry", create( "openmdao.examples.nozzle_geometry_doe.simple_nozzle.PlugNozzleGeometry" )) self.driver.add_parameter('gc.cowl.thickness[7]', low=0.0, high=0.5) self.driver.add_parameter('gc.cowl.thickness[8]', low=0.0, high=0.5) self.driver.add_parameter('gc.cowl.R[7]', low=-0.1, high=0.2) self.driver.add_parameter('gc.cowl.R[8]', low=-0.1, high=0.2) self.driver.add_parameter('gc.plug.R[7]', low=-0.1, high=0.5) self.driver.add_parameter('gc.plug.R[8]', low=-0.1, high=0.5) self.add("sc", create("openmdao.lib.components.sleep_comp.SleepComponent")) self.driver.workflow.add("sc") self.set('sc.sleep_time', 1.0)
def configure(self): """Creates a new Assembly containing a PlugNozzleGeometry and DOE""" self.replace("driver", create("openmdao.lib.drivers.doedriver.DOEdriver")) self.driver.add("DOEgenerator", create("openmdao.lib.doegenerators.optlh.LatinHypercube", num_samples=5)) self.add("gc", create("openmdao.lib.components.geomcomp.GeomComponent")) self.gc.add("parametric_geometry", create("openmdao.examples.nozzle_geometry_doe.simple_nozzle.PlugNozzleGeometry")) self.driver.add_parameter('gc.cowl.thickness[7]', low=0.0, high=0.5) self.driver.add_parameter('gc.cowl.thickness[8]', low=0.0, high=0.5) self.driver.add_parameter('gc.cowl.R[7]', low=-0.1, high=0.2) self.driver.add_parameter('gc.cowl.R[8]', low=-0.1, high=0.2) self.driver.add_parameter('gc.plug.R[7]', low=-0.1, high=0.5) self.driver.add_parameter('gc.plug.R[8]', low=-0.1, high=0.5) self.add("sc", create("openmdao.lib.components.sleep_comp.SleepComponent")) self.driver.workflow.add("sc") self.set('sc.sleep_time', 1.0)
def create(self,typname,name): ''' create a new object of the given type. ''' try: if (typname.find('.') < 0): self.default(name+'='+typname+'()') else: self.proj.__dict__[name]=create(typname) except Exception, err: self.error(err,sys.exc_info())
def create(self,typname,name): ''' create a new object of the given type. ''' try: if (typname.find('.') < 0): self.default(name+'='+typname+'()') else: self._globals[name]=create(typname) except Exception, err: self.error(err,sys.exc_info())
def add_component(self,name,classname,parentname): ''' add a new component of the given type to the specified parent. ''' if (parentname and len(parentname)>0): parent, root = self.get_container(parentname) if parent: try: if classname in self.proj.__dict__: parent.add(name,self.proj.__dict__[classname]()) else: parent.add(name,create(classname)) except Exception, err: self.error(err,sys.exc_info()) else: print "Error adding component: parent",parentname,"not found."
def create(self, typname, version=None, server=None, res_desc=None, **ctor_args): """ If *typname* is an allowed type, returns an object of type *typname,* using the specified package version, server location, and resource description. All arguments are passed to :meth:`factorymanager.create`. """ self._logger.debug('create typname %r, version %r server %s,' ' res_desc %s, args %s', typname, version, server, res_desc, ctor_args) if typname in self._allowed_types: obj = create(typname, version, server, res_desc, **ctor_args) self._logger.log(LOG_DEBUG2, ' returning %s', obj) return obj else: raise TypeError('%r is not an allowed type' % typname)
def add_component(self,name,classname,parentname): ''' add a new component of the given type to the specified parent. ''' if (parentname and len(parentname)>0): parent = self.top.get(parentname) else: parent = self.top if parent: try: if classname in self._globals: parent.add(name,self._globals[classname]()) else: parent.add(name,create(classname)) except Exception, err: self.error(err,sys.exc_info())