def test_writes(self):

        my_comp = VarComponent()
        my_comp.listenumvar = [1, 2, 1, 3]
        my_comp.listenumvar2 = [1.5, 1.5]
        my_comp.listenumvar3 = ['b']
        my_comp.listenumvar4 = [False, False, False]
        sb = Namelist(my_comp)
        
        sb.set_filename(self.filename)
        sb.set_title("Testing")

        sb.add_group('FREEFORM')
        sb.add_group('OPTION')
        sb.add_comment("This is a comment")
        sb.add_var("boolvar")
        sb.add_var("intvar")
        sb.add_var("floatvar")
        sb.add_var("textvar")
        sb.add_var("listenumvar")
        sb.add_var("listenumvar2")
        sb.add_var("listenumvar3")
        sb.add_var("listenumvar4")
        
        sb.add_newvar("newcard", "new value")
        
        sb.generate()
        
        f = open(self.filename, 'r')
        contents = f.read()
        
        compare = "Testing\n" + \
                  "FREEFORM\n" + \
                  "&OPTION\n" + \
                  "  This is a comment\n" + \
                  "  boolvar = F\n" + \
                  "  intvar = 333\n" + \
                  "  floatvar = -16.54\n" + \
                  "  textvar = 'This'\n" + \
                  "  listenumvar = 1, 2, 1, 3\n" + \
                  "  listenumvar2 = 1.5, 1.5\n" + \
                  "  listenumvar3 = 'b'\n" + \
                  "  listenumvar4 = F, F, F\n" + \
                  "  newcard = 'new value'\n" + \
                  "/\n"

        self.assertEqual(contents, compare)
Exemplo n.º 2
0
    def test_writes(self):

        my_comp = VarComponent()
        my_comp.listenumvar = [1, 2, 1, 3]
        my_comp.listenumvar2 = [1.5, 1.5]
        my_comp.listenumvar3 = ['b']
        my_comp.listenumvar4 = [False, False, False]
        sb = Namelist(my_comp)

        sb.set_filename(self.filename)
        sb.set_title("Testing")

        sb.add_group('FREEFORM')
        sb.add_group('OPTION')
        sb.add_comment("This is a comment")
        sb.add_var("boolvar")
        sb.add_var("intvar")
        sb.add_var("floatvar")
        sb.add_var("textvar")
        sb.add_var("listenumvar")
        sb.add_var("listenumvar2")
        sb.add_var("listenumvar3")
        sb.add_var("listenumvar4")

        sb.add_newvar("newcard", "new value")

        sb.generate()

        f = open(self.filename, 'r')
        contents = f.read()

        compare = "Testing\n" + \
                  "FREEFORM\n" + \
                  "&OPTION\n" + \
                  "  This is a comment\n" + \
                  "  boolvar = F\n" + \
                  "  intvar = 333\n" + \
                  "  floatvar = -16.54\n" + \
                  "  textvar = 'This'\n" + \
                  "  listenumvar = 1, 2, 1, 3\n" + \
                  "  listenumvar2 = 1.5, 1.5\n" + \
                  "  listenumvar3 = 'b'\n" + \
                  "  listenumvar4 = F, F, F\n" + \
                  "  newcard = 'new value'\n" + \
                  "/\n"

        self.assertEqual(contents, compare)
Exemplo n.º 3
0
    def test_writes(self):

        top = Problem()
        top.root = Group()
        top.root.add('my_comp', VarComponent())

        top.setup(check=False)
        top.run()

        sb = Namelist(top.root.my_comp)

        sb.set_filename(self.filename)
        sb.set_title("Testing")

        sb.add_group('FREEFORM')
        sb.add_group('OPTION')
        sb.add_comment("This is a comment")
        sb.add_var("boolvar")
        sb.add_var("intvar")
        sb.add_var("floatvar")
        sb.add_var("textvar")

        sb.add_newvar("newcard", "new value")

        sb.generate()

        f = open(self.filename, 'r')
        contents = f.read()

        compare = "Testing\n" + \
                  "FREEFORM\n" + \
                  "&OPTION\n" + \
                  "  This is a comment\n" + \
                  "  boolvar = F\n" + \
                  "  intvar = 333\n" + \
                  "  floatvar = -16.54\n" + \
                  "  textvar = 'This'\n" + \
                  "  newcard = 'new value'\n" + \
                  "/\n"

        self.assertEqual(contents, compare)
