rs = RiemannSolver(timeSteps = max_timeSteps/noOfTestSamples, mwaves = 2, mx=max_mx , meqn = 2, maux = 2) rs.q = random.random((rs.meqn,rs.mx)) rs.aux = random.random((rs.maux,rs.mx)) j = 0 for i in range(max_timeSteps/noOfTestSamples, max_timeSteps, max_timeSteps/noOfTestSamples): timesStepsValues[j] = i rs.timeSteps = i print print "Iteration",j+1,"of", noOfTestSamples print "Number of time steps is", i waves1, s1 = rs.solveVectorized(timer = True) timeResultsVectorized[j] = rs.elapsedTime waves2, s2 = rs.solvePointwize(timer = True) timeResultsPointwise[j] = rs.elapsedTime j= j+1
# error when max_mx is devisible by noOfTestSamples. size of arrays should be noOfTestSamples-1, use j to decide what to plot rs = RiemannSolver(timeSteps=max_timeSteps / noOfTestSamples, mwaves=2, mx=max_mx, meqn=2, maux=2) rs.q = random.random((rs.meqn, rs.mx)) rs.aux = random.random((rs.maux, rs.mx)) j = 0 for i in range(max_timeSteps / noOfTestSamples, max_timeSteps, max_timeSteps / noOfTestSamples): timesStepsValues[j] = i rs.timeSteps = i print() print("Iteration", j + 1, "of", noOfTestSamples) print("Number of time steps is", i) waves1, s1 = rs.solveVectorized(timer=True) timeResultsVectorized[j] = rs.elapsedTime waves2, s2 = rs.solvePointwize(timer=True) timeResultsPointwise[j] = rs.elapsedTime j = j + 1 figure(1) suptitle( "Figure 1 shows the the execution time for different timeStep values\n for the vectorized solver in green and pointwize solver in blue"