Generalize the output framework so it can be reused by any system
Here is a proposal to do this:
- create a base class for output. Should have methods like
open
,write
,close
and mayberead
. - actual classes for types of output: td scalars (energy, dipole, etc), scalar fields (wfs, potential), vector fields (current, etc).
Instantiation would look something like this:
my_output => output_scalar_field_t(filename, quantity_id, output_units)
Here the quantity_id
would come from src/multisystem/quantity.F90
and quantity_t
would be extended to include information like the label of the quantity (e.g., rho
for the density) and the units.
Edited by Micael Oliveira