public void TestOldDG() { DGController controller = new DGController(); controller.createDGElements(8, IntegrationMode.GaussLobatto, 3, 0.0, 1.0); controller.computeSolution(1.0, 0.001); Console.Write(controller.getCompleteSolution().toString(15)); }
private void ComputeSolutionForUnsteady(IntegrationMode mode) { Console.WriteLine("Start computation for Unsteady Solution..."); int[] elementNumber = {50}; int[] polynomOrders = { 1, 3, 7 }; Vector CFLMapping = GetCFL(mode); Matrix errorList = new Matrix(elementNumber.Length, polynomOrders.Length); for (int i = 0; i < polynomOrders.Length; i++) { int polynomOrder = polynomOrders[i]; for (int k = 0; k < elementNumber.Length; k++) { Console.WriteLine("N = " + polynomOrder + " - N_Q = " + elementNumber[k]); DGController dgController = new DGController(); dgController.createDGElements(elementNumber[k], mode, polynomOrder, leftSpaceBorder, rightSpaceBorder); timeStep = dgController.ComputeTimeStep(CFLMapping[polynomOrders[i] - 1]); errorList[k, i] = dgController.computeSolution(endTime, timeStep); Vector space = dgController.getOriginSpace(); Vector sol = dgController.getCompleteSolution(); string plotString = NSharp.Converter.MatLabConverter.ConvertToMatLabPlotStringWithAxisLabelAndTitle(space, sol, "X-Achse", "u approx", "Approximation mit NQ = " + elementNumber[k] + " N = " + polynomOrder); GeneralHelper.WriteOutputText(Directory.GetCurrentDirectory() + "\\" + mode.ToString() + "_PLOT_N =" + polynomOrder + ".txt", plotString); } } Console.WriteLine("Unsteady Solution finished"); }