36 #ifndef NEKTAR_SOLVERUTILS_DIFFUSION 
   37 #define NEKTAR_SOLVERUTILS_DIFFUSION 
   40 #include <boost/function.hpp> 
   53         typedef boost::function<
void (
 
   56             const Array<
OneD, Array<OneD, NekDouble> >&,
 
   57                   Array<
OneD, Array<OneD, NekDouble> >&,
 
   60         typedef boost::function<
void (
 
   61             const Array<
OneD, Array<OneD, NekDouble> >&,
 
   62                   Array<
OneD, Array<
OneD, Array<OneD, NekDouble> > >&,
 
   63                   Array<
OneD, Array<
OneD, Array<OneD, NekDouble> > >&)> 
 
   66         typedef boost::function<
void (
 
   67             const Array<
OneD, Array<OneD, NekDouble> >&,
 
   68                   Array<OneD,             NekDouble  >&)>
 
   76                 Array<OneD, MultiRegions::ExpListSharedPtr>       pFields);
 
   79                 const int nConvectiveFields,
 
   80                 const Array<OneD, MultiRegions::ExpListSharedPtr> &fields,
 
   81                 const Array<
OneD, Array<OneD, NekDouble> >        &inarray,
 
   82                       Array<
OneD, Array<OneD, NekDouble> >        &outarray);
 
   85                     Array<
OneD, Array<
OneD, Array<OneD, NekDouble> > >
 
   88             template<
typename FuncPo
interT, 
typename ObjectPo
interT> 
 
   91                 m_fluxVector = boost::bind(func, obj, _1, _2, _3, _4, _5);
 
   99             template<
typename FuncPo
interT, 
typename ObjectPo
interT> 
 
  105             template<
typename FuncPo
interT, 
typename ObjectPo
interT>
 
  139                 Array<OneD, MultiRegions::ExpListSharedPtr>       pFields)
 
  145                 const int nConvectiveFields,
 
  146                 const Array<OneD, MultiRegions::ExpListSharedPtr> &fields,
 
  147                 const Array<
OneD, Array<OneD, NekDouble> >        &inarray,
 
  148                       Array<
OneD, Array<OneD, NekDouble> >        &outarray)=0;
 
  151                 Array<
OneD, Array<OneD, NekDouble> > &deriv)
 
  158                 static Array<OneD, Array<OneD, Array<OneD, NekDouble> > > tmp;