dougshidong / PHiLiP

Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
Other
45 stars 36 forks source link

Investigate TRANSONIC test case #112

Closed dougshidong closed 2 years ago

dougshidong commented 2 years ago

@jbrillon and @AlexanderCicchino have reported long runtimes of the TRANSONIC test case >24 hours. On my branch which dates back from Oct 2021, it takes around 2.5 hours with 6 cores.

The likely changes to this test case is the artificial dissipation introduced by @PranshulThakur. Could you please investigate whether your changes have caused a drop in performance of the transonic test case?

PranshulThakur commented 2 years ago

Hmm, that's strange. I ran ctest a while ago and all the 186 tests were done within 9-10 hours with 6 cores. @jbrillon and @AlexanderCicchino, can you please mention the conditions under which that particular test took >24 hours (cores, memory, etc)? I will try changing artificial dissipation's implementation to see if it can be made faster.

PranshulThakur commented 2 years ago

@dougshidong , @jbrillon , @AlexanderCicchino , I ran 2D_EULER_INTEGRATION_NACA0012_TRANSONIC_LONG of master on my local machine with 4 cores and it took around 4 hours. I have attached the log file. Euler_Transonic.log

PranshulThakur commented 2 years ago

According to my conversation with @AlexanderCicchino , it works fine on his master branch too. @jbrillon, can you confirm the issue by running it on your local machine to see if the issue is in master or in another branch?

AlexanderCicchino commented 2 years ago

It works fine when I run Doug's master branch. The issue I found was after my changes, that shouldn't effect the testcase, then the residuals converge but it never passes the test. Explicitly, it doesn't pass on my master branch, but it passes on Doug's.

PranshulThakur commented 2 years ago

Hmm, so the residual converges but the test does not pass? That's weird. Can you try commenting out this line in assemble_face_term() in weak_dg.cpp: https://github.com/dougshidong/PHiLiP/blob/master/src/dg/weak_dg.cpp#L2136?

dougshidong commented 2 years ago

With the recent changes with the FlowSolver class, I noticed that the 2D_EULER_INTEGRATION_NACA0012_TRANSONIC_LONG might not ramp up the polynomial anymore starting from p0. @jbrillon @donovan97 @PranshulThakur , can you confirm?

I understand that some of those test are long to run, but they should be run at least once for each nontrivial PR that affects them.

donovan97 commented 2 years ago

You need it to do ode_solver->initialize_steady_polynomial_ramping instead of ode_solver->steady_state? If so, that's a simple fix and I can make a quick PR to take care of it.