Going with this idea of imposing a certain output buffer format on the unit operations, how should that look like?
- Volume data: Easy, just a scalar value for each time point.
- Inlet and outlet: Two options here.
- Time-major: Time, component
[time0comp0, time0comp1, time1comp0, time1comp1, ...]- Component-major: Component, time
[comp0time0, comp0time1, comp0time2, ..., comp1time0, comp1time1, comp1time2, ...] - Column bulk: Similarly, several options due to combinatorial explosion. I only list options I deem reasonable.
- Time, (radial position), axial position, component
- Component, time, (radial position), axial position
- Time, component, (radial position), axial position
- Particle liquid phase:
- Time, (radial position), axial position, particle type, particle shell, component
- Component, time, (radial position), axial position, particle type, particle shell
- Time, component, (radial position), axial position, particle type, particle shell
- Component, particle type, time, (radial position), axial position, particle shell
- Particle type, component, time, (radial position), axial position, particle shell
- Time, particle type, component, (radial position), axial position, particle shell
- Time, component, particle type, (radial position), axial position, particle shell
- Particle solid phase: Same as particle liquid phase.
- Column bulk-particle-flux:
- Time, (radial position), axial position, particle type, component
- Time, (radial position), axial position, component, particle type
- Component, time, (radial position), axial position, particle type
- Time, component, particle type, (radial position), axial position
- Time, particle type, component, (radial position), axial position
- Time, particle type, (radial position), axial position, component
I’d suggest the first choice for every field, because this is precisely the state vector ordering for the finite-volume-based models and, hence, incurs the least costs for copying the data into the buffer every time step(!). I’d rather prefer fast simulation and a little more costly post-processing (e.g., plotting) than a little slower simulation and a little faster post-processing. But I’m open to be convinced otherwise.
Opinions / votes?