def test_LightWaterReactor1G_7():
    lf = os.getenv("BRIGHT_DATA") + "/LWR.h5"
    rp = lwr_defaults()
    rp.BUt = 50.0
    lwr = LightWaterReactor1G(lib=lf, rp=rp, n='lwr')
    assert_equal(lwr.libfile, lf)
    assert_equal(lwr.name, 'lwr')
    assert_equal(lwr.track_params, set(["ACT", "BUd", "FP", "LAN", "TRU", "U"]))
    assert_equal(lwr.B, 3)
    assert_equal(lwr.phi, 4.0*(10.0**14))
    assert_equal(lwr.fuel_chemical_form["IHM"], 1.0)
    assert_equal(lwr.fuel_chemical_form["O16"], 2.0)
    assert_equal(lwr.coolant_chemical_form["O16"], 1.0)
    assert_equal(lwr.coolant_chemical_form["H1"], 2.0)
    assert_equal(lwr.coolant_chemical_form["B10"], 0.199 * 550 * (10.0**-6))
    assert_equal(lwr.coolant_chemical_form["B11"], 0.801 * 550 * (10.0**-6))
    assert_equal(lwr.rhoF, 10.7)
    assert_equal(lwr.rhoC, 0.73)
    assert_equal(lwr.P_NL, 0.98)
    assert_equal(lwr.target_BU, 50.0)
    assert_true(lwr.use_zeta)
    assert_equal(lwr.lattice_flag, "Cylindrical")
    assert_true(lwr.rescale_hydrogen_xs)
    assert_equal(lwr.r, 0.412)
    assert_equal(lwr.l, 1.33)
    assert_equal(lwr.S_O, 25.0)
    assert_equal(lwr.S_T, 289.0)
def run_reactormg():
    # Init bright
    libfile = os.getenv("BRIGHT_DATA") + '/lwr_mg.h5'
    load_track_nucs_hdf5(libfile)
    bright_conf.write_text = False
    bright_conf.write_hdf5 = False
    bright_conf.verbosity = 100

    # Init reactor paramters
    rp = lwr_defaults()
    rp.batches = 3
    rp.flux = 4*(10**14)

    rp.fuel_form = {"IHM": 1.0, "O16": 2.0}
    rp.cladding_form = {"ZR93": 0.5, "ZR95": 0.5}
    rp.coolant_form = {"H1": 2.0, "O16": 1.0}

    rp.fuel_density = 10.7
    rp.cladding_density = 5.87
    rp.coolant_density = 0.73

    rp.pnl = 0.9425
    #rp.pnl = 0.98
    #rp.pnl = 1.0
    rp.BUt = 50.0
    rp.use_disadvantage_factor = True
    #rp.lattice_type = 'Spherical'
    rp.lattice_type = 'Cylindrical'
    #rp.lattice_type = 'Planar'
    rp.rescale_hydrogen = True
    rp.burnup_via_constant = 'power'

    rp.fuel_radius = 0.41
    rp.void_radius = 0.4185
    rp.clad_radius = 0.475
    rp.unit_cell_pitch = 1.3127

    rp.open_slots = 25
    rp.total_slots = 289

    bt = list(np.linspace(0.0, 365.0, 10))
    #bt.insert(1, 1.0)
    bt.insert(1, 4.0)
    bt = np.array(bt)
    rp.burn_times = bt

    # Init mass stream
    leu = Material({922350: 0.045, 922380: 0.955})

    # Init ReactorMG
    rmg = ReactorMG(reactor_parameters=rp, name="rmg", tape9='template.tape9')
    rmg.loadlib(libfile)

    # Run the reactor
    #rmg.calc(leu)
    rmg.mat_feed = leu
    rmg.burnup_core()
    return rmg
