PeleParams is a class template that allows copying arbitrary data structures from host to device, taking advantage of The_Pinned_Arena (simple data structures of fixed size can be copied directly without dealing with that though). An InitParm class must be defined with a function that populates the data structure (and cleans it up, if needed). There's some funky stuff to be able to use PeleParams to create derived versions of a base data structure, but for most use cases that can be transparently ignored. Written as a generalization of the old PMFData structure.
Takes a piece from #492 to make reviewing easier.
PeleParams is a class template that allows copying arbitrary data structures from host to device, taking advantage of The_Pinned_Arena (simple data structures of fixed size can be copied directly without dealing with that though). An InitParm class must be defined with a function that populates the data structure (and cleans it up, if needed). There's some funky stuff to be able to use PeleParams to create derived versions of a base data structure, but for most use cases that can be transparently ignored. Written as a generalization of the old PMFData structure.
Will require minor downstream changes in LMeX/C.
Also implements bugfix in PMF interpolation from https://github.com/AMReX-Combustion/PeleC/pull/808