Exemplo n.º 4
0
    def generate_input(self, FabriOrSub):
        """Creates the DREA input files."""

        # Determine ist, ifab and geometry parameters
        # -------------------------
        if FabriOrSub == 'Fabri':
            self.ist = 1
            self.ifab = 1
        if FabriOrSub == 'Subsonic':
            self.ist = 0
            self.ifab = 0
        self.geom[-1, 0] = self.geo_in.length
        self.geom[0, 1] = (self.geo_in.Apri / 2 +
                           self.geo_in.Asec / 2) / self.geo_in.width
        self.geom[-1, 1] = self.geo_in.Aexit / 2 / self.geo_in.width

        # Create control.in
        # -------------------------
        crt = Namelist(self)
        crt.set_filename("control.in")
        crt.add_group('cntrl')
        crt.add_var("icnvl")
        crt.add_var("ieject")
        crt.add_var("ist")
        crt.add_var("ifab")
        crt.add_var("ispm")
        crt.add_var("iprnt")
        crt.add_var("ipw")
        crt.add_var("nmax")
        crt.generate()

        # Create flocond.in
        # -------------------------
        flw = Namelist(self)
        flw.set_filename("flocond.in")
        flw.add_group('floc')
        flw.add_newvar("p01d", self.flow_in.pri.Pt)
        flw.add_newvar("p02d", self.flow_in.sec.Pt)
        flw.add_newvar("t01d", self.flow_in.pri.Tt)
        flw.add_newvar("t02d", self.flow_in.sec.Tt)
        flw.add_newvar("rm1", self.flow_in.pri.Mach)
        flw.add_newvar("rm2", self.flow_in.sec.Mach)
        flw.add_var("a1d")
        flw.add_var("a2d")
        flw.add_var("a3d")
        flw.add_var("rg")
        flw.add_newvar("gam", self.flow_in.gamma)
        flw.add_newvar("pinf", self.flow_in.Pstatic)
        flw.add_var("rec1")
        flw.add_var("rec2")
        flw.generate()

        # Create expnd.in
        # -------------------------
        exd = Namelist(self)
        exd.set_filename("expnd.in")
        exd.add_group('exd')
        exd.add_var("rm1s")
        exd.add_var("rm2s")
        exd.add_var("dxe")
        exd.add_var("relx"),
        exd.add_var("errm")
        exd.add_var("nmx")
        exd.add_var("intt")
        exd.generate()

        # Create zrdmix.in
        # -------------------------
        zrd = Namelist(self)
        zrd.set_filename("zrdmix.in")
        zrd.add_group('zrd')
        zrd.add_var("BWID")
        zrd.add_newvar("RLD", self.geo_in.length)
        zrd.add_var("RLPRNT")
        zrd.add_var("PR")
        zrd.add_var("CGR")
        zrd.add_var("REVRT")
        zrd.add_newvar("H0LM", self.geo_in.LhWave)
        zrd.add_newvar("H0HY", self.geo_in.LhMh)
        zrd.add_newvar("ALP1", self.geo_in.ChuteAngles)
        zrd.add_newvar("ALP2", self.geo_in.ChuteAngles)
        zrd.add_var("IMAX")
        zrd.add_var("JMAX")
        zrd.generate()

        # Create hwall.in
        # -------------------------
        geom_data = []
        form = "%.15f, %.15f, \n"

        geom_data.append("%d\n" % self.geom.shape[0])

        for element in self.geom:
            geom_data.append(form % (element[0], element[1]))

        outfile = open("hwall.in", 'w')
        outfile.writelines(geom_data)
        outfile.close()
