inline void
BCInterfaceFunctionParserSolver< PhysicalSolverType >::setData ( const BCInterfaceData1D& data )
{

#ifdef HAVE_LIFEV_DEBUG
    debugStream ( 5023 ) << "BCInterfaceFunctionSolver::setData( data )" << "\n";
#endif

    M_side = data.side();

    functionParser_Type::setData ( data );

    createAccessList ( data );
}
// ===================================================
// Set Methods
// ===================================================
void
BCInterfaceFunctionSolverDefined< OneDFSISolver >::setData( const BCInterfaceData1D& data )
{

#ifdef HAVE_LIFEV_DEBUG
    debugStream( 5025 ) << "BCInterfaceFunctionSolverDefined::setData( data )" << "\n";
#endif

    //Set mapFunction
    std::map< std::string, solverDefinedFunctions > mapFunction;
    mapFunction["Riemann"]       = Riemann;
    mapFunction["Compatibility"] = Compatibility;
    mapFunction["Absorbing"]     = Absorbing;
    mapFunction["Resistance"]    = Resistance;

    M_defaultFunction = mapFunction[data.baseString()];

    switch ( M_defaultFunction )
    {
    case Riemann:

        M_function.reset( new OneDFSIFunctionSolverDefinedRiemann( data.side(), data.quantity() ) );

        break;

    case Compatibility:

        M_function.reset( new OneDFSIFunctionSolverDefinedCompatibility( data.side(), data.quantity() ) );

        break;

    case Absorbing:

        M_function.reset( new OneDFSIFunctionSolverDefinedAbsorbing( data.side(), data.quantity() ) );

        break;

    case Resistance:

        M_function.reset( new OneDFSIFunctionSolverDefinedResistance( data.side(), data.quantity(), data.resistance()[0] ) );

        break;
    }
}