state.problem_data['co'] = material.co state.problem_data['zo'] = material.zo state.problem_data['dx'] = state.grid.x.delta state.problem_data['nl'] = nl state.problem_data['psi'] = psi source._dx = state.grid.x.delta material._dx = state.grid.x.delta # array initialization source.init(state) material.init(state) state.q = state.q * state.aux[0:2, :] # controller claw = pyclaw.Controller() claw.tfinal = tf claw.num_output_times = num_frames claw.solver = solver claw.solution = pyclaw.Solution(state, domain) claw.outdir = outdir claw.write_aux_always = True return claw if __name__ == "__main__": import sys from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(em1D)
state.mp = 1 grid = state.grid state.aux = setaux(grid.x.centers,grid.y.centers) #Initial condition qinit(state,A,x0,y0,varx,vary) claw.solution = pyclaw.Solution(state,domain) claw.num_output_times = num_output_times claw.compute_p = compute_p if disable_output: claw.output_format = None claw.compute_F = compute_F claw.solution.state.keep_gauges = True claw.solution.state.grid.add_gauges([[25.0,0.75],[50.0,0.75],[75.0,0.75],[25.0,1.25],[50.0,1.25],[75.0,1.25]]) solver.compute_gauge_values = gauge_pfunction claw.write_aux_init = False #Solve status = claw.run() if iplot: pyclaw.plot.interactive_plot() if htmlplot: pyclaw.plot.html_plot() return claw.solution.state if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(psystem2D)
x0 = -0.5; y0 = 0. r = np.sqrt((X-x0)**2 + (Y-y0)**2) width=0.1; rad=0.25 state.q[0,:,:] = (np.abs(r-rad)<=width)*(1.+np.cos(np.pi*(r-rad)/width)) state.q[1,:,:] = 0. state.q[2,:,:] = 0. claw = pyclaw.Controller() claw.keep_copy = True if disable_output: claw.output_format = None claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.outdir=outdir claw.num_output_times = 20 claw.write_aux_init = True # Solve claw.tfinal = 0.6 status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir,file_format=claw.output_format) if iplot: pyclaw.plot.interactive_plot(outdir=outdir,file_format=claw.output_format) return claw if __name__=="__main__": import sys from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(acoustics2D)
#,refinement_criterion=refinement_criterion ) claw.solution = amrclaw.Solution(state, domain) else: raise Exception('unsupported amr_type %s' % amr_type) else: claw.solver = solver claw.solution = pyclaw.Solution(state,domain) #claw.keep_copy = True #claw.outdir = outdir claw.keep_copy = False claw.output_format = None claw.outdir = None claw.num_output_times = 10 #=========================================================================== # Plot results #=========================================================================== if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main run_app_from_main(shallow2D)
solver.bc_upper[1] = pyclaw.BC.extrap #Aux variable in ghost cells doesn't matter solver.aux_bc_lower[0] = pyclaw.BC.extrap solver.aux_bc_upper[0] = pyclaw.BC.extrap solver.aux_bc_lower[1] = pyclaw.BC.extrap solver.aux_bc_upper[1] = pyclaw.BC.extrap claw = pyclaw.Controller() claw.keep_copy = True if disable_output: claw.output_format = None # The output format MUST be set to petsc! claw.tfinal = tfinal claw.solution = initial_solution claw.solver = solver claw.num_output_times = 1 claw.outdir = outdir # Solve status = claw.run() if htmlplot: pyclaw.plot.html_plot(file_format=claw.output_format) if iplot: pyclaw.plot.interactive_plot(file_format=claw.output_format) return claw.frames[claw.num_output_times].state if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shockbubble)
solver.aux_bc_upper[0] = pyclaw.BC.extrap solver.aux_bc_lower[1] = pyclaw.BC.extrap solver.aux_bc_upper[1] = pyclaw.BC.extrap solver.aux_bc_lower[2] = pyclaw.BC.custom solver.aux_bc_upper[2] = pyclaw.BC.custom solver.user_aux_bc_lower = customAuxBCLowerZ solver.user_aux_bc_upper = customAuxBCUpperZ # Solver Parameters claw = pyclaw.Controller() claw.verbosity = 4 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.output_format = output_format claw.output_file_prefix = file_prefix claw.keep_copy = False if disable_output: claw.output_format = None claw.tfinal = tfinal claw.num_output_times = num_output_times claw.outdir = outdir #state.mp = 1 #claw.compute_p = outputDensity return claw # __main__() if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(euler3d)
""" Specify what is to be plotted at each frame. Input: plotdata, an instance of visclaw.data.ClawPlotData. Output: a modified version of plotdata. """ plotdata.clearfigures() # clear any old figures,axes,items data plotfigure = plotdata.new_plotfigure(name='', figno=0) plotaxes = plotfigure.new_plotaxes() plotaxes.axescmd = 'subplot(211)' plotaxes.title = 'Density' plotitem = plotaxes.new_plotitem(plot_type='1d') plotitem.plot_var = density plotitem.kwargs = {'linewidth':3} plotaxes = plotfigure.new_plotaxes() plotaxes.axescmd = 'subplot(212)' plotaxes.title = 'Energy' plotitem = plotaxes.new_plotitem(plot_type='1d') plotitem.plot_var = energy plotitem.kwargs = {'linewidth':3} return plotdata if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(setup,setplot)
hu = np.zeros((mx, my)) hv = np.zeros((mx, my)) hw = np.zeros((mx, my)) # Read solution for j in range(my): tmp = np.fromfile(f, dtype='float', sep=" ", count=4 * mx) tmp = tmp.reshape((mx, 4)) h[:, j] = tmp[:, 0] hu[:, j] = tmp[:, 1] hv[:, j] = tmp[:, 2] hw[:, j] = tmp[:, 3] # Plot solution in the computational domain # ========================================= # Fluid height plt.figure() CS = plt.contour(xc, yc, h) plt.title('Fluid height (computational domain)') plt.xlabel('xc') plt.ylabel('yc') plt.clabel(CS, inline=1, fontsize=10) plt.show() if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(contourLineSphere) print 'Error: ', output
# Set up controller and controller parameters #=========================================================================== claw = pyclaw.Controller() claw.keep_copy = True if disable_output: claw.output_format = None claw.output_style = 1 claw.num_output_times = 10 claw.tfinal = 10 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.outdir = outdir #=========================================================================== # Solve the problem #=========================================================================== status = claw.run() #=========================================================================== # Plot results #=========================================================================== if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shallow_4_Rossby_Haurwitz)
x = pyclaw.Dimension('x',-2.0,2.0,mx) y = pyclaw.Dimension('y',-2.0,2.0,my) domain = pyclaw.Domain([x,y]) num_eqn = 1 state = pyclaw.State(domain,num_eqn) qinit(state) solver.dimensional_split = 1 solver.cfl_max = 1.0 solver.cfl_desired = 0.9 solver.num_waves = 2 solver.limiters = pyclaw.limiters.tvd.minmod claw = pyclaw.Controller() claw.tfinal = 1.0 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.num_output_times = 10 # Solve status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(kpp)
y0 = -1000 r = np.sqrt((X - x0)**2 + (Y - y0)**2) width = 500.0 rad = 500 amplitude = 1.0 #ADJUSTING THE PRESSURE state.q[0, :, :] = amplitude * np.exp(-(X - x0)**2 / width**2) #ADJUSTING THE PRESSURE state.q[1, :, :] = 0. state.q[2, :, :] = 0. claw = pyclaw.Controller() claw.keep_copy = True if disable_output: claw.output_format = None claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.outdir = outdir claw.tfinal = 1000 claw.num_output_times = 100 claw.write_aux_init = True claw.setplot = "./setplot.py" if use_petsc: claw.output_options = {'format': 'binary'} return claw if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(setup, "./setplot.py")
X, Y, Z = grid.p_centers pressure = 3. * (Z <= 0) + 1. * (Z > 0) state.q[density, :, :, :] = 3. * (Z <= 0) + 1. * (Z > 0) state.q[x_momentum, :, :, :] = 0. state.q[y_momentum, :, :, :] = 0. state.q[z_momentum, :, :, :] = 0. state.q[energy, :, :, :] = pressure / (gamma - 1.) solver.all_bcs = pyclaw.BC.extrap claw = pyclaw.Controller() claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.output_format = output_format claw.keep_copy = True if disable_output: claw.output_format = None claw.tfinal = tfinal claw.num_output_times = num_output_times claw.outdir = outdir return claw # __main__() if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shocktube)
x = pyclaw.Dimension('x', -2.0, 2.0, mx) y = pyclaw.Dimension('y', -2.0, 2.0, my) domain = pyclaw.Domain([x, y]) num_eqn = 1 state = pyclaw.State(domain, num_eqn) qinit(state) solver.dimensional_split = 1 solver.cfl_max = 1.0 solver.cfl_desired = 0.9 solver.num_waves = 2 solver.limiters = pyclaw.limiters.tvd.minmod claw = pyclaw.Controller() claw.tfinal = 1.0 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.num_output_times = 10 # Solve status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(kpp)
hv = np.zeros((mx,my)) hw = np.zeros((mx,my)) # Read solution for j in range(my): tmp = np.fromfile(f,dtype='float',sep=" ",count=4*mx) tmp = tmp.reshape((mx,4)) h[:,j] = tmp[:,0] hu[:,j] = tmp[:,1] hv[:,j] = tmp[:,2] hw[:,j] = tmp[:,3] # Plot solution in the computational domain # ========================================= # Fluid height plt.figure() CS = plt.contour(xc,yc,h) plt.title('Fluid height (computational domain)') plt.xlabel('xc') plt.ylabel('yc') plt.clabel(CS, inline=1, fontsize=10) plt.show() if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(contourLineSphere) print 'Error: ',output
#=========================================================================== # Set up controller and controller parameters #=========================================================================== claw = pyclaw.Controller() claw.keep_copy = True claw.output_style = 1 claw.num_output_times = 10 claw.tfinal = 10 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.outdir = outdir #=========================================================================== # Solve the problem #=========================================================================== status = claw.run() #=========================================================================== # Plot results #=========================================================================== if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shallow_4_Rossby_Haurwitz)
claw.tfinal = 600. elif IC=='rp1': state.q[0,:] = 0.9*(xc<250.)+0.1*(xc>250.) state.q[1,:] = state.q[0,:]*(1.+hesitation(state.q[0,:])) solver.dq_src=None solver.bc_lower[0] = pyclaw.BC.extrap solver.bc_upper[0] = pyclaw.BC.extrap claw.num_output_times = 10 claw.tfinal = 1. #======================================================================== # Set up the controller object #======================================================================== claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.outdir = outdir # Solve status = claw.run() # Plot results if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(arz)
parser.add_argument("fixedTimestepSize", nargs="?", type=float, default=None) parser.add_argument("forkLevelIncrement", type=int) parser.add_argument("reduceReductions", type=int) arguments = parser.parse_args() global gridSize gridSize = arguments.gridSize global patchSize patchSize = arguments.patchSize global tfinal tfinal = 1.0/float(arguments.tfinal) global usePeano usePeano = arguments.usePeano global useHeapCompression useHeapCompression = arguments.useHeapCompression global fixedTimestepSize fixedTimestepSize = arguments.fixedTimestepSize global forkLevelIncrement forkLevelIncrement = arguments.forkLevelIncrement global reduceReductions reduceReductions = arguments.reduceReductions output = run_app_from_main(shallow2D) #if(not output == None): # print 'Error: ', output
num_eqn = 1 state = pyclaw.State(domain,num_eqn) grid = state.grid xc=grid.x.centers state.q[0,:] = 0.75*(xc<0) + 0.1*(xc>0.) state.problem_data['efix']=True state.problem_data['umax']=1. #=========================================================================== # Setup controller and controller parameters. Then solve the problem #=========================================================================== claw = pyclaw.Controller() claw.tfinal =2.0 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.outdir = outdir status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(traffic)
solver.aux_bc_upper[0] = pyclaw.BC.custom solver.aux_bc_lower[1] = pyclaw.BC.wall solver.aux_bc_upper[1] = pyclaw.BC.wall # Initial solution qinit(state) # controller claw = pyclaw.Controller() claw.keep_copy = True claw.tfinal = 2 claw.num_output_times = 10 claw.solver = solver claw.solution = pyclaw.Solution(state,domain) claw.outdir = save_outdir claw.write_aux_always = True status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=save_outdir,file_format=claw.output_format) if iplot: pyclaw.plot.interactive_plot(outdir=save_outdir,file_format=claw.output_format) return claw if __name__=="__main__": import sys from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(em2D)
claw.keep_copy = False claw.output_style = 1 claw.num_output_times = 10 claw.tfinal = 1.0 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.outdir = outdir #=========================================================================== # Solve the problem #=========================================================================== status = claw.run() #=========================================================================== # Plot results #=========================================================================== if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(advection_annulus) print 'Error: ',output
plotitem = plotaxes.new_plotitem(plot_type='2d_pcolor') plotitem.plot_var = 1 plotitem.pcolor_cmap = colormaps.yellow_red_blue plotitem.add_colorbar = True plotitem.show = False # show on plot? # Figure for q[2] plotfigure = plotdata.new_plotfigure(name='Momentum in y direction', figno=3) # Set up for axes in this figure: plotaxes = plotfigure.new_plotaxes() plotaxes.xlimits = [-2.5, 2.5] plotaxes.ylimits = [-2.5, 2.5] plotaxes.title = 'Momentum in y direction' plotaxes.scaled = True # Set up for item on these axes: plotitem = plotaxes.new_plotitem(plot_type='2d_pcolor') plotitem.plot_var = 2 plotitem.pcolor_cmap = colormaps.yellow_red_blue plotitem.add_colorbar = True plotitem.show = False # show on plot? return plotdata if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(setup, setplot)
# Set the initial condition #======================================================================== xc = grid.x.center beta = 100 gamma = 0 x0 = 0.75 state.q[0, :] = 0.5 * np.exp(-80 * xc**2) + 0.5 * (np.abs(xc + 0.2) < 0.1) state.q[1, :] = 0. #======================================================================== # Set up the controller object #======================================================================== claw = pyclaw.Controller() claw.solution = pyclaw.Solution(state) claw.solver = solver claw.outdir = outdir claw.tfinal = 3.0 claw.num_output_times = 30 # Solve status = claw.run() # Plot results if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(fig_31_38)
#,refinement_criterion=refinement_criterion #,refinement_criterion=refinement_criterion_gradient ) claw.solution = amrclaw.Solution(state, domain) else: raise Exception('unsupported amr_type %s' % amr_type) else: claw.solver = solver claw.solution = pyclaw.Solution(state,domain) #claw.keep_copy = True #claw.outdir = outdir claw.keep_copy = False claw.output_format = None claw.outdir = None claw.num_output_times = 10 #=========================================================================== # Plot results #=========================================================================== if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shallow2D)
grid = state.grid X,Y,Z = grid.p_centers pressure = 3.*(Z<=0) + 1.*(Z>0) state.q[density ,:,:,:] = 3.*(Z<=0) + 1.*(Z>0) state.q[x_momentum,:,:,:] = 0. state.q[y_momentum,:,:,:] = 0. state.q[z_momentum,:,:,:] = 0. state.q[energy ,:,:,:] = pressure/(gamma - 1.) solver.all_bcs = pyclaw.BC.extrap claw = pyclaw.Controller() claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.output_format = output_format claw.keep_copy = True if disable_output: claw.output_format = None claw.tfinal = tfinal claw.num_output_times = num_output_times claw.outdir = outdir return claw # __main__() if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shocktube)
if pinitial != None and pmiddle != None and pfinal != None: pinitial = pinitial[0, :, :, :].reshape(-1) pmiddle = pmiddle[0, :, :, :].reshape(-1) pfinal = pfinal[0, :, :, :].reshape(-1) final_difference = np.prod(grid.delta) * np.linalg.norm( pfinal - pinitial, ord=1) middle_difference = np.prod(grid.delta) * np.linalg.norm( pmiddle - pinitial, ord=1) if app == None: print 'Final error: ', final_difference print 'Middle error: ', middle_difference #import matplotlib.pyplot as plt #for i in range(claw.num_output_times): # plt.pcolor(claw.frames[i].state.q[0,:,:,mz/2]) # plt.figure() #plt.show() return pfinal, final_difference else: return if __name__ == "__main__": import sys from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(acoustics3D)
domain = pyclaw.Domain(x) num_eqn = 1 state = pyclaw.State(domain, num_eqn) grid = state.grid xc = grid.x.centers state.q[0, :] = 0.75 * (xc < 0) + 0.1 * (xc > 0.) state.problem_data['efix'] = True state.problem_data['umax'] = 1. #=========================================================================== # Setup controller and controller parameters. Then solve the problem #=========================================================================== claw = pyclaw.Controller() claw.tfinal = 2.0 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.outdir = outdir status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(traffic)
state.problem_data['gamma'] = gamma state.problem_data['gamma1'] = gamma1 state.q[0, :] = 1. state.q[1, :] = 0. x = state.grid.x.centers state.q[2, :] = ((x < 0.1) * 1.e3 + (0.1 <= x) * (x < 0.9) * 1.e-2 + (0.9 <= x) * 1.e2) / gamma1 solver.limiters = 4 claw = pyclaw.Controller() claw.tfinal = 0.038 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.num_output_times = 10 claw.outdir = outdir # Solve status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw.solution.q if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(wcblast)
state = pyclaw.State(domain,num_eqn) state.problem_data['gamma']= gamma state.problem_data['gamma1']= gamma1 state.q[0,:] = 1. state.q[1,:] = 0. x =state.grid.x.centers state.q[2,:] = ( (x<0.1)*1.e3 + (0.1<=x)*(x<0.9)*1.e-2 + (0.9<=x)*1.e2 ) / gamma1 solver.limiters = 4 claw = pyclaw.Controller() claw.tfinal = 0.038 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.num_output_times = 10 claw.outdir = outdir # Solve status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw.solution.q if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(wcblast)
rhoA, KA, alpha, xlower=xlower, xupper=xupper) qinit(state, ic=2, a2=1.0, xupper=xupper) tfinal = 500. num_output_times = 10 solver.max_steps = 5000000 solver.fwave = True solver.before_step = b4step solver.user_bc_lower = moving_wall_bc solver.user_bc_upper = zero_bc claw = pyclaw.Controller() claw.keep_copy = False claw.output_style = 1 claw.num_output_times = num_output_times claw.tfinal = tfinal claw.solution = pyclaw.Solution(state, domain) claw.solver = solver return claw if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(stegoton)
state.index_capa = 2 #=========================================================================== # Set up controller and controller parameters #=========================================================================== claw = pyclaw.Controller() claw.keep_copy = False claw.output_style = 1 claw.num_output_times = 10 claw.tfinal = 1.0 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.outdir = outdir #=========================================================================== # Solve the problem #=========================================================================== status = claw.run() #=========================================================================== # Plot results #=========================================================================== if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(advection_annulus) print 'Error: ', output
solver.aux_bc_lower[1] = pyclaw.BC.extrap solver.aux_bc_upper[1] = pyclaw.BC.extrap solver.aux_bc_lower[2] = pyclaw.BC.custom solver.aux_bc_upper[2] = pyclaw.BC.custom solver.user_aux_bc_lower = customAuxBCLowerZ solver.user_aux_bc_upper = customAuxBCUpperZ # Solver Parameters claw = pyclaw.Controller() claw.verbosity = 4 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.output_format = output_format claw.output_file_prefix = file_prefix claw.keep_copy = False if disable_output: claw.output_format = None claw.tfinal = tfinal claw.num_output_times = num_output_times claw.outdir = outdir #state.mp = 1 #claw.compute_p = outputDensity return claw # __main__() if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(euler3d)
solver.bc_upper[1]=pyclaw.BC.extrap #Aux variable in ghost cells doesn't matter solver.aux_bc_lower[0]=pyclaw.BC.extrap solver.aux_bc_upper[0]=pyclaw.BC.extrap solver.aux_bc_lower[1]=pyclaw.BC.extrap solver.aux_bc_upper[1]=pyclaw.BC.extrap claw = pyclaw.Controller() claw.keep_copy = True if disable_output: claw.output_format = None # The output format MUST be set to petsc! claw.tfinal = tfinal claw.solution = initial_solution claw.solver = solver claw.num_output_times = 1 claw.outdir = outdir # Solve status = claw.run() if htmlplot: pyclaw.plot.html_plot(file_format=claw.output_format) if iplot: pyclaw.plot.interactive_plot(file_format=claw.output_format) return claw.frames[claw.num_output_times].state if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(shockbubble)
solver.cfl_desired = 0.8 x = pyclaw.Dimension('x',0.0,1.0,mx) grid = pyclaw.Grid(x) num_eqn = 1 state = pyclaw.State(grid,num_eqn) state.problem_data['u']=1. xc=grid.x.center if IC=='gauss_square': state.q[0,:] = np.exp(-beta * (xc-x0)**2) + (xc>0.6)*(xc<0.8) elif IC=='wavepacket': state.q[0,:] = np.exp(-beta * (xc-x0)**2) * np.sin(80.*xc) else: raise Exception('Unrecognized initial condition specification.') claw = pyclaw.Controller() claw.solution = pyclaw.Solution(state) claw.solver = solver claw.outdir = outdir claw.tfinal =10.0 status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(fig_61_62_63)
from clawpack import pyclaw from clawpack import riemann solver = pyclaw.ClawSolver1D(riemann.burgers_1D) solver.limiters = pyclaw.limiters.tvd.MC solver.bc_lower[0] = pyclaw.BC.periodic solver.bc_upper[0] = pyclaw.BC.periodic x = pyclaw.Dimension(-8.0,8.0,1000,name='x') domain = pyclaw.Domain(x) num_eqn = 1 state = pyclaw.State(domain,num_eqn) xc = domain.grid.x.centers state.q[0,:] = (xc>-np.pi)*(xc<np.pi)*(2.*np.sin(3.*xc)+np.cos(2.*xc)+0.2) state.q[0,:] = state.q[0,:]*(np.cos(xc)+1.) state.problem_data['efix']=True claw = pyclaw.Controller() claw.tfinal = 6.0 claw.num_output_times = 30 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(burgers)
my = 40 x = pyclaw.Dimension('x', 0.0, 2.0, mx) y = pyclaw.Dimension('y', 0.0, 0.5, my) domain = pyclaw.Domain([x, y]) num_eqn = 5 num_aux = 1 state = pyclaw.State(domain, num_eqn, num_aux) state.problem_data['gamma'] = gamma state.problem_data['gamma1'] = gamma1 qinit(state) auxinit(state) solver.user_bc_lower = shockbc claw = pyclaw.Controller() claw.tfinal = 0.75 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.num_output_times = 10 claw.outdir = outdir return claw if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main from clawpack.pyclaw.examples import * output = run_app_from_main(shockbubble, shock_bubble_interaction.setplot)
num_eqn = 1 state = pyclaw.State(domain,num_eqn) state.problem_data['u']=1. grid = state.grid xc=grid.x.centers beta=100; gamma=0; x0=0.75 state.q[0,:] = np.exp(-beta * (xc-x0)**2) * np.cos(gamma * (xc - x0)) claw = pyclaw.Controller() claw.keep_copy = True claw.solution = pyclaw.Solution(state,domain) claw.solver = solver if outdir is not None: claw.outdir = outdir else: claw.output_format = None claw.tfinal =1.0 status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(advection)
# Initial solution # ================ # Riemann states of the dam break problem damRadius = 0.5 hl = 2. ul = 0. vl = 0. hr = 1. ur = 0. vr = 0. qinit(state,hl,ul,vl,hr,ur,vr,damRadius) # This function is defined above #=========================================================================== # Set up controller and controller parameters #=========================================================================== claw = pyclaw.Controller() claw.tfinal = 2.5 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.outdir = outdir claw.num_output_times = 10 return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(setup)
#=========================================================================== # Initialize grids and then initialize the solution associated to the grid #=========================================================================== x = pyclaw.Dimension('x', -8.0, 8.0, 1000) domain = pyclaw.Domain(x) num_eqn = 1 state = pyclaw.State(domain, num_eqn) xc = domain.grid.x.centers state.q[0, :] = (xc > -np.pi) * (xc < np.pi) * (2. * np.sin(3. * xc) + np.cos(2. * xc) + 0.2) state.q[0, :] = state.q[0, :] * (np.cos(xc) + 1.) state.problem_data['efix'] = True #=========================================================================== # Setup controller and controller parameters. Then solve the problem #=========================================================================== claw = pyclaw.Controller() claw.tfinal = 6.0 claw.num_output_times = 30 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.outdir = outdir return claw if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(burgers)
state.problem_data['cc']=np.sqrt(bulk/rho) #======================================================================== # Set the initial condition #======================================================================== xc=grid.x.center beta=100; gamma=0; x0=0.75 state.q[0,:] = 0.5*np.exp(-80 * xc**2) + 0.5*(np.abs(xc+0.2)<0.1) state.q[1,:] = 0. #======================================================================== # Set up the controller object #======================================================================== claw = pyclaw.Controller() claw.solution = pyclaw.Solution(state) claw.solver = solver claw.outdir = outdir claw.tfinal = 3.0 claw.num_output_times = 30 # Solve status = claw.run() # Plot results if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(fig_31_38)
mx=160; my=40 x = pyclaw.Dimension('x',0.0,2.0,mx) y = pyclaw.Dimension('y',0.0,0.5,my) domain = pyclaw.Domain([x,y]) num_eqn = 5 num_aux=1 state = pyclaw.State(domain,num_eqn,num_aux) state.problem_data['gamma']= gamma state.problem_data['gamma1']= gamma1 qinit(state) auxinit(state) solver.user_bc_lower=shockbc claw = pyclaw.Controller() claw.tfinal = 0.75 claw.solution = pyclaw.Solution(state,domain) claw.solver = solver claw.num_output_times = 10 claw.outdir = outdir return claw if __name__=="__main__": from clawpack.pyclaw.util import run_app_from_main from clawpack.pyclaw.examples import * output = run_app_from_main(shockbubble,shock_bubble_interaction.setplot)
claw.keep_copy = True if disable_output: claw.output_format = None claw.output_style = 1 claw.num_output_times = 10 claw.tfinal = 10 claw.solution = pyclaw.Solution(state, domain) claw.solver = solver claw.outdir = outdir return claw if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(setup) def plot_on_sphere(): """ Plots the solution of the shallow water on a sphere in the rectangular computational domain. The user can specify the name of the solution file and its path. If these are not given, the script checks whether the solution fort.q0000 in ./_output exists and plots it. If it it does not exist an error message is printed at screen. The file must be ascii and clawpack format. To use this, you must first install the basemap toolkit; see http://matplotlib.org/basemap/users/installing.html. This function also shows how to manually read and plot the solution stored in
epsilon = claw.frames[-1].q[0, :] aux = claw.frames[1].aux from clawpack.riemann.rp_nonlinear_elasticity import sigma stress = sigma(epsilon, aux[1, :]) dx = state.grid.delta[0] work = solver.status["totalsteps"] return stress, dx, work if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(stegoton) def plot_efficiency(err, work, ork): import matplotlib.pyplot as plt p = ork.order() styles = ["k-s", "b-o", "g-d", "r-p"] plt.figure() plt.hold(True) for i in range(err.shape[0]): plt.loglog(err[i], work[i], styles[i], linewidth=3, markersize=11) plt.grid() plt.xlabel(r"Error", fontsize=15) plt.ylabel("Derivative evaluations", fontsize=15)
x = pyclaw.Dimension('x', 0.0, 1.0, mx) grid = pyclaw.Grid(x) num_eqn = 1 state = pyclaw.State(grid, num_eqn) state.problem_data['u'] = 1. xc = grid.x.center if IC == 'gauss_square': state.q[0, :] = np.exp(-beta * (xc - x0)**2) + (xc > 0.6) * (xc < 0.8) elif IC == 'wavepacket': state.q[0, :] = np.exp(-beta * (xc - x0)**2) * np.sin(80. * xc) else: raise Exception('Unrecognized initial condition specification.') claw = pyclaw.Controller() claw.solution = pyclaw.Solution(state) claw.solver = solver claw.outdir = outdir claw.tfinal = 10.0 status = claw.run() if htmlplot: pyclaw.plot.html_plot(outdir=outdir) if iplot: pyclaw.plot.interactive_plot(outdir=outdir) if __name__ == "__main__": from clawpack.pyclaw.util import run_app_from_main output = run_app_from_main(fig_61_62_63)
global CELLS global SUBDIVISION_FACTOR import assembleState as AS import matplotlib.pyplot as plt for i in range(NUM_OUTPUT_TIMES): q_peano = AS.assemblePeanoClawState(claw1.frames[i], claw2.frames[i].domain, NUM_EQS, CELLS * SUBDIVISION_FACTOR) res1 = q_peano[TEST_LEVEL,:,:] res2 = claw2.frames[i].state.q[0,TEST_LEVEL,:,:] fig = plt.figure(1) plt.subplot(131) plt.pcolor(res1) plt.colorbar() plt.subplot(132) plt.pcolor(res2) plt.colorbar() plt.subplot(133) plt.pcolor(res2 - res1) plt.colorbar() plt.show() if __name__=="__main__": import sys from clawpack.pyclaw.util import run_app_from_main pyclaw_output = run_app_from_main(pyclaw_acoustics3D) peanoclaw_output = run_app_from_main(acoustics3D) verify( peanoclaw_output, pyclaw_output)