예제 #1
0
    def __init__(self,
                 fpb_prop,
                 cool_temp,
                 dir_name='serp_input/',
                 name='FuelZone',
                 packing_fraction=0.6):
        self.gen_dir_name = dir_name

        random = False
        if "act" in name:
            random = name[-1]
        fpb_list = self.create_a_pb_unit_cell(fpb_prop, name, random)
        self.unit_cell = FuelUnitCell(fpb_list,
                                      cool_temp,
                                      packing_fraction=packing_fraction,
                                      dir_name=dir_name,
                                      random=random)
        self.unit_cell_lat = PBedLat(self.unit_cell,
                                     self.unit_cell.pitch,
                                     dir_name=dir_name,
                                     random=random)
        Comp.__init__(self,
                      fpb_list[0].temp,
                      name,
                      self.unit_cell_lat.mat_list,
                      gen=Gen(dir_name),
                      fill=self.unit_cell_lat)
예제 #2
0
 def __init__(self, temp, cool_temp):
     name = 'ORCC'
     mixu = FlibeGrTU(cool_temp)
     Comp.__init__(self,
                   temp,
                   name, [GraphiteCoolMixT(cool_temp)],
                   fill=mixu)
예제 #3
0
파일: pb.py 프로젝트: xwa9860/FIG
 def __init__(self, triso, cg_temp, shell_temp, dir_name='serp_input/'):
     '''
     cg_temp: central graphite kernel temperature
     '''
     self.triso = triso
     self.tr_lat = TrisoLattice(self.triso)
     self.layer = [
         'CentralGraphite',
         'TrLat',
         'Shell']
     mat = [CentralGraphite(cg_temp), Shell(shell_temp)]
     mat.extend(self.tr_lat.mat_list)
     self.dr_config = {
         'CentralGraphite': 1.25114,  # cm
         'TrLat': 0.14886,  # cm
         'Shell': 0.1000  # cm
     }
     self.calculate_r()
     self.name = 'fuelPb'+self.tr_lat.name
     Comp.__init__(
         self,
         self.triso.temp,
         self.name,
         mat,
         FuelPbGen(dir_name))
예제 #4
0
파일: pb.py 프로젝트: xwa9860/FIG
 def __init__(self, temp, dir_name='serp_input/'):
     self.r = 1.5   # cm
     self.temp = temp
     # self.filling = {'Graphite':Graphite(self.temp)}
     self.mat_list = [Graphite(temp)]
     self.name = 'Graphite'+str(self.temp)
     Comp.__init__(self, self.temp, self.name, self.mat_list, GPbGen(dir_name))
예제 #5
0
파일: pb.py 프로젝트: GiudGiud/FIG
 def __init__(self, temp, dir_name='serp_input/'):
     self.r = 1.5  # cm
     self.temp = temp
     # self.filling = {'Graphite':Graphite(self.temp)}
     self.mat_list = [Graphite(temp)]
     self.name = 'Graphite' + str(self.temp)
     Comp.__init__(self, self.temp, self.name, self.mat_list,
                   GPbGen(dir_name))
예제 #6
0
 def __init__(self, triso_particle, pf=0.4):
     '''pf: packing fraction
     '''
     self.triso_particle = triso_particle
     self.temp = triso_particle.temp
     self.name = 'trisoLat'+triso_particle.name
     self.pitch = ((4/3.0*math.pi*0.0405**3)/pf)**(1/3.0)
     self.mat_list = self.triso_particle.mat_list
     Comp.__init__(self, self.temp, self.name, self.mat_list,
                   TrisoLatticeGen())
예제 #7
0
파일: triso.py 프로젝트: xwa9860/FIG
 def __init__(self, triso_particle, pf=0.4):
     '''pf: packing fraction
     '''
     self.triso_particle = triso_particle
     self.temp = triso_particle.temp
     self.name = 'trisoLat'+triso_particle.name
     self.pitch = ((4/3.0*math.pi*0.0405**3)/pf)**(1/3.0)
     self.mat_list = self.triso_particle.mat_list
     Comp.__init__(self, self.temp, self.name, self.mat_list,
                   TrisoLatticeGen())
