pecos / tps

Torch Plasma Simulator
BSD 3-Clause "New" or "Revised" License
8 stars 2 forks source link

Clean up precomputed data used in _GPU_ path #200

Closed trevilo closed 1 year ago

trevilo commented 1 year ago

This PR is intended to clean up and clarify some of the data that is precomputed and used to evaluate the residual, mostly the face integral contributions, on the _GPU_ code path. The motivation for doing so now is that porting some capabilities (e.g., the SGS models from PR #197) will require additions to this data. Prior to this PR, the necessary data where spread across multiple struct objects, and the storage was very confusing, since multiple different quantities were often stored together in a single array without any clear motivation for that choice. This PR aims to improve this situation by 1) storing each required quantity in a single Vector or Array where possible and 2) unifying the various different pieces into a single struct---i.e., struct precomputedIntegrationData---that itself contains four objects, each of which stores logically different data. Improved comments should also help others understand the data stored in these objects, how to use it, and how to extend it when necessary.