Decouple expansion lists and storage
Coeff and Phys arrays are currently held separately and internally by the ExpList
objects. This has several disadvantages:
- It requires repeated generation of complete
ExpList
objects for multiple scalar fields which share the same structure. - The current up-to-date state (coeff or phys) is not stored, leading to potentially erroneous usage.
- Metadata is not included to augment fields with (potentially solver-specific) information such as variable names.
A solution might be to decouple the storage aspect of ExpList
from the structure aspect, allowing multiple light-weight storage arrays to make reference to a common structural ExpList
and for those fields to be augmented with a richer array of metadata.