Introduce SolidSystem and SolidComponents
The SolidSystem calculates quantities like solidHeatCapacity, solidDensity and solidHeatConductivity based on the compositions
of individual solid components such as Granite
or Sand
.
The concept uses the components' volume fractions which are either solution dependent or fixed via the spatialParameters
.
For simple cases, where there is only one non-reactive solid component, the base spatialParams implement a volumeFractions()
method that calls the spatialParams
implementation's porosity()
method and returns 1-porosity.
For other cases, this method throws an error and therefore forces the user to implement an own volumeFaction()
in the spatialParams
.
The solidSystem has an interface function porosity()
depending on the solid composition, i.e. a SolidState
.
This may be realized using some template meta programing magic.
Related to #452 (closed) #433 (closed) #450 (closed), fixes #409 (closed).