dougshidong / PHiLiP

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

Templated Operators with typename real. #253

Closed AlexanderCicchino closed 7 months ago

AlexanderCicchino commented 7 months ago

Templated operators class with type real for input, output, and weight vectors. The basis is assumed to stay as double for the sum-factorization. This allows operators to be used with AD type.

AlexanderCicchino commented 7 months ago

Currently running ctest on Narval. Will post log file once it is done.

AlexanderCicchino commented 7 months ago

output_ctest_Jan_25_2024.log

AlexanderCicchino commented 7 months ago

Fixed the euler split testcases from failing due to memory. output_3D_euler_split_TGV.log

AlexanderCicchino commented 7 months ago

Yes of course! Thanks for the catch! Fixed the alignment.

sonarcloud[bot] commented 7 months ago

Quality Gate Failed Quality Gate failed

Failed conditions

30.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarCloud

AlexanderCicchino commented 7 months ago

Thanks @PranshulThakur! To use strong DG with AD: for inviscid problems it will need the modifications from weak DG's assemble_volume_term_derivatives for the dRdW and dRdX. I don't think there needs to be any changed in assemble volume/face/boundary functions. For viscous problems, strong DG's DR/Du will need to incorporate the auxiliary variable q and its respective solution: DR/Du +DR/Dq*Dq/Du. Again, this can be computed outside of the assemble volume/face/boundary functions for the primary and auxiliary equations.

PranshulThakur commented 7 months ago

Thanks @PranshulThakur! To use strong DG with AD: for inviscid problems it will need the modifications from weak DG's assemble_volume_term_derivatives for the dRdW and dRdX. I don't think there needs to be any changed in assemble volume/face/boundary functions. For viscous problems, strong DG's DR/Du will need to incorporate the auxiliary variable q and its respective solution: DR/Du +DR/Dq*Dq/Du. Again, this can be computed outside of the assemble volume/face/boundary functions for the primary and auxiliary equations.

Makes sense. Thanks for the explanation.