forceEquation<T>::forceEquation
(
    const dictionary& dict,
    const fvMesh& mesh
)
:
    FieldValueExpressionDriver(dict,mesh),
    valueExpression_(
        dict.lookup("valueExpression"),
        dict
    ),
    maskExpression_(
        dict.lookup("maskExpression"),
        dict
    ),
    verbose_(dict.lookupOrDefault<bool>("verbose",true))
{
    createWriterAndRead(dict.name().name()+"_"+this->type()+"<"+pTraits<T>::typeName+">");

    if(verbose_) {
        WarningIn(string("forceEquation<") + pTraits<T>::typeName + ">::forceEquation")
            << "Fixing to the values " << valueExpression_
                << " with the mask " << maskExpression_
                << " will be verbose. To switch this off set the parameter 'verbose'"
                << "to false" << endl;
    }
}
expressionSource<T>::expressionSource
(
    const dictionary& dict,
    const fvMesh& mesh
)
    :
    FieldValueExpressionDriver(dict,mesh),
    expression_(dict.lookup("expression"))
{
    createWriterAndRead(dict.name().name()+"_"+this->type()+"<"+pTraits<T>::typeName+">");
}