From ae877e0ae008cf47622eec8d924a2c42a9a7545f Mon Sep 17 00:00:00 2001 From: abtin98 Date: Wed, 11 Sep 2019 19:52:17 -0400 Subject: [PATCH] Debugged everything, all tests run now. Test project /home/abtinameri/Desktop/thesis/PHiLiP/build Start 1: 1D_numerical_flux_conservation 1/42 Test #1: 1D_numerical_flux_conservation .................................. Passed 0.42 sec Start 2: 2D_numerical_flux_conservation 2/42 Test #2: 2D_numerical_flux_conservation .................................. Passed 0.45 sec Start 3: 3D_numerical_flux_conservation 3/42 Test #3: 3D_numerical_flux_conservation .................................. Passed 0.40 sec Start 4: 1D_jacobian_matrix_regression 4/42 Test #4: 1D_jacobian_matrix_regression ................................... Passed 0.42 sec Start 5: 2D_jacobian_matrix_regression 5/42 Test #5: 2D_jacobian_matrix_regression ................................... Passed 0.47 sec Start 6: 3D_jacobian_matrix_regression 6/42 Test #6: 3D_jacobian_matrix_regression ................................... Passed 2.48 sec Start 7: 1D_euler_convert_primitive_conservative 7/42 Test #7: 1D_euler_convert_primitive_conservative ......................... Passed 0.22 sec Start 8: 2D_euler_convert_primitive_conservative 8/42 Test #8: 2D_euler_convert_primitive_conservative ......................... Passed 0.21 sec Start 9: 3D_euler_convert_primitive_conservative 9/42 Test #9: 3D_euler_convert_primitive_conservative ......................... Passed 0.48 sec Start 10: 1D_euler_manufactured_solution_source 10/42 Test #10: 1D_euler_manufactured_solution_source ........................... Passed 0.21 sec Start 11: 2D_euler_manufactured_solution_source 11/42 Test #11: 2D_euler_manufactured_solution_source ........................... Passed 0.25 sec Start 12: 3D_euler_manufactured_solution_source 12/42 Test #12: 3D_euler_manufactured_solution_source ........................... Passed 0.51 sec Start 13: 1D_euler_convective_jacobian 13/42 Test #13: 1D_euler_convective_jacobian .................................... Passed 0.21 sec Start 14: 2D_euler_convective_jacobian 14/42 Test #14: 2D_euler_convective_jacobian .................................... Passed 0.23 sec Start 15: 3D_euler_convective_jacobian 15/42 Test #15: 3D_euler_convective_jacobian .................................... Passed 0.87 sec Start 16: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION 16/42 Test #16: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION ..................... Passed 0.52 sec Start 17: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION 17/42 Test #17: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION ..................... Passed 4.98 sec Start 18: MPI_2D_ADVECTION_EXPLICIT_MANUFACTURED_SOLUTION 18/42 Test #18: MPI_2D_ADVECTION_EXPLICIT_MANUFACTURED_SOLUTION ................. Passed 284.29 sec Start 19: MPI_2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION 19/42 Test #19: MPI_2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION ................. Passed 3.93 sec Start 20: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION 20/42 Test #20: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION ................. Passed 9.86 sec Start 21: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG 21/42 Test #21: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG .............. Passed 0.59 sec Start 22: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG 22/42 Test #22: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG .............. Passed 7.40 sec Start 23: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG 23/42 Test #23: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG .......... Passed 41.23 sec Start 24: 1D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION 24/42 Test #24: 1D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ..................... Passed 0.53 sec Start 25: 2D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION 25/42 Test #25: 2D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ..................... Passed 1.86 sec Start 26: MPI_3D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION 26/42 Test #26: MPI_3D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ................. Passed 29.47 sec Start 27: 1D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION 27/42 Test #27: 1D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION .......... Passed 0.58 sec Start 28: 2D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION 28/42 Test #28: 2D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION .......... Passed 1.94 sec Start 29: MPI_3D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION 29/42 Test #29: MPI_3D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ...... Passed 28.02 sec Start 30: 1D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION 30/42 Test #30: 1D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION ....... Passed 0.57 sec Start 31: 2D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION 31/42 Test #31: 2D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION ....... Passed 9.53 sec Start 32: MPI_3D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION 32/42 Test #32: MPI_3D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION ... Passed 17.23 sec Start 33: 1D_BURGERS_INVISCID_IMPLICIT_MANUFACTURED_SOLUTION 33/42 Test #33: 1D_BURGERS_INVISCID_IMPLICIT_MANUFACTURED_SOLUTION .............. Passed 0.54 sec Start 34: 1D_burgers_energy_stability 34/42 Test #34: 1D_burgers_energy_stability ..................................... Passed 211.12 sec Start 35: 2D_advection_explicit_periodic 35/42 Test #35: 2D_advection_explicit_periodic .................................. Passed 170.45 sec Start 36: 1D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION 36/42 Test #36: 1D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION .................... Passed 1.13 sec Start 37: 2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION 37/42 Test #37: 2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION .................... Passed 29.69 sec Start 38: MPI_2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION 38/42 Test #38: MPI_2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION ................ Passed 22.17 sec Start 39: 1D_EULER_ROE_MANUFACTURED_SOLUTION 39/42 Test #39: 1D_EULER_ROE_MANUFACTURED_SOLUTION .............................. Passed 1.13 sec Start 40: MPI_2D_EULER_ROE_MANUFACTURED_SOLUTION 40/42 Test #40: MPI_2D_EULER_ROE_MANUFACTURED_SOLUTION .......................... Passed 14.58 sec Start 41: MPI_2D_EULER_INTEGRATION_CYLINDER 41/42 Test #41: MPI_2D_EULER_INTEGRATION_CYLINDER ............................... Passed 167.23 sec Start 42: MPI_2D_EULER_INTEGRATION_GAUSSIAN_BUMP 42/42 Test #42: MPI_2D_EULER_INTEGRATION_GAUSSIAN_BUMP .......................... Passed 245.55 sec 100% tests passed, 0 tests failed out of 42 --- .../2D_advection_explicit_periodic.prm | 8 ++-- .../advection_explicit_periodic.cpp | 4 +- .../1D_burgers_stability.prm | 2 +- .../burgers_stability.cpp | 41 ++++++++++--------- 4 files changed, 28 insertions(+), 27 deletions(-) diff --git a/tests/advection_explicit_periodic/2D_advection_explicit_periodic.prm b/tests/advection_explicit_periodic/2D_advection_explicit_periodic.prm index 1dde92900..8b4798e6d 100644 --- a/tests/advection_explicit_periodic/2D_advection_explicit_periodic.prm +++ b/tests/advection_explicit_periodic/2D_advection_explicit_periodic.prm @@ -2,11 +2,11 @@ # Number of dimensions set dimension = 2 -set use_weak_form = false +set use_weak_form = true -set use_collocated_nodes = true +set use_collocated_nodes = false -set use_split_form = true +set use_split_form = false set use_periodic_bc = true @@ -21,7 +21,7 @@ subsection ODE solver set nonlinear_max_iterations = 500 - set print_iteration_modulo = 10 + set print_iteration_modulo = 100 set ode_solver_type = explicit diff --git a/tests/advection_explicit_periodic/advection_explicit_periodic.cpp b/tests/advection_explicit_periodic/advection_explicit_periodic.cpp index 0df3c8bd0..dc5d2657e 100644 --- a/tests/advection_explicit_periodic/advection_explicit_periodic.cpp +++ b/tests/advection_explicit_periodic/advection_explicit_periodic.cpp @@ -111,7 +111,7 @@ int AdvectionPeriodic::run_test() std::string variables = "x,y"; std::map constants; constants["pi"] = dealii::numbers::PI; - std::string expression = "exp( -( 20*(x-1)*(x-1) + 20*(y-1)*(y-1) ) )"; + std::string expression = "exp( -( 20*(x-1)*(x-1) + 20*(y-1)*(y-1) ) )";//"sin(pi*x)*sin(pi*y)"; initial_condition.initialize(variables, expression, constants); @@ -119,7 +119,7 @@ int AdvectionPeriodic::run_test() // Create ODE solver using the factory and providing the DG object std::shared_ptr> ode_solver = PHiLiP::ODE::ODESolverFactory::create_ODESolver(dg); - double finalTime = 5.; + double finalTime = 1.5; //double dt = all_parameters->ode_solver_param.initial_time_step; ode_solver->advance_solution_time(finalTime); diff --git a/tests/burgers_split_stability/1D_burgers_stability.prm b/tests/burgers_split_stability/1D_burgers_stability.prm index deb8543c7..18558e66d 100644 --- a/tests/burgers_split_stability/1D_burgers_stability.prm +++ b/tests/burgers_split_stability/1D_burgers_stability.prm @@ -25,6 +25,6 @@ subsection ODE solver set ode_solver_type = explicit - set initial_time_step = 0.001 + set initial_time_step = 0.0001 end diff --git a/tests/burgers_split_stability/burgers_stability.cpp b/tests/burgers_split_stability/burgers_stability.cpp index 0852f827a..ad98dae09 100644 --- a/tests/burgers_split_stability/burgers_stability.cpp +++ b/tests/burgers_split_stability/burgers_stability.cpp @@ -100,34 +100,35 @@ int BurgersEnergyStability::run_test() double finalTime = 3.; double dt = all_parameters->ode_solver_param.initial_time_step; - (void) dt; + //(void) dt; //need to call ode_solver before calculating energy because mass matrix isn't allocated yet. - //ode_solver->advance_solution_time(0.000001); - //double initial_energy = compute_energy(dg); + ode_solver->advance_solution_time(0.000001); + double initial_energy = compute_energy(dg); //currently the only way to calculate energy at each time-step is to advance solution by dt instead of finaltime //this causes some issues with outputs (only one file is output, which is overwritten at each time step) //also the ode solver output doesn't make sense (says "iteration 1 out of 1") //but it works. I'll keep it for now and need to modify the output functions later to account for this. - //std::ofstream myfile ("energy_plot.gpl" , std::ios::trunc); - -// for (int i = 0; i < std::ceil(finalTime/dt); ++ i) -// { -// ode_solver->advance_solution_time(dt); -// double current_energy = compute_energy(dg); -// std::cout << "Energy at time " << i * dt << " is " << current_energy << std::endl; -// myfile << i * dt << " " << current_energy << std::endl; -// if (current_energy - initial_energy >= 0.001) -// { -// return 1; -// } -// } -// myfile.close(); - - - ode_solver->advance_solution_time(finalTime); + std::ofstream myfile ("energy_plot.gpl" , std::ios::trunc); + + for (int i = 0; i < std::ceil(finalTime/dt); ++ i) + { + ode_solver->advance_solution_time(dt); + double current_energy = compute_energy(dg); + std::cout << "Energy at time " << i * dt << " is " << current_energy << std::endl; + myfile << i * dt << " " << current_energy << std::endl; + if (current_energy - initial_energy >= 0.001) + { + return 1; + break; + } + } + myfile.close(); + + + //ode_solver->advance_solution_time(finalTime); return 0; //need to change }