예제 #8
0
파일: pbed.py 프로젝트: GiudGiud/FIG
 def __init__(self, pbed, pitch, dir_name='serp_input',random=False):
     ''' arg:
         pbed: fuel pebble or graphite pebble unit cell
         pitch: pitch between two fcc unit cells
     '''
     name = 'pbedLat' + pbed.name
     self.pitch = pitch
     mat_list = pbed.mat_list
     self.pbed = pbed
     Comp.__init__(self, pbed.temp, name,
                   mat_list, gen=PBedLatGen(dir_name, random=random))
예제 #9
0
파일: pbed.py 프로젝트: GiudGiud/FIG
 def __init__(self,
              coolant, pb_list,
              dir_name='serp_input/',
              gen=PBedGen('serp_input/')):
     self.coolant = coolant
     self.pb_list = pb_list
     temp = coolant.temp
     mat_list = self.collect_mat()
     name = type(self).__name__
     Comp.__init__(self, temp, name,
                   mat_list, gen=gen)
예제 #10
0
파일: pbed.py 프로젝트: xwa9860/FIG
 def __init__(self, pbed, pitch, dir_name='serp_input'):
     ''' arg:
         pbed: fuel pebble or graphite pebble unit cell
         pitch: pitch between two fcc unit cells
     '''
     name = 'pbedLat' + pbed.name
     self.pitch = pitch
     mat_list = pbed.mat_list
     self.pbed = pbed
     Comp.__init__(self, pbed.temp, name,
                   mat_list, gen=PBedLatGen(dir_name))
예제 #11
0
    def __init__(self,
                 coating_t_list,
                 fuel_list,
                 dr_config=None,
                 dir_name='serp_input'):
        '''
        coating_t_list: non_fuel coating layers temperatures in a list
        fuel_list: fuel material in a list
        dr_config: thickness of the layers
        '''
        if dr_config == None:
            assert len(coating_t_list) == 5, 'wrong temperature number %d' %(len(coating_t_list))
        elif dr_config =='homogenized':
            assert len(coating_t_list) == 1, 'wrong temperature number %d' %len(coating_t_list)
        else:
            print(ValueError, 'triso dr_config not implemented')

        # materials
        self.mat_list = []
        if not dr_config:
            for fuel in fuel_list:
                self.mat_list.append(fuel)
            self.mat_list.extend([Buffer(coating_t_list[0]),
                                  iPyC(coating_t_list[1]),
                                  SiC(coating_t_list[2]),
                                  oPyC(coating_t_list[3]),
                                  Matrix(coating_t_list[4])])
        elif dr_config == 'homogenized':
            for fuel in fuel_list:
                self.mat_list.append(fuel)
            self.mat_list.append(CMatrix(coating_t_list[0]))

        dr_list = []
        self.dr_config = {}
        # fuel layers radius
        for i, fuel in enumerate(fuel_list):
            tot_nb = len(fuel_list)
            tot_r = 0.02
            dr_list.append(((tot_r**3.0)/float(tot_nb)*(i+1))**(1/3.0) - ((tot_r**3.0)/float(tot_nb)*(i))**(1/3.0))
        if not dr_config:
            dr_list.extend([0.01, 0.0035, 0.0035, 0.0035])
        elif dr_config == 'homogenized':
            assert len(self.mat_list) == len(fuel_list) + 1, 'wrong length of mat_list'
        for i, dr in enumerate(dr_list):
            self.dr_config[self.mat_list[i].name] = dr

        assert len(coating_t_list) + len(fuel_list) == 1 + len(self.dr_config), '''
        coating_t_list and fuel_list for triso particle needs %d
        temperature values, got %d and %d''' % (len(self.dr_config),
                                                len(coating_t_list),
                                                len(fuel_list))
        name = 'triso'+fuel.name
        self.calculate_r()
        Comp.__init__(self, fuel.temp, name, self.mat_list, TrisoGen(dir_name))
예제 #12
0
파일: pbed.py 프로젝트: xwa9860/FIG
 def __init__(self,
              coolant, pb_list,
              dir_name='serp_input/',
              gen=PBedGen('serp_input/')):
     self.coolant = coolant
     self.pb_list = pb_list
     temp = coolant.temp
     mat_list = self.collect_mat()
     name = type(self).__name__
     Comp.__init__(self, temp, name,
                   mat_list, gen=gen)
