diff --git a/src/convergenceTest.py b/src/convergenceTest.py index f5428315ee2475dd899a36594b568b6e8ac27d0d..20488584f11ec2e91b2a03284aaf3d7a02c26c4b 100644 --- a/src/convergenceTest.py +++ b/src/convergenceTest.py @@ -1,4 +1,5 @@ import numpy as np +from os import mkdir, remove from os.path import join, exists from subprocess import call from math import log @@ -50,15 +51,15 @@ def readData(): # create directory for the plots if necessary if not exists("plots"): - os.mkdir("plots") + mkdir("plots") # number of runs from which the run times are taken as mean value numberOfMeans = 3 # numbers of grid elements per direction -numElemsPerDir = [1, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100] +numElemsPerDir = [1, 5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130] -dimensions = [1, 2] +dimensions = [1,2] for dim in dimensions: # storage for errors, run times and largestEdgeLength @@ -91,7 +92,7 @@ for dim in dimensions: for i in range(len(numElemsPerDir) - 1): if data[i, 0] != 0: EOC[i] = log(data[i, 0] / data[i+1, 0]) / \ - log(data[i+1, 2] / data[i, 2]) + log(data[i, 2] / data[i+1, 2]) else: EOC[i] = -1.0*float('inf') # end for i @@ -108,4 +109,4 @@ for dim in dimensions: # end for dim # remove output files -os.remove("convergenceData") +remove("convergenceData") diff --git a/src/dg.cc b/src/dg.cc index 4eb8d25c238fcc38bc045c1e8be15d2518448730..60d8760f522eb8dfc2ad2f556b48cb37b913dd03 100644 --- a/src/dg.cc +++ b/src/dg.cc @@ -95,9 +95,16 @@ int main(int argc, char** argv) //write error, runtime and number of grid elements to file std::ofstream errorFile("convergenceData", std::ios::out | std::ios::trunc); + //determine maximum edge length + double largestEdgeLength = 0.; + for (const auto& edge : edges(gridView)) + { + largestEdgeLength = std::max(largestEdgeLength, edge.geometry().volume()); + } + if (errorFile.is_open()) { - errorFile << error << "\n" << timeTotal << "\n" << gridView.size(0); + errorFile << error << "\n" << timeTotal << "\n" << largestEdgeLength;//gridView.size(0); errorFile.close(); } else