Exemplo n.º 5
0
 def generate_input(self, FabriOrSub):
     """Creates the DREA input files."""
     
     # Determine ist, ifab and geometry parameters
     # -------------------------
     if FabriOrSub == 'Fabri':
         self.ist = 1
         self.ifab = 1
     elif FabriOrSub == 'Subsonic':
         self.ist = 0
         self.ifab = 0
     else:
         msg = 'FabriOrSub should be Fabri or Subsonic'
         raise RuntimeError(msg)
         
     self.geom[-1,0] = self.geo_in.length
     self.geom[0,1] = (self.geo_in.Apri/2+self.geo_in.Asec/2)/self.geo_in.width
     self.geom[-1,1] = self.geo_in.Aexit/2/self.geo_in.width
     
     # Create control.in
     # -------------------------
     crt = Namelist(self)
     crt.set_filename("control.in")
     crt.add_group('cntrl')
     crt.add_var("icnvl")
     crt.add_var("ieject")
     crt.add_newvar("ist", self.ist)
     crt.add_newvar("ifab", self.ifab)
     crt.add_var("ispm")
     crt.add_var("iprnt")
     crt.add_var("ipw")
     crt.add_var("nmax")
     crt.generate()
     
     # Create flocond.in
     # -------------------------
     flw = Namelist(self)
     flw.set_filename("flocond.in")
     flw.add_group('floc')
     flw.add_newvar("p01d", self.flow_in.pri.Pt)
     flw.add_newvar("p02d", self.flow_in.sec.Pt)
     flw.add_newvar("t01d", self.flow_in.pri.Tt)
     flw.add_newvar("t02d", self.flow_in.sec.Tt)
     flw.add_newvar("rm1", self.flow_in.pri.Mach)
     flw.add_newvar("rm2", self.flow_in.sec.Mach)
     flw.add_var("a1d") 
     flw.add_var("a2d")
     flw.add_var("a3d")
     flw.add_var("rg")
     flw.add_newvar("gam", self.flow_in.gamma)
     flw.add_newvar("pinf", self.flow_in.Pstatic)
     flw.add_var("rec1")
     flw.add_var("rec2")
     flw.generate()
     
     # Create expnd.in
     # -------------------------
     exd = Namelist(self)
     exd.set_filename("expnd.in")
     exd.add_group('exd')
     exd.add_var("rm1s")
     exd.add_var("rm2s")
     exd.add_var("dxe")
     exd.add_var("relx"),
     exd.add_var("errm")
     exd.add_var("nmx")
     exd.add_var("intt")
     exd.generate()
     
     # Create zrdmix.in
     # -------------------------
     zrd = Namelist(self)
     zrd.set_filename("zrdmix.in")
     zrd.add_group('zrd')
     zrd.add_var("BWID")
     zrd.add_newvar("RLD", self.geo_in.length)
     zrd.add_var("RLPRNT")
     zrd.add_var("PR")
     zrd.add_var("CGR")
     zrd.add_var("REVRT")
     zrd.add_newvar("H0LM", self.geo_in.LhWave)
     zrd.add_newvar("H0HY", self.geo_in.LhMh)
     zrd.add_newvar("ALP1", self.geo_in.ChuteAngles)
     zrd.add_newvar("ALP2", self.geo_in.ChuteAngles)
     zrd.add_var("IMAX")
     zrd.add_var("JMAX")
     zrd.generate()
     
     # Create hwall.in
     # -------------------------
     geom_data = []
     form = "%.15f, %.15f, \n"
     
     geom_data.append("%d\n" % self.geom.shape[0])
     
     for element in self.geom:
         geom_data.append(form % (element[0], element[1]))
     
     outfile = open("hwall.in", 'w')
     outfile.writelines(geom_data)
     outfile.close()