def run(nodefile, elefile, matfile, eq_type, eigenvalue, source, name): # Setup Problem grid = FEGrid(nodefile, elefile) mats = Materials(matfile) if eq_type == 'NDA': op = NDA(grid, mats) ua_bool = False elif eq_type == 'TGNDA': op = NDA(grid, mats) ua_bool = True elif eq_type == 'SAAF': op = SAAF(grid, mats) elif eq_type == 'Diffusion': op = Diffusion(grid, mats) else: raise Exception("Equation type not supported.") solver = Solver(op) if eq_type == 'NDA' or eq_type == 'TGNDA': fluxes = solver.solve(source, ua_bool=ua_bool, eigenvalue=eigenvalue) else: fluxes = solver.solve(source, eigenvalue=eigenvalue) # Print Eigenvalue if eigenvalue: print("Eigenvalue: ", fluxes['k']) # Save Fluxes phis = fluxes['Phi'] np.savetxt(eq_type + "_" + name + ".out", phis) # Plot Everything for g in range(mats.get_num_groups()): scalar_flux = phis[g] plot(grid, scalar_flux, name + "_scalar_flux" + "_group" + str(g))
def setup_class(cls): cls.stdnode = "test/test_inputs/std.node" cls.stdele = "test/test_inputs/std.ele" cls.stdgrid = FEGrid(cls.stdnode, cls.stdele) cls.fissionfile = "test/test_inputs/fissiontest.mat" cls.fissionmat = Materials(cls.fissionfile) cls.fissop = Diffusion(cls.stdgrid, cls.fissionmat) cls.solver = Solver(cls.fissop) cls.symnode = "test/test_inputs/symmetric_fine.node" cls.symele = "test/test_inputs/symmetric_fine.ele" cls.symgrid = FEGrid(cls.symnode, cls.symele) cls.symfissop = Diffusion(cls.symgrid, cls.fissionmat) cls.symsolver = Solver(cls.symfissop) cls.orignode = "test/test_inputs/origin_centered10_fine.node" cls.origele = "test/test_inputs/origin_centered10_fine.ele" cls.origrid = FEGrid(cls.orignode, cls.origele) cls.twoscatfile = "test/test_inputs/scattering2g.mat" cls.twoscatmat = Materials(cls.twoscatfile) cls.twop = Diffusion(cls.origrid, cls.twoscatmat) cls.twosolv = Solver(cls.twop) cls.onescatfile = "test/test_inputs/scattering1g.mat" cls.onescatmat = Materials(cls.onescatfile) cls.oneop = Diffusion(cls.symgrid, cls.onescatmat) cls.onesolv = Solver(cls.oneop) cls.noscatfile = "test/test_inputs/noscatter.mat" cls.noscatmat = Materials(cls.noscatfile) cls.nop = Diffusion(cls.symgrid, cls.noscatmat) cls.nosolv = Solver(cls.nop)
def to_problem(mesh, mat, filename): nodefile = "../test_inputs/" + mesh + ".node" elefile = "../test_inputs/" + mesh + ".ele" matfile = "../test_inputs/" + mat + ".mat" grid = FEGrid(nodefile, elefile) mats = Materials(matfile) n_elements = grid.num_elts num_groups = mats.get_num_groups() op = NDA(grid, mats) solver = Solver(op) return Problem(op=op, mats=mats, grid=grid, solver=solver, filename=filename)
def setup_class(cls): cls.nodefile = "test/test_inputs/box_source.node" cls.elefile = "test/test_inputs/box_source.ele" cls.matfile = "test/test_inputs/box_source.mat" cls.fegrid = FEGrid(cls.nodefile, cls.elefile) cls.materials = Materials(cls.matfile) cls.operator = Diffusion(cls.fegrid, cls.materials)
def setup_class(cls): cls.nodefile = "test/test_inputs/std3.node" cls.elefile = "test/test_inputs/std3.ele" cls.matfile = "test/test_inputs/noscatter.mat" cls.fegrid = FEGrid(cls.nodefile, cls.elefile) cls.mats = Materials(cls.matfile) cls.op = NDA(cls.fegrid, cls.mats)
def setup_class(cls): cls.stdnode = "test/test_inputs/std.node" cls.stdele = "test/test_inputs/std.ele" cls.stdgrid = FEGrid(cls.stdnode, cls.stdele) cls.fissionfile = "test/test_inputs/fissiontest.mat" cls.fissionmat = Materials(cls.fissionfile) cls.fissop = Diffusion(cls.stdgrid, cls.fissionmat) cls.helper = Helper(cls.stdgrid, cls.fissionmat)
def setup_class(cls): cls.nodefile = "test/test_inputs/mesh0.node" cls.elefile = "test/test_inputs/mesh0.ele" cls.matfile = "test/test_inputs/mesh0_test.mat" cls.fegrid = FEGrid(cls.nodefile, cls.elefile) cls.mats = Materials(cls.matfile) cls.op = SAAF(cls.fegrid, cls.mats) cls.node2file = "test/test_inputs/mesh2.node" cls.ele2file = "test/test_inputs/mesh2.ele" cls.mat2file = "test/test_inputs/mesh2_test.mat" cls.fe2grid = FEGrid(cls.node2file, cls.ele2file) cls.mats2 = Materials(cls.mat2file) cls.op2 = SAAF(cls.fe2grid, cls.mats2) cls.stdnode = "test/test_inputs/std.node" cls.stdele = "test/test_inputs/std.ele" cls.stdmatfile = "test/test_inputs/std_test.mat" cls.stdmats = Materials(cls.stdmatfile) cls.stdgrid = FEGrid(cls.stdnode, cls.stdele) cls.stdop = SAAF(cls.stdgrid, cls.stdmats) cls.std3node = "test/test_inputs/std3.node" cls.std3ele = "test/test_inputs/std3.ele" cls.std3matfile = "test/test_inputs/std3_test.mat" cls.std3mats = Materials(cls.std3matfile) cls.std3grid = FEGrid(cls.std3node, cls.std3ele) cls.std3op = SAAF(cls.std3grid, cls.std3mats) cls.nsnode = "test/test_inputs/nonstd.1.node" cls.nsele = "test/test_inputs/nonstd.1.ele" cls.nsmatfile = "test/test_inputs/nonstd_test.mat" cls.nsmats = Materials(cls.nsmatfile) cls.nsgrid = FEGrid(cls.nsnode, cls.nsele) cls.nsop = SAAF(cls.nsgrid, cls.nsmats) cls.smnode = "test/test_inputs/D.node" cls.smele = "test/test_inputs/D.ele" cls.smgrid = FEGrid(cls.smnode, cls.smele) cls.smop = SAAF(cls.smgrid, cls.mats) cls.symnode = "test/test_inputs/symmetric_fine.node" cls.symele = "test/test_inputs/symmetric_fine.ele" cls.symmatfile = "test/test_inputs/symmetricfine_test.mat" cls.symmat = Materials(cls.symmatfile) cls.symgrid = FEGrid(cls.symnode, cls.symele) cls.symop = SAAF(cls.symgrid, cls.symmat) cls.scatmatfile = "test/test_inputs/scattering1g.mat" cls.scatmat = Materials(cls.scatmatfile) cls.scatop = SAAF(cls.stdgrid, cls.scatmat) cls.scat3op = SAAF(cls.std3grid, cls.scatmat) cls.fissionmatfile = "test/test_inputs/fissiontest.mat" cls.fissionmat = Materials(cls.fissionmatfile) cls.fissionop = SAAF(cls.stdgrid, cls.fissionmat)
def setup_class(cls): cls.nodefile = "test/test_inputs/symmetric.node" cls.elefile = "test/test_inputs/symmetric.ele" cls.matfile = "test/test_inputs/3gtest.mat" cls.fegrid = FEGrid(cls.nodefile, cls.elefile) cls.mats = Materials(cls.matfile) cls.op = NDA(cls.fegrid, cls.mats) cls.num_groups = cls.mats.get_num_groups cls.upscatter_accelerator = UA(cls.op)
def setup_class(cls): cls.nodefile = "test/test_inputs/std3.node" cls.elefile = "test/test_inputs/std3.ele" cls.matfile = "test/test_inputs/noscatter.mat" cls.fegrid = FEGrid(cls.nodefile, cls.elefile) cls.mats = Materials(cls.matfile) cls.op = NDA(cls.fegrid, cls.mats) cls.symnode = "test/test_inputs/symmetric_fine.node" cls.symele = "test/test_inputs/symmetric_fine.ele" cls.symgrid = FEGrid(cls.symnode, cls.symele) cls.nop = NDA(cls.symgrid, cls.mats) cls.nosolv = Solver(cls.nop) cls.onescatfile = "test/test_inputs/scattering1g.mat" cls.onescatmat = Materials(cls.onescatfile) cls.oneop = NDA(cls.symgrid, cls.onescatmat) cls.onesolv = Solver(cls.oneop) cls.orignode = "test/test_inputs/origin_centered10_fine.node" cls.origele = "test/test_inputs/origin_centered10_fine.ele" cls.origrid = FEGrid(cls.orignode, cls.origele) cls.twomatfile = "test/test_inputs/scattering2g.mat" cls.twoscatmat = Materials(cls.twomatfile) cls.twop = NDA(cls.origrid, cls.twoscatmat) cls.twosolv = Solver(cls.twop)
def setup_class(cls): cls.filename = "test/test_inputs/test.mat" cls.materials = Materials(cls.filename) cls.multigroup = "test/test_inputs/multigroup_test.mat"
def setup_class(cls): cls.nodefile = "test/test_inputs/mesh0.node" cls.elefile = "test/test_inputs/mesh0.ele" cls.matfile = "test/test_inputs/mesh0_test.mat" cls.fegrid = FEGrid(cls.nodefile, cls.elefile) cls.mats = Materials(cls.matfile) cls.op = SAAF(cls.fegrid, cls.mats) cls.node2file = "test/test_inputs/mesh2.node" cls.ele2file = "test/test_inputs/mesh2.ele" cls.mat2file = "test/test_inputs/mesh2_test.mat" cls.fe2grid = FEGrid(cls.node2file, cls.ele2file) cls.mats2 = Materials(cls.mat2file) cls.op2 = SAAF(cls.fe2grid, cls.mats2) cls.solv2 = Solver(cls.op2) cls.stdnode = "test/test_inputs/std.node" cls.stdele = "test/test_inputs/std.ele" cls.stdmatfile = "test/test_inputs/std_test.mat" cls.stdmats = Materials(cls.stdmatfile) cls.stdgrid = FEGrid(cls.stdnode, cls.stdele) cls.stdop = SAAF(cls.stdgrid, cls.stdmats) cls.std3node = "test/test_inputs/std3.node" cls.std3ele = "test/test_inputs/std3.ele" cls.std3matfile = "test/test_inputs/std3_test.mat" cls.std3mats = Materials(cls.std3matfile) cls.std3grid = FEGrid(cls.std3node, cls.std3ele) cls.std3op = SAAF(cls.std3grid, cls.std3mats) cls.nsnode = "test/test_inputs/nonstd.1.node" cls.nsele = "test/test_inputs/nonstd.1.ele" cls.nsmatfile = "test/test_inputs/nonstd_test.mat" cls.nsmats = Materials(cls.nsmatfile) cls.nsgrid = FEGrid(cls.nsnode, cls.nsele) cls.nsop = SAAF(cls.nsgrid, cls.nsmats) cls.smnode = "test/test_inputs/D.node" cls.smele = "test/test_inputs/D.ele" cls.smgrid = FEGrid(cls.smnode, cls.smele) cls.smop = SAAF(cls.smgrid, cls.mats) cls.symnode = "test/test_inputs/symmetric_fine.node" cls.symele = "test/test_inputs/symmetric_fine.ele" cls.symmatfile = "test/test_inputs/noscatter.mat" cls.symmat = Materials(cls.symmatfile) cls.symgrid = FEGrid(cls.symnode, cls.symele, sn_ord=2) cls.symop = SAAF(cls.symgrid, cls.symmat) cls.symsolv = Solver(cls.symop) cls.scatmatfile = "test/test_inputs/scattering1g.mat" cls.scatmat = Materials(cls.scatmatfile) cls.scatop = SAAF(cls.stdgrid, cls.scatmat) cls.scat3op = SAAF(cls.std3grid, cls.scatmat) cls.oneop = SAAF(cls.symgrid, cls.scatmat) cls.onesolv = Solver(cls.oneop) cls.orignode = "test/test_inputs/origin_centered10_fine.node" cls.origele = "test/test_inputs/origin_centered10_fine.ele" cls.origrid = FEGrid(cls.orignode, cls.origele) cls.twomatfile = "test/test_inputs/scattering2g.mat" cls.twoscatmat = Materials(cls.twomatfile) cls.twop = SAAF(cls.origrid, cls.twoscatmat) cls.twosolv = Solver(cls.twop) cls.fissionmatfile = "test/test_inputs/fissiontest.mat" cls.fissionmat = Materials(cls.fissionmatfile) cls.fissionop = SAAF(cls.symgrid, cls.fissionmat) cls.fissolv = Solver(cls.fissionop)