Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clean residual #39

Merged
merged 9 commits into from
Feb 4, 2020
Merged

Clean residual #39

merged 9 commits into from
Feb 4, 2020

Conversation

dougshidong
Copy link
Owner

Simplified the residual sensitivities function. There used to be a function for dRdW, dRdX, and the Hessians d2RdWdW, d2RdXdX, d2RdWdX.

Now there is only a _derivatives version which does any of the requested derivatives.

The _explicit version is still there for performance purposes since the _derivatives version will evaluate some things on the fly that do not necessarily need to be evaluated.

Allows us to derive its class to obtain Navier Stokes or Euler +
diffusion.
Should need 3 different functions for the same thing.
dRdW, dRdW, and d2R will use the same "inefficient" function.
Still some issues doing the FD in parallel.
Initializing the FD with the interpolated manufactured solution caused
some issue at the boundary condition where the value was exactly the
manufactured solution. As a result, it was at the critical point where
the switch between inflow/outflow happens. In the numerical flux, this
results in differentiating the "max" function at the switching point,
which is of course non-differentiable.

Fixed by changing the inital condition.
Now we only need the "_derivatives" version. Note that the strong form
only supports the Jacobian evaluation.
@dougshidong dougshidong merged commit 3e4beb2 into master Feb 4, 2020
@dougshidong dougshidong deleted the clean_residual branch February 4, 2020 06:31
dougshidong added a commit that referenced this pull request May 19, 2022
Change some of the longer test to use MPI. All the tests pass

Use cmake ../ -DMPIMAX to set the default number of processor in those tests. Not the same as ctest -jX.

Test project /home/ddong/Codes/PHiLiP_temp/PHiLiP/build_release
      Start  1: 1D_numerical_flux_conservation
 1/39 Test  #1: 1D_numerical_flux_conservation ..................................   Passed    0.26 sec
      Start  2: 2D_numerical_flux_conservation
 2/39 Test  #2: 2D_numerical_flux_conservation ..................................   Passed    0.22 sec
      Start  3: 3D_numerical_flux_conservation
 3/39 Test  #3: 3D_numerical_flux_conservation ..................................   Passed    0.27 sec
      Start  4: 1D_jacobian_matrix_regression
 4/39 Test  #4: 1D_jacobian_matrix_regression ...................................   Passed    0.69 sec
      Start  5: 2D_jacobian_matrix_regression
 5/39 Test  #5: 2D_jacobian_matrix_regression ...................................   Passed    0.74 sec
      Start  6: 3D_jacobian_matrix_regression
 6/39 Test  #6: 3D_jacobian_matrix_regression ...................................   Passed    3.27 sec
      Start  7: 1D_euler_convert_primitive_conservative
 7/39 Test  #7: 1D_euler_convert_primitive_conservative .........................   Passed    0.19 sec
      Start  8: 2D_euler_convert_primitive_conservative
 8/39 Test  #8: 2D_euler_convert_primitive_conservative .........................   Passed    0.22 sec
      Start  9: 3D_euler_convert_primitive_conservative
 9/39 Test  #9: 3D_euler_convert_primitive_conservative .........................   Passed    0.57 sec
      Start 10: 1D_euler_manufactured_solution_source
10/39 Test #10: 1D_euler_manufactured_solution_source ...........................   Passed    0.27 sec
      Start 11: 2D_euler_manufactured_solution_source
11/39 Test #11: 2D_euler_manufactured_solution_source ...........................   Passed    0.24 sec
      Start 12: 3D_euler_manufactured_solution_source
12/39 Test #12: 3D_euler_manufactured_solution_source ...........................   Passed    0.61 sec
      Start 13: 1D_euler_convective_jacobian
13/39 Test #13: 1D_euler_convective_jacobian ....................................   Passed    0.20 sec
      Start 14: 2D_euler_convective_jacobian
14/39 Test #14: 2D_euler_convective_jacobian ....................................   Passed    0.24 sec
      Start 15: 3D_euler_convective_jacobian
