Global “wrapper” functions have been added so the StressRefine Library can now be called from C or Fortran as well as C++. A Guide for using the library has been added on github: “Using the StressRefine Library Template.pdf”. The changes are in the SRlibSimpleProj repository: https://github.com/StressRefine.
Writing the guide made it clear that the steps to use the stressRefine library to add p-adaptivity to an existing code are more involved than I would have liked. The library does the “heavy lifting”:
- creating element edges and faces and ensuring basis function continuity
- calculating basis functions and their derivatives for arbitrary polynomial orders
- calculating solution errors and estimated required polynomial orders
This functionality can be integrated with your own element and stress routines, or the built-in element stiffness and stress routines for tets, bricks, and wedges in the library can be used.
There is non-trivial effort to hook up to all of this, but I tried to make it as straightforward as possible.