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)
def __init__(self, temp, cool_temp): name = 'ORCC' mixu = FlibeGrTU(cool_temp) Comp.__init__(self, temp, name, [GraphiteCoolMixT(cool_temp)], fill=mixu)
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))
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))
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))
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())
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))
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)
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))
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))
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))
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)
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)
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))
def __init__(self, temp): name = 'VESSEL' ss = SSU(temp) Comp.__init__(self, temp, name, [SS316(temp)], fill=ss)
def __init__(self, temp): name = 'Corebarrel' ssu = SSU(temp) Comp.__init__(self, temp, name, [SS316(temp)], fill=ssu)
def __init__(self, temp): name = 'SHIELD' ss = ShieldU(temp) Comp.__init__(self, temp, name, [ShieldMat(temp)], fill=ss)
def __init__(self, temp): name = 'Downcomer' flibeu = FlibeU(temp) Comp.__init__(self, temp, name, [Flibe(temp)], fill=flibeu)
def __init__(self, name='crcc_seg'): Comp.__init__(self, 0, name, [], gen=CRCCSegGen())
def __init__(self, temp, mat, name='Inf'): Comp.__init__(self, temp, name, [mat], gen=InfGen())
def __init__(self, temp): name = 'OR' gru = BGrU(temp) Comp.__init__(self, temp, name, [BGraphite(temp)], fill=gru)