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;