# Geometry geoFile = pwdpath + '/geometry/1d_keigen.geo' # Materials import spytran.utils.pinCellMatCalc as pcm pinMaterial = pcm.createPinCellMat() materialDict = {'mat_1': pinMaterial, 'mat_2': pinMaterial} # Boundary conditions bcDict = {'bc1': 'ref', 'bc2': 'ref'} # Volumetric sources srcDict = {'mat_1': 'fission', 'mat_2': 'fission'} # Init solver slv = spytran.SnSolver(geoFile, materialDict, bcDict, srcDict, nG=nG, sN=sN, space='dg') # Solve slv.kSolve(residTol=1e-6, kTol=1e-5) slv.writeData(pwdpath + '/output/1Dtestout.h5') # Plot from spytran.fe.post import Fe1DOutput as fe1Dplt plotter = fe1Dplt(pwdpath + '/output/1Dtestout.h5') for i in range(nG): plotter.plotScalarFlux(i, fname=pwdpath + '/output/scflux.png') plotter.plotTotalFlux(fname=pwdpath + '/output/totflux.png')
}) materialDict = {'mat_1': modMat, 'mat_2': borMat} # Boundary conditions bcDict = {'bc1': 'ref', 'bc2': 'vac', 'bc3': 'ref', 'bc4': 'vac'} # Volumetric sources src = np.zeros((10, 12)) srcStrength = 1.e10 # [n / cm**3-s] src[0, :] = srcStrength srcDict = {'mat_1': None, 'mat_2': src} # Init solver slv = spytran.SnSolver(geoFile, materialDict, bcDict, srcDict, nG=nG, sN=sN, dim=2) # Solve slv.trSolve(residTol=1e-5) slv.writeData(pwdpath + '/output/2Dtestout.h5') # Plot # Plot from spytran.fe.post import Fe2DOutput as fe2Dplt plotter = fe2Dplt(pwdpath + '/output/2Dtestout.h5') plotter.writeToVTK(fname=pwdpath + '/output/2Dmregion')