* @ingroup MeshWorker
* @author Guido Kanschat, 2009
*/
- template<class DOFINFO, class INFOBOX, int dim, int spacedim, typename ASSEMBLER, class ITERATOR>
+ template<int dim, int spacedim, class DOFINFO, class INFOBOX, typename ASSEMBLER, class ITERATOR>
void loop(ITERATOR begin,
typename identity<ITERATOR>::type end,
DOFINFO& dinfo,
INFOBOX& info,
- const std_cxx1x::function<void (DoFInfo<dim, spacedim>&, typename INFOBOX::CellInfo &)> &cell_worker,
- const std_cxx1x::function<void (DoFInfo<dim, spacedim>&, typename INFOBOX::FaceInfo &)> &boundary_worker,
- const std_cxx1x::function<void (DoFInfo<dim, spacedim>&, DoFInfo<dim, spacedim>&,
+ const std_cxx1x::function<void (DOFINFO&, typename INFOBOX::CellInfo &)> &cell_worker,
+ const std_cxx1x::function<void (DOFINFO&, typename INFOBOX::FaceInfo &)> &boundary_worker,
+ const std_cxx1x::function<void (DOFINFO&, DOFINFO&,
typename INFOBOX::FaceInfo &,
typename INFOBOX::FaceInfo &)> &face_worker,
ASSEMBLER &assembler,
* @ingroup MeshWorker
* @author Guido Kanschat, 2009
*/
- template<class CELLINFO, class FACEINFO, class DOFINFO, int dim, class ITERATOR, typename ASSEMBLER>
+ template<int dim, int spacedim, class ITERATOR, class ASSEMBLER>
void integration_loop(ITERATOR begin,
typename identity<ITERATOR>::type end,
- DOFINFO& dof_info,
- IntegrationInfoBox<dim, dim>& box,
- const std_cxx1x::function<void (DoFInfo<dim>&, CELLINFO &)> &cell_worker,
- const std_cxx1x::function<void (DoFInfo<dim>&, FACEINFO &)> &boundary_worker,
- const std_cxx1x::function<void (DoFInfo<dim>&, DoFInfo<dim>&, FACEINFO &, FACEINFO &)> &face_worker,
+ DoFInfo<dim, spacedim>& dof_info,
+ IntegrationInfoBox<dim, spacedim>& box,
+ const std_cxx1x::function<void (DoFInfo<dim>&, IntegrationInfo<dim, spacedim>&)> &cell_worker,
+ const std_cxx1x::function<void (DoFInfo<dim>&, IntegrationInfo<dim, spacedim>&)> &boundary_worker,
+ const std_cxx1x::function<void (DoFInfo<dim>&, DoFInfo<dim>&,
+ IntegrationInfo<dim, spacedim>&,
+ IntegrationInfo<dim, spacedim>&)> &face_worker,
ASSEMBLER &assembler,
bool cells_first = true)
{
- loop<DoFInfo<dim>, IntegrationInfoBox<dim, dim> >
+ loop<dim, dim>
(begin, end,
dof_info,
box,
MeshWorker::IntegrationInfoBox<dim> info_box;
MeshWorker::DoFInfo<dim> dof_info(dof_handler);
info_box.initialize(integration_worker, fe, mapping);
- MeshWorker::loop<MeshWorker::DoFInfo<dim>, MeshWorker::IntegrationInfoBox<dim>, dim, dim>(
+ MeshWorker::integration_loop<dim, dim>(
dof_handler.begin_active(), dof_handler.end(),
dof_info, info_box,
&MatrixIntegrator<dim>::cell,
MeshWorker::IntegrationInfoBox<dim> info_box;
MeshWorker::DoFInfo<dim> dof_info(mg_dof_handler);
info_box.initialize(integration_worker, fe, mapping);
- MeshWorker::loop<MeshWorker::DoFInfo<dim>, MeshWorker::IntegrationInfoBox<dim>, dim, dim> (
+ MeshWorker::integration_loop<dim, dim> (
mg_dof_handler.begin(), mg_dof_handler.end(),
dof_info, info_box,
&MatrixIntegrator<dim>::cell,
MeshWorker::DoFInfo<dim> dof_info(dof_handler);
info_box.initialize(integration_worker, fe, mapping);
- MeshWorker::loop<MeshWorker::DoFInfo<dim>, MeshWorker::IntegrationInfoBox<dim>, dim, dim>(
+ MeshWorker::integration_loop<dim, dim>(
dof_handler.begin_active(), dof_handler.end(),
dof_info, info_box,
&RHSIntegrator<dim>::cell,
MeshWorker::IntegrationInfoBox<dim> info_box;
MeshWorker::DoFInfo<dim> dof_info(dof_handler);
info_box.initialize(integration_worker, fe, mapping, solution_data);
- MeshWorker::loop<MeshWorker::DoFInfo<dim>, MeshWorker::IntegrationInfoBox<dim>, dim, dim> (
+ MeshWorker::integration_loop<dim, dim> (
dof_handler.begin_active(), dof_handler.end(),
dof_info, info_box,
&Estimator<dim>::cell,