//---------------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 2006, 2007, 2008, 2009 by Guido Kanschat
+// Copyright (C) 2006, 2007, 2008, 2009, 2010 by Guido Kanschat
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
template <typename number>
class LocalResults
{
+ private:
/**
* Initialize a single local
* matrix block. A helper
* function for initialize()
*/
- void initialize_local(
- MatrixBlock<FullMatrix<number> >& M,
- unsigned int row, unsigned int col);
+ void initialize_local(MatrixBlock<FullMatrix<number> >& M,
+ const unsigned int row,
+ const unsigned int col);
+
public:
void initialize_numbers(const unsigned int n);
void initialize_vectors(const unsigned int n);
* The local vectors. This
* field is public, so that
* local integrators can
- * write it.
+ * write to it.
*/
std::vector<BlockVector<number> > R;
template <class DHCellIterator, class DHFaceIterator>
void reinit(const DHCellIterator& c,
const DHFaceIterator& f,
- unsigned int n);
+ const unsigned int n);
/**
* Set the current subface
template <class DHCellIterator, class DHFaceIterator>
void reinit(const DHCellIterator& c,
const DHFaceIterator& f,
- const unsigned int n, const unsigned int s);
+ const unsigned int n,
+ const unsigned int s);
const BlockIndices& local_indices() const;
/// The block structure of the system
SmartPointer<const BlockInfo,DoFInfo<dim,spacedim> > block_info;
+
private:
/// Fill index vector
void get_indices(const typename DoFHandler<dim, spacedim>::cell_iterator c);
template<int dim, class FEVALUESBASE, int spacedim = dim>
class IntegrationInfo : public DoFInfo<dim, spacedim>
{
+ private:
/// vector of FEValues objects
std::vector<boost::shared_ptr<FEVALUESBASE> > fevalv;
public:
*
* @see DGBlockSplitApplication
*/
- const FEVALUESBASE& fe(unsigned int i) const;
+ const FEVALUESBASE& fe(const unsigned int i) const;
/**
* The vector containing the
* #values, #gradients and
* #hessians.
*/
- void fill_local_data(bool split_fevalues);
+ void fill_local_data(const bool split_fevalues);
/**
* The global data vector
* points.
*/
boost::shared_ptr<VectorDataBase<dim, spacedim> > global_data;
+
private:
/**
* Use the finite element
template <typename number>
inline void
- LocalResults<number>::initialize_vectors(unsigned int n)
+ LocalResults<number>::initialize_vectors(const unsigned int n)
{
R.resize(n);
}
template <typename number>
inline void
- LocalResults<number>::initialize_matrices(unsigned int n, bool both)
+ LocalResults<number>::initialize_matrices(const unsigned int n,
+ const bool both)
{
M1.resize(n);
if (both)
//---------------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 2006, 2007, 2008, 2009 by Guido Kanschat
+// Copyright (C) 2006, 2007, 2008, 2009, 2010 by Guido Kanschat
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
#define __deal2__mesh_worker_loop_h
#include <base/config.h>
+#include <base/template_constraints.h>
#include <grid/tria.h>
#include <numerics/mesh_worker_info.h>
* @ingroup MeshWorker
* @author Guido Kanschat, 2009
*/
- template<int dim, class ITERATOR, class ENDITERATOR, class LOCALWORKER>
- void integration_loop(ITERATOR begin, ENDITERATOR end,
+ template<int dim, class ITERATOR, class LOCALWORKER>
+ void integration_loop(ITERATOR begin,
+ typename identity<ITERATOR>::type end,
IntegrationInfoBox<dim, dim>& box,
LOCALWORKER& localworker,
bool cells_first = true)