Esempio n. 1
0
def main():
    
    start = time.time()

    # set default values
    tol = 1.e-8
    cell_size    = 10.0
    solve_method = 'NEM4'
    iterations = 100

    # create mesh
    mesh = Mesh([cell_size,cell_size], [cell_size])
    
    # create fuel
    fuel = Material(2, 'fuel')
    fuel.setSigmaA([0.005, 0.10])
    fuel.setD([1.5, 0.40])
    fuel.setNuSigmaF([0.005, 0.15])
    fuel.setChi([1.0, 0.0])
    fuel.setSigmaS(np.array([[0.0, 0.02],[0.0, 0.0]]))
    
    # create fuel
    moderator = Material(2, 'moderator')
    moderator.setSigmaA([0.0, 0.01])
    moderator.setD([1.5, 0.20])
    moderator.setSigmaS(np.array([[0.0, 0.025],[0.0, 0.0]]))
    
    if solve_method == 'NEM4':
        order = 4
    else:
        order = 2
  
    # add materials to cells
    mesh.cells[0].setMaterial(fuel, order)
    mesh.cells[1].setMaterial(moderator, order)
#     mesh = mesh.refineMesh(.1)
    mesh.makeSurfaces()
    
    # plot the mesh
    pttr.plotMesh(mesh)
    
    # create solver
    solver = Solver(mesh, solve_method)   

    # solve the matrix problem to get flux profile and keff
    solver.solve(tol, iterations)
         
    # plot the flux    
    pttr.plotFlux(solver)
    pttr.plotCellFlux(solver)
    pttr.plotCurrent(solver)

    stop = time.time()
    
    print 'Ran time ' + str(stop-start)[0:5] + ' seconds'

    print '----------------------------------------------------------------------'
Esempio n. 2
0
        mesh_height = int(a)
    elif o in ("-c", "--cell_size"):
        cell_size = int(a)
    elif o in ("-i", "--iterations"):
        iterations = int(a)

    else:
        assert False, "unhandled option"

# create mesh
mesh = Mesh([cell_size, cell_size], [cell_size])

# create fuel
fuel = Material(2, "fuel")
fuel.setSigmaA([0.005, 0.10])
fuel.setD([1.5, 0.40])
fuel.setNuSigmaF([0.005, 0.15])
fuel.setChi([1.0, 0.0])
fuel.setSigmaS(np.array([[0.0, 0.02], [0.0, 0.0]]))

# create fuel
moderator = Material(2, "moderator")
moderator.setSigmaA([0.0, 0.01])
moderator.setD([1.5, 0.20])
moderator.setSigmaS(np.array([[0.0, 0.025], [0.0, 0.0]]))

if solve_method == "NEM4":
    order = 4
else:
    order = 2
Esempio n. 3
0
    elif o in ("-m", "--method"):
        solve_method = a
    elif o in ("-i", "--iterations"):
        iterations = int(a)

    else:
        assert False, "unhandled option"

# create mesh
mesh = Mesh([cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size], 
            [cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size,cell_size])
      
# create fuel 1 blade in
fuel1bin = Material(2, 'fuel 1 blade in')
fuel1bin.setSigmaA([0.0083775, 0.1003211])
fuel1bin.setD([1.255, 0.211])
fuel1bin.setNuSigmaF([0.004602, 0.1091])
fuel1bin.setChi([1.0, 0.0])
fuel1bin.setSigmaS(np.array([[0.0, 0.02533],[0.0, 0.0]]))

# create fuel 1 blade out
fuel1bo = Material(2, 'fuel 1 blade out')
fuel1bo.setSigmaA([0.0073078, 0.07048902])
fuel1bo.setD([1.268, 0.1902])
fuel1bo.setNuSigmaF([0.004609, 0.08675])
fuel1bo.setChi([1.0, 0.0])
fuel1bo.setSigmaS(np.array([[0.0, 0.02767],[0.0, 0.0]]))

# create fuel 2 blade in
fuel2bin = Material(2, 'fuel 2 blade in')
fuel2bin.setSigmaA([0.0081279, 0.08346091])