SCOREC / core

parallel finite element unstructured meshes
Other
183 stars 62 forks source link

Update doc for adaptVerbose and mark it deprecated #447

Open joshia5 opened 2 months ago

joshia5 commented 2 months ago

There are differences in adapt and adaptVerbose function as it is now (apart from printing out the mesh and other print statements) which include additional iteration(s) of refine+snap https://github.com/SCOREC/core/blob/8959c599cc05e21d0fb470f941d9f892da62aa02/ma/ma.cc#L106-L107
and calling fixelementShapes Niter times https://github.com/SCOREC/core/blob/8959c599cc05e21d0fb470f941d9f892da62aa02/ma/ma.cc#L85 This PR attempts to improve the function documentation in the header stating the above-mentioned differences and mark function deprecated for potential upcoming name-change (breaking)

jacobmerson commented 2 months ago

@joshia5 @cwsmith you may want to check if intel support the C++14 standard deprecated attribute

see: https://en.cppreference.com/w/cpp/language/attributes/deprecated

If it doesn't you could define a PUMI_DEPRACATED macro that's compiler dependent.

cwsmith commented 2 months ago

Yeah, I like the idea of having the macro. Unfortunately, I don't see the 'deprecated' attribute (old or new C++14) listed in the oneAPI Intel compiler reference (linked above).

jacobmerson commented 2 months ago

C++ 17 guarantees

All attributes unknown to an implementation are ignored without causing an error. https://en.cppreference.com/w/cpp/language/attributes

it may be worth checking if intel safely ignores [[deprecated]]. Or, are we not compiling core in 17 mode yet?

cwsmith commented 2 months ago

We require C++11 but optionally enable C++14. Our local systems don't currently have access to the new Intel oneAPI compilers, but it looks like we may be able to download them: https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler-download.html?operatingsystem=linux&distribution-linux=offline