コード例 #1
0
// ===================================================
// Methods
// ===================================================
void
BCInterfaceFunctionSolverDefined< OneDFSISolver >::assignFunction( OneDFSIFunction& base )
{
    switch ( M_defaultFunction )
    {
    case Riemann:

        base.setFunction( boost::bind( &OneDFSIFunctionSolverDefinedRiemann::operator(),
                                       dynamic_cast<OneDFSIFunctionSolverDefinedRiemann *> ( &( *M_function ) ), _1, _2 ) );

        break;

    case Compatibility:

        base.setFunction( boost::bind( &OneDFSIFunctionSolverDefinedCompatibility::operator(),
                                       dynamic_cast<OneDFSIFunctionSolverDefinedCompatibility *> ( &( *M_function ) ), _1, _2 ) );

        break;

    case Absorbing:

        base.setFunction( boost::bind( &OneDFSIFunctionSolverDefinedAbsorbing::operator(),
                                       dynamic_cast<OneDFSIFunctionSolverDefinedAbsorbing *> ( &( *M_function ) ), _1, _2 ) );

        break;

    case Resistance:

        base.setFunction( boost::bind( &OneDFSIFunctionSolverDefinedResistance::operator(),
                                       dynamic_cast<OneDFSIFunctionSolverDefinedResistance *> ( &( *M_function ) ), _1, _2 ) );

        break;
    }
}
コード例 #2
0
void
MultiscaleModelFSI1D::imposeBoundaryMeanNormalStress ( const multiscaleID_Type& boundaryID, const function_Type& function )
{
    OneDFSIFunction base;
    base.setFunction ( boost::bind ( function, _1, _1, _1, _1, _1 ) );

    M_bc->handler()->setBC ( flagConverter ( boundaryID ), OneDFSI::first, OneDFSI::S, base );
}
コード例 #3
0
 /*!
  * @param base base of the 1D boundary condition
  */
 void assignFunction( OneDFSIFunction& base ) { base.setFunction( functionSelectorTimeTimeStep() ); }