예제 #13
0
파일: triso.py 프로젝트: xwa9860/FIG
    def __init__(self,
                 coating_t_list, 
                 fuel_list, 
                 dr_config=None, 
                 dir_name='serp_input'):
        '''
        coating_t_list: non_fuel coating layers temperatures in a list
        fuel_list: fuel material in a list
        dr_config: thickness of the layers
        '''
        if dr_config == None:
            assert len(coating_t_list) == 5, 'wrong temperature number %d' %(len(coating_t_list))
        elif dr_config =='homogenized':
            assert len(coating_t_list) == 1, 'wrong temperature number %d' %len(coating_t_list)
        else:
            raise ValueError, 'triso dr_config not implemented'

        # materials
        self.mat_list = []
        if not dr_config:
            for fuel in fuel_list:
                self.mat_list.append(fuel)
            self.mat_list.extend([Buffer(coating_t_list[0]),
                                  iPyC(coating_t_list[1]),
                                  SiC(coating_t_list[2]),
                                  oPyC(coating_t_list[3]),
                                  Matrix(coating_t_list[4])])
        elif dr_config == 'homogenized':
            for fuel in fuel_list:
                self.mat_list.append(fuel)
            self.mat_list.append(CMatrix(coating_t_list[0]))

        dr_list = []
        self.dr_config = {}
        # fuel layers radius
        for i, fuel in enumerate(fuel_list):
            tot_nb = len(fuel_list)
            tot_r = 0.02
            dr_list.append(((tot_r**3.0)/float(tot_nb)*(i+1))**(1/3.0) - ((tot_r**3.0)/float(tot_nb)*(i))**(1/3.0))
        if not dr_config:
            dr_list.extend([0.01, 0.0035, 0.0035, 0.0035])
        elif dr_config == 'homogenized':
            assert len(self.mat_list) == len(fuel_list) + 1, 'wrong length of mat_list'
        for i, dr in enumerate(dr_list):
            self.dr_config[self.mat_list[i].name] = dr

        assert len(coating_t_list) + len(fuel_list) == 1 + len(self.dr_config), '''
        coating_t_list and fuel_list for triso particle needs %d
        temperature values, got %d and %d''' % (len(self.dr_config),
                                                len(coating_t_list),
                                                len(fuel_list))
        name = 'triso'+fuel.name
        self.calculate_r()
        Comp.__init__(self, fuel.temp, name, self.mat_list, TrisoGen(dir_name))
예제 #14
0
파일: blanket.py 프로젝트: xwa9860/FIG
 def __init__(self, pb_temp, cool_temp,
              packing_fraction=0.6,
              dir_name='serp_input/'):
     self.pb_temp = pb_temp
     self.cool_temp = cool_temp
     name = 'Blanket'
     self.unit_cell = GraphiteUnitCell(self.pb_temp, self.cool_temp,
                                       packing_fraction=packing_fraction,
                                       dir_name=dir_name)
     self.unit_cell_lat = PBedLat(self.unit_cell, self.unit_cell.pitch)
     Comp.__init__(self, pb_temp, name, self.unit_cell_lat.mat_list,
                   gen=Gen(dir_name),
                   fill=self.unit_cell_lat)
예제 #15
0
파일: fuel.py 프로젝트: xwa9860/FIG
 def __init__(self,
              fpb_prop,
              cool_temp,
              dir_name='serp_input/',
              name = 'FuelZone',
              packing_fraction=0.6):
     self.gen_dir_name = dir_name
     fpb_list = self.create_a_pb_unit_cell(fpb_prop, name)
     self.unit_cell = FuelUnitCell(fpb_list,
                                   cool_temp,
                                   packing_fraction=packing_fraction,
                                   dir_name=dir_name)
     self.unit_cell_lat = PBedLat(self.unit_cell,
                                  self.unit_cell.pitch,
                                  dir_name=dir_name)
     Comp.__init__(self, fpb_list[0].temp, name,
                   self.unit_cell_lat.mat_list,
                   gen=Gen(dir_name),
                   fill=self.unit_cell_lat)