15/39 Test #15: 3D_euler_convective_jacobian ....................................   Passed    1.04 sec
      Start 16: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION
16/39 Test #16: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION .....................   Passed    0.79 sec
      Start 17: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION
17/39 Test #17: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION .....................   Passed    7.34 sec
      Start 18: MPI_2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION
18/39 Test #18: MPI_2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION .................   Passed    3.57 sec
      Start 19: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION
19/39 Test #19: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION .................   Passed    7.67 sec
      Start 20: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG
20/39 Test #20: 1D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG ..............   Passed    0.82 sec
      Start 21: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG
21/39 Test #21: 2D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG ..............   Passed   10.93 sec
      Start 22: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG
22/39 Test #22: MPI_3D_ADVECTION_IMPLICIT_MANUFACTURED_SOLUTION_STRONG ..........   Passed   37.31 sec
      Start 23: 1D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION
23/39 Test #23: 1D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION .....................   Passed    0.80 sec
      Start 24: 2D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION
24/39 Test #24: 2D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION .....................   Passed    2.56 sec
      Start 25: MPI_3D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION
25/39 Test #25: MPI_3D_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION .................   Passed   21.02 sec
      Start 26: 1D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION
26/39 Test #26: 1D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ..........   Passed    0.91 sec
      Start 27: 2D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION
27/39 Test #27: 2D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ..........   Passed    2.62 sec
      Start 28: MPI_3D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION
28/39 Test #28: MPI_3D_CONVECTION_DIFFUSION_IMPLICIT_MANUFACTURED_SOLUTION ......   Passed   19.84 sec
      Start 29: 1D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION
29/39 Test #29: 1D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION .......   Passed    0.83 sec
      Start 30: 2D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION
30/39 Test #30: 2D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION .......   Passed   12.23 sec
      Start 31: MPI_3D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION
31/39 Test #31: MPI_3D_ADVECTION_VECTOR_VALUED_IMPLICIT_MANUFACTURED_SOLUTION ...   Passed   12.63 sec
      Start 32: 1D_BURGERS_INVISCID_IMPLICIT_MANUFACTURED_SOLUTION
32/39 Test #32: 1D_BURGERS_INVISCID_IMPLICIT_MANUFACTURED_SOLUTION ..............   Passed    0.84 sec
      Start 33: 1D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION
33/39 Test #33: 1D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION ....................   Passed    1.64 sec
      Start 34: 2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION
34/39 Test #34: 2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION ....................   Passed   38.39 sec
      Start 35: MPI_2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION
35/39 Test #35: MPI_2D_EULER_LAXFRIEDRICHS_MANUFACTURED_SOLUTION ................   Passed   15.22 sec
      Start 36: 1D_EULER_ROE_MANUFACTURED_SOLUTION
36/39 Test #36: 1D_EULER_ROE_MANUFACTURED_SOLUTION ..............................   Passed    1.69 sec
      Start 37: MPI_2D_EULER_ROE_MANUFACTURED_SOLUTION
37/39 Test #37: MPI_2D_EULER_ROE_MANUFACTURED_SOLUTION ..........................   Passed   10.56 sec
      Start 38: MPI_2D_EULER_INTEGRATION_CYLINDER
38/39 Test #38: MPI_2D_EULER_INTEGRATION_CYLINDER ...............................   Passed  120.18 sec
      Start 39: MPI_2D_EULER_INTEGRATION_GAUSSIAN_BUMP
39/39 Test #39: MPI_2D_EULER_INTEGRATION_GAUSSIAN_BUMP ..........................   Passed  312.47 sec

100% tests passed, 0 tests failed out of 39

Total Test time (real) = 652.82 sec
dougshidong pushed a commit that referenced this pull request May 19, 2022
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
dougshidong added a commit that referenced this pull request May 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant