# More user-friendly way of specifying initial conditions for mpnc

Since mpnc uses fugacities, users have to use a constraint solver to compute them from whatever initial conditions they want to have in terms of saturations, mole fractions, etc...

If one wants single-phasic initial conditions (without dissolved components), and one does for instance:

```
GetPropType<TypeTag, Properties::FluidState> fs;
// ... set stuff in fluid state -> I want single-phasic state
// use constraint solver to compute fugacities
using MiscibleMultiPhaseComposition = Dumux::MiscibleMultiPhaseComposition<Scalar, FluidSystem>;
typename FluidSystem::ParameterCache paramCache;
MiscibleMultiPhaseComposition::solve(fs, paramCache);
```

one gets already nonzero mole fractions of the non-present phases in the initially present phase, because `MiscibleMultiPhaseComposition`

seems to assume that all phases are present. One therefore has to use `ComputeFromReferencePhase`

in this case, which to me does not seem obvious.

We should maybe either rethink our assumptions in `MiscibleMultiPhaseComposition`

, or give the user some hints/warnings/info... This could be achieved by adding an "impl" layer which we use internally, while `MiscibleMultiPhaseComposition`

, etc. forward to the impl but give some descriptive information message. For instance:

"This uses the assumption that all phases are present. For single-phase situations, use ..."