def test_calc_params():
    lf = os.getenv("BRIGHT_DATA") + "/LWR.h5"
    load_track_nucs_hdf5(lf)
    rp = lwr_defaults()
    rp.BUt = 50.0
    lwr = LightWaterReactor1G(lib=lf, rp=rp, n='lwr')
    lwr.calc(Material({922350: 0.05, 922380:0.95}))
    lwr.calc_params()
    assert_equal(lwr.params_prior_calc["BUd"],  0.0)
    assert_equal(lwr.params_after_calc["BUd"], lwr.BUd)
    assert_equal(lwr.params_prior_calc["U"],  lwr.mat_feed_u.mass)
    assert_equal(lwr.params_after_calc["U"], lwr.mat_prod_u.mass)
    assert_equal(lwr.params_prior_calc["TRU"],  lwr.mat_feed_tru.mass)
    assert_equal(lwr.params_after_calc["TRU"], lwr.mat_prod_tru.mass)
    assert_equal(lwr.params_prior_calc["ACT"],  lwr.mat_feed_act.mass)
    assert_equal(lwr.params_after_calc["ACT"], lwr.mat_prod_act.mass)
    assert_equal(lwr.params_prior_calc["LAN"],  lwr.mat_feed_lan.mass)
    assert_equal(lwr.params_after_calc["LAN"], lwr.mat_prod_lan.mass)
    assert_equal(lwr.params_prior_calc["FP"],  1.0 - lwr.mat_feed_act.mass - lwr.mat_feed_lan.mass)
    assert_equal(lwr.params_after_calc["FP"], 1.0 - lwr.mat_prod_act.mass - lwr.mat_prod_lan.mass)
def test_lwr_defaults():
    lwrd = lwr_defaults()
    assert_equal(lwrd.batches, 3)
    assert_equal(lwrd.flux, 4.0*(10.0**14))
    assert_equal(lwrd.fuel_form["IHM"], 1.0)
    assert_equal(lwrd.fuel_form["O16"], 2.0)
    assert_equal(lwrd.coolant_form["O16"], 1.0)
    assert_equal(lwrd.coolant_form["H1"], 2.0)
    assert_equal(lwrd.coolant_form["B10"], 0.199 * 550 * (10.0**-6))
    assert_equal(lwrd.coolant_form["B11"], 0.801 * 550 * (10.0**-6))
    assert_equal(lwrd.fuel_density, 10.7)
    assert_equal(lwrd.coolant_density, 0.73)
    assert_equal(lwrd.pnl, 0.98)
    assert_equal(lwrd.BUt, 0.0)
    assert_true(lwrd.use_disadvantage_factor)
    assert_equal(lwrd.lattice_type, "Cylindrical")
    assert_true(lwrd.rescale_hydrogen)
    assert_equal(lwrd.fuel_radius, 0.412)
    assert_equal(lwrd.unit_cell_pitch, 1.33)
    assert_equal(lwrd.open_slots, 25.0)
    assert_equal(lwrd.total_slots, 289.0)
示例#5
0
import tables as tb
import numpy as np

from bright import bright_conf, load_track_nucs_hdf5
from bright.reactor_parameters import ReactorParameters, lwr_defaults
from bright.fluence_point import FluencePoint
from bright.reactormg import ReactorMG
from pyne.material import Material
from pyne import nucname

#
# Shortcuts
#

#default_rp = ReactorParameters()
default_rp = lwr_defaults()

default_rp.batches = 3
default_rp.flux = 2*(10**14)

default_rp.fuel_form = {"IHM": 1.0, "O16": 2.0}
default_rp.cladding_form = {"ZR93": 0.5, "ZR95": 0.5}
default_rp.coolant_form = {"H1": 2.0, "O16": 1.0}

default_rp.fuel_density = 10.7
default_rp.cladding_density = 5.87
default_rp.coolant_density = 0.73

default_rp.pnl = 0.98
default_rp.BUt = 50.0
from bright.reactor_parameters import lwr_defaults
LWR_Params = lwr_defaults()

from bright.reactor_parameters import fr_defaults
FR_Params = fr_defaults()

#General Specifications
Quiet = True

#LWR Specifications
LWR_Params.BUt =              51.0 
LWR_Params.batches   =        3 
LWR_Params.pnl      =         0.98 

LWR_Fuel2Mod  =  0.30146786330
                            
#LWR Storage                
LWR_SNF_Storage_Time        =  6
                            
#LWR Reprocessing                         
LWR_SE_U      =              0.999 
LWR_SE_NP     =              0.99 
LWR_SE_PU     =              0.99 
LWR_SE_AM     =              0.99 
LWR_SE_CM     =              0.99 
LWR_SE_CS     =              0.0 
LWR_SE_SR     =              0.0
                            
#FR Specifications                        
#FR_Params.BUt = 176.0						#FR Burnup
FR_Params.BUt = 180.0						#FR Burnup