예제 #16
0
파일: blanket.py 프로젝트: GiudGiud/FIG
 def __init__(self,
              pb_temp,
              cool_temp,
              packing_fraction=0.6,
              dir_name='serp_input/'):
     self.pb_temp = pb_temp
     self.cool_temp = cool_temp
     name = 'Blanket'
     self.unit_cell = GraphiteUnitCell(self.pb_temp,
                                       self.cool_temp,
                                       packing_fraction=packing_fraction,
                                       dir_name=dir_name)
     self.unit_cell_lat = PBedLat(self.unit_cell, self.unit_cell.pitch)
     Comp.__init__(self,
                   pb_temp,
                   name,
                   self.unit_cell_lat.mat_list,
                   gen=Gen(dir_name),
                   fill=self.unit_cell_lat)
예제 #17
0
파일: pb.py 프로젝트: GiudGiud/FIG
 def __init__(self,
              triso,
              cg_temp,
              shell_temp,
              dir_name='serp_input/',
              random=False):
     '''
     cg_temp: central graphite kernel temperature
     '''
     self.triso = triso
     self.tr_lat = TrisoLattice(self.triso)
     self.layer = ['CentralGraphite', 'TrLat', 'Shell']
     mat = [CentralGraphite(cg_temp), Shell(shell_temp)]
     mat.extend(self.tr_lat.mat_list)
     self.dr_config = {
         'CentralGraphite': 1.25114,  # cm
         'TrLat': 0.14886,  # cm
         'Shell': 0.1000  # cm
     }
     self.calculate_r()
     self.name = 'fuelPb' + self.tr_lat.name
     Comp.__init__(self, self.triso.temp, self.name, mat,
                   FuelPbGen(dir_name, random))
예제 #18
0
파일: vessel.py 프로젝트: xwa9860/FIG
 def __init__(self, temp):
     name = 'VESSEL'
     ss = SSU(temp)
     Comp.__init__(self, temp, name, [SS316(temp)], fill=ss)
예제 #19
0
파일: corebarrel.py 프로젝트: xwa9860/FIG
 def __init__(self, temp):
     name = 'Corebarrel'
     ssu = SSU(temp)
     Comp.__init__(self, temp, name, [SS316(temp)], fill=ssu)
예제 #20
0
 def __init__(self, temp):
     name = 'SHIELD'
     ss = ShieldU(temp)
     Comp.__init__(self, temp, name, [ShieldMat(temp)], fill=ss)
예제 #21
0
파일: downcomer.py 프로젝트: GiudGiud/FIG
 def __init__(self, temp):
     name = 'Downcomer'
     flibeu = FlibeU(temp)
     Comp.__init__(self, temp, name, [Flibe(temp)], fill=flibeu)
예제 #22
0
 def __init__(self, name='crcc_seg'):
     Comp.__init__(self, 0, name, [], gen=CRCCSegGen())
예제 #23
0
파일: downcomer.py 프로젝트: xwa9860/FIG
 def __init__(self, temp):
     name = 'Downcomer'
     flibeu = FlibeU(temp)
     Comp.__init__(self, temp, name, [Flibe(temp)], fill=flibeu)
예제 #24
0
파일: infu.py 프로젝트: GiudGiud/FIG
 def __init__(self, temp, mat, name='Inf'):
     Comp.__init__(self, temp, name, [mat], gen=InfGen())
예제 #25
0
 def __init__(self, temp):
     name = 'OR'
     gru = BGrU(temp)
     Comp.__init__(self, temp, name, [BGraphite(temp)], fill=gru)
예제 #26
0
파일: vessel.py 프로젝트: GiudGiud/FIG
 def __init__(self, temp):
     name = 'VESSEL'
     ss = SSU(temp)
     Comp.__init__(self, temp, name, [SS316(temp)], fill=ss)
예제 #27
0
파일: shield.py 프로젝트: xwa9860/FIG
 def __init__(self, temp):
     name = 'SHIELD'
     ss = ShieldU(temp)
     Comp.__init__(self, temp, name, [ShieldMat(temp)], fill=ss)
예제 #28
0
파일: corebarrel.py 프로젝트: GiudGiud/FIG
 def __init__(self, temp):
     name = 'Corebarrel'
     ssu = SSU(temp)
     Comp.__init__(self, temp, name, [SS316(temp)], fill=ssu)
예제 #29
0
 def __init__(self, name='crcc_seg'):
   Comp.__init__(self, 0, name, [], gen=CRCCSegGen())