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
ExpListobjects 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.