diff --git a/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.C b/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.C
index 4941eab537034429aa425d448ba492a7f4929856..d46e3e110ac888a0c514bbcf0acbd74e32234143 100644
--- a/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.C
+++ b/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.C
@@ -31,6 +31,7 @@ License
 
 const Foam::scalar Foam::liquidMixture::TrMax = 0.999;
 
+
 // * * * * * * * * * * * * * * * * Constructors  * * * * * * * * * * * * * * //
 
 Foam::liquidMixture::liquidMixture
@@ -41,32 +42,26 @@ Foam::liquidMixture::liquidMixture
     components_(thermophysicalProperties.lookup("liquidComponents")),
     properties_(components_.size())
 {
-    // use sub-dictionary "liquidProperties" if possible to avoid
+    // can use sub-dictionary "liquidProperties" to avoid
     // collisions with identically named gas-phase entries
     // (eg, H2O liquid vs. gas)
+    const dictionary* subDictPtr = thermophysicalProperties.subDictPtr
+    (
+        "liquidProperties"
+    );
+
+    const dictionary& props =
+    (
+        subDictPtr ? *subDictPtr : thermophysicalProperties
+    );
+
     forAll(components_, i)
     {
-        const dictionary* subDictPtr = thermophysicalProperties.subDictPtr
+        properties_.set
         (
-            "liquidProperties"
+            i,
+            liquid::New(props.lookup(components_[i]))
         );
-
-        if (subDictPtr)
-        {
-            properties_.set
-            (
-                i,
-                liquid::New(subDictPtr->lookup(components_[i]))
-            );
-        }
-        else
-        {
-            properties_.set
-            (
-                i,
-                liquid::New(thermophysicalProperties.lookup(components_[i]))
-            );
-        }
     }
 }
 
diff --git a/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.H b/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.H
index a5ae1c3fbb43324c2accb65869b24b9661e94463..88102564759a053bf1c4421141dc93631ab64397 100644
--- a/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.H
+++ b/src/thermophysicalModels/liquidMixture/liquidMixture/liquidMixture.H
@@ -103,7 +103,7 @@ class liquidMixture
 {
     // Private data
 
-        // maximum reduced temperature
+        //- Maximum reduced temperature
         static const scalar TrMax;
 
         //- The names of the liquids
@@ -130,6 +130,7 @@ public:
 
     // Member Functions
 
+        //- Return the liquid names
         inline const List<word>& components() const
         {
             return components_;
@@ -141,6 +142,13 @@ public:
             return properties_;
         }
 
+        //- Return the number of liquids in the mixture
+        inline label size() const
+        {
+            return components_.size();
+        }
+
+
         //- Calculate the critical temperature of mixture
         scalar Tc(const scalarField& x) const;
 
diff --git a/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.C b/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.C
index 55ccd4057f79feb030897afd879066cab33fdbdc..6cf516339739f5c8f2fe0349bda1b7f832d6fa71 100644
--- a/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.C
+++ b/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.C
@@ -35,13 +35,24 @@ Foam::solidMixture::solidMixture
     components_(thermophysicalProperties.lookup("solidComponents")),
     properties_(components_.size())
 {
+    // can use sub-dictionary "solidProperties" to avoid
+    // collisions with identically named gas-phase entries
+    const dictionary* subDictPtr = thermophysicalProperties.subDictPtr
+    (
+        "solidProperties"
+    );
+
+    const dictionary& props =
+    (
+        subDictPtr ? *subDictPtr : thermophysicalProperties
+    );
 
     forAll(components_, i)
     {
         properties_.set
         (
             i,
-            solid::New(thermophysicalProperties.lookup(components_[i]))
+            solid::New(props.lookup(components_[i]))
         );
     }
 }
@@ -82,12 +93,12 @@ Foam::scalar Foam::solidMixture::rho
     const scalarField& X
 ) const
 {
-    scalar tmp = 0.0;
+    scalar val = 0.0;
     forAll(properties_, i)
     {
-        tmp += properties_[i].rho()*X[i];
+        val += properties_[i].rho()*X[i];
     }
-    return tmp;
+    return val;
 }
 
 
@@ -96,12 +107,12 @@ Foam::scalar Foam::solidMixture::cp
     const scalarField& Y
 ) const
 {
-    scalar tmp = 0.0;
+    scalar val = 0.0;
     forAll(properties_, i)
     {
-        tmp += properties_[i].cp()*Y[i];
+        val += properties_[i].cp()*Y[i];
     }
-    return tmp;
+    return val;
 }
 
 
diff --git a/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.H b/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.H
index 50f8b54a6c2dbd86d869d363d744ca7defe93bd1..ba1d582ee58735f5c8b446cd9b64e181fb1b9bac 100644
--- a/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.H
+++ b/src/thermophysicalModels/solidMixture/solidMixture/solidMixture.H
@@ -25,7 +25,18 @@ Class
     Foam::solidMixture
 
 Description
-    Foam::solidMixture
+    A mixture of solids.
+
+Note
+    The dictionary constructor searches for the entry @c solidComponents,
+    which is a wordList. The solid properties of each component can either
+    be contained within a @c solidProperties sub-dictionary or (for legacy
+    purposes) can be found directly in the dictionary.
+    The @c solidProperties sub-dictionary entry should be used when possible
+    to avoid conflicts with identically named gas-phase entries.
+
+SeeAlso
+    Foam::liquidMixture
 
 \*---------------------------------------------------------------------------*/
 
@@ -74,7 +85,7 @@ public:
 
     // Member Functions
 
-        //- Return the sold names
+        //- Return the solid names
         inline const List<word>& components() const
         {
             return components_;
@@ -86,6 +97,13 @@ public:
             return properties_;
         }
 
+        //- Return the number of solids in the mixture
+        inline label size() const
+        {
+            return components_.size();
+        }
+
+
         //- Returns the mass fractions, given mole fractions
         scalarField Y(const scalarField& X) const;