// =================================================== // 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; } }
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 ); }
/*! * @param base base of the 1D boundary condition */ void assignFunction( OneDFSIFunction& base ) { base.setFunction( functionSelectorTimeTimeStep() ); }