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

FEValues cleanup: Remove polynomial space template argument from FE_Poly and FE_PolyTensor #1973

Closed
bangerth opened this issue Dec 10, 2015 · 2 comments

Comments

@bangerth
Copy link
Member

@bangerth bangerth commented Dec 10, 2015

FE_Poly and FE_PolyTensor get a classname for the polynomial space as a template argument. This leads to some awkward duplication of code, see for example the explicit specializations in fe_poly.cc. I think that in practice, this could be avoided by not passing the name of the polynomial space class to FE_Poly and FE_PolyTensor but instead passing an object and then storing a pointer to it in the class. This should also significantly reduce compile time because the same class doesn't have to be instantiated that many times (and we could move the contents of the .templates.h file into the .cc file because we then know what template arguments to instantiate).

Related to #1198.

edit: Add the tasks

  1. Implement the TensorPolynomialsBase class
  2. Change tensor polynomial classes to derive from it
  3. Remove the class template argument from FE_PolyTensor
  4. Implement the ScalarPolynomialsBase class
  5. Change scalar polynomial classes to derive from it
  6. Remove the class template argument from FE_Poly
@bangerth bangerth added this to the Release 8.5 milestone Feb 11, 2016
@tamiko tamiko added the Enhancement label Jul 11, 2016
@tamiko tamiko modified the milestones: Release 9.0, Release 8.5 Feb 3, 2017
@bangerth bangerth modified the milestones: Release 9.0, Release 9.1 Apr 10, 2018
@kronbichler
Copy link
Member

@kronbichler kronbichler commented May 10, 2019

We won't be able to do this now for the 9.1 release.

@kronbichler kronbichler modified the milestones: Release 9.1, Release 9.2 May 10, 2019
This was referenced Aug 8, 2019
@masterleinad
Copy link
Member

@masterleinad masterleinad commented Apr 25, 2020

Depends on #8711.

@kronbichler kronbichler mentioned this issue May 9, 2020
14 of 16 tasks complete
@kronbichler kronbichler removed this from the Release 9.2 milestone May 11, 2020
@kronbichler kronbichler added this to the Release 9.3 milestone May 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

5 participants
You can’t perform that action at this time.