*/
virtual
NumberCache
- renumber_dofs (const std::vector<unsigned int> &new_numbers,
+ renumber_dofs (const std::vector<unsigned int> &new_numbers,
dealii::DoFHandler<dim,spacedim> &dof_handler) const = 0;
};
*/
virtual
NumberCache
- renumber_dofs (const std::vector<unsigned int> &new_numbers,
+ renumber_dofs (const std::vector<unsigned int> &new_numbers,
dealii::DoFHandler<dim,spacedim> &dof_handler) const;
};
*/
virtual
NumberCache
- renumber_dofs (const std::vector<unsigned int> &new_numbers,
+ renumber_dofs (const std::vector<unsigned int> &new_numbers,
dealii::DoFHandler<dim,spacedim> &dof_handler) const;
};
}
*/
template <int dim>
void
- block_wise (MGDoFHandler<dim> &dof_handler,
+ block_wise (MGDoFHandler<dim> &dof_handler,
const unsigned int level);
template <class DH, typename Number>
void
distribute_cell_to_dof_vector (const DH &dof_handler,
- const Vector<Number> &cell_data,
+ const Vector<Number> &cell_data,
Vector<double> &dof_data,
const unsigned int component = 0);
void
extract_subdomain_dofs (const DH &dof_handler,
const types::subdomain_id subdomain_id,
- std::vector<bool> &selected_dofs);
+ std::vector<bool> &selected_dofs);
/**
void
count_dofs_per_block (const DH &dof,
std::vector<unsigned int> &dofs_per_block,
- const std::vector<unsigned int> &target_block
+ const std::vector<unsigned int> &target_block
= std::vector<unsigned int>());
/**
template <class DH>
void
map_dof_to_boundary_indices (const DH &dof_handler,
- std::vector<unsigned int> &mapping);
+ std::vector<unsigned int> &mapping);
/**
* Same as the previous function,
namespace
{
/**
- * Return the symmetrized version of a
- * tensor whose n'th row equals the
- * second argument, with all other rows
- * equal to zero.
- */
+ * Return the symmetrized version of a
+ * tensor whose n'th row equals the
+ * second argument, with all other rows
+ * equal to zero.
+ */
inline
dealii::SymmetricTensor<2,1>
symmetrize_single_row (const unsigned int n,
unsigned int max_couplings_between_boundary_dofs () const;
/**
- * @name Cell iterator functions
- */
+ * @name Cell iterator functions
+ */
/*@{*/
/**
* Iterator to the first used
{
public:
/**
- * Constructor. Set the fields
- * of this class to the values
- * indicated by the parameters
- * to the constructor.
- */
+ * Constructor. Set the fields
+ * of this class to the values
+ * indicated by the parameters
+ * to the constructor.
+ */
FEValuesBase (const dealii::hp::MappingCollection<dim,FEValues::space_dimension> &mapping_collection,
const dealii::hp::FECollection<dim,FEValues::space_dimension> &fe_collection,
const dealii::hp::QCollection<q_dim> &q_collection,
const UpdateFlags update_flags);
/**
- * Constructor. Set the fields
- * of this class to the values
- * indicated by the parameters
- * to the constructor, and
- * choose a @p MappingQ1
- * object for the mapping
- * object.
- */
+ * Constructor. Set the fields
+ * of this class to the values
+ * indicated by the parameters
+ * to the constructor, and
+ * choose a @p MappingQ1
+ * object for the mapping
+ * object.
+ */
FEValuesBase (const dealii::hp::FECollection<dim,FEValues::space_dimension> &fe_collection,
const dealii::hp::QCollection<q_dim> &q_collection,
const UpdateFlags update_flags);
/**
- * Get a reference to the
- * collection of finite
- * element objects used here.
- */
+ * Get a reference to the
+ * collection of finite
+ * element objects used here.
+ */
const dealii::hp::FECollection<dim,FEValues::space_dimension> &
get_fe_collection () const;
/**
- * Return a reference to the @p
- * FEValues object selected by the
- * last call to
- * select_fe_values(). select_fe_values()
- * in turn is called when you called
- * the @p reinit function of the
- * <tt>hp::FE*Values</tt> class the
- * last time.
- */
+ * Return a reference to the @p
+ * FEValues object selected by the
+ * last call to
+ * select_fe_values(). select_fe_values()
+ * in turn is called when you called
+ * the @p reinit function of the
+ * <tt>hp::FE*Values</tt> class the
+ * last time.
+ */
const FEValues &get_present_fe_values () const;
protected:
/**
- * Select a FEValues object
- * suitable for the given FE,
- * quadrature, and mapping
- * indices. If such an object
- * doesn't yet exist, create
- * one.
- *
- * The function returns a
- * writable reference so that
- * derived classes can also
- * reinit() the selected
- * FEValues object.
- */
+ * Select a FEValues object
+ * suitable for the given FE,
+ * quadrature, and mapping
+ * indices. If such an object
+ * doesn't yet exist, create
+ * one.
+ *
+ * The function returns a
+ * writable reference so that
+ * derived classes can also
+ * reinit() the selected
+ * FEValues object.
+ */
FEValues &
select_fe_values (const unsigned int fe_index,
const unsigned int mapping_index,
protected:
/**
- * A pointer to the
- * collection of finite
- * elements to be used.
- */
+ * A pointer to the
+ * collection of finite
+ * elements to be used.
+ */
const SmartPointer<const dealii::hp::FECollection<dim,FEValues::space_dimension>,
FEValuesBase<dim,q_dim,FEValues> > fe_collection;
/**
- * A pointer to the
- * collection of mappings to
- * be used.
- */
+ * A pointer to the
+ * collection of mappings to
+ * be used.
+ */
const SmartPointer<const dealii::hp::MappingCollection<dim, FEValues::space_dimension>,
FEValuesBase<dim,q_dim,FEValues> > mapping_collection;
/**
- * Copy of the quadrature
- * collection object
- * provided to the
- * constructor.
- */
+ * Copy of the quadrature
+ * collection object
+ * provided to the
+ * constructor.
+ */
const dealii::hp::QCollection<q_dim> q_collection;
private:
/**
- * A table in which we store
- * pointers to fe_values
- * objects for different
- * finite element, mapping,
- * and quadrature objects
- * from our collection. The
- * first index indicates the
- * index of the finite
- * element within the
- * fe_collection, the second
- * the index of the mapping
- * within the mapping
- * collection, and the last
- * one the index of the
- * quadrature formula within
- * the q_collection.
- *
- * Initially, all entries
- * have zero pointers, and we
- * will allocate them lazily
- * as needed in
- * select_fe_values().
- */
+ * A table in which we store
+ * pointers to fe_values
+ * objects for different
+ * finite element, mapping,
+ * and quadrature objects
+ * from our collection. The
+ * first index indicates the
+ * index of the finite
+ * element within the
+ * fe_collection, the second
+ * the index of the mapping
+ * within the mapping
+ * collection, and the last
+ * one the index of the
+ * quadrature formula within
+ * the q_collection.
+ *
+ * Initially, all entries
+ * have zero pointers, and we
+ * will allocate them lazily
+ * as needed in
+ * select_fe_values().
+ */
Table<3,std_cxx1x::shared_ptr<FEValues> > fe_values_table;
/**
- * Set of indices pointing at
- * the fe_values object
- * selected last time the
- * select_fe_value() function
- * was called.
- */
+ * Set of indices pointing at
+ * the fe_values object
+ * selected last time the
+ * select_fe_value() function
+ * was called.
+ */
TableIndices<3> present_fe_values_index;
/**
- * Values of the update flags as
- * given to the constructor.
- */
+ * Values of the update flags as
+ * given to the constructor.
+ */
const UpdateFlags update_flags;
};
* function.
*/
FEValues (const dealii::hp::MappingCollection<dim,spacedim> &mapping_collection,
- const dealii::hp::FECollection<dim,spacedim> &fe_collection,
+ const dealii::hp::FECollection<dim,spacedim> &fe_collection,
const dealii::hp::QCollection<dim> &q_collection,
const UpdateFlags update_flags);
* function.
*/
FEFaceValues (const hp::MappingCollection<dim,spacedim> &mapping_collection,
- const hp::FECollection<dim,spacedim> &fe_collection,
+ const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags);
* <tt>DoFHandler::get_fe()</tt>
* function.
*/
- FEFaceValues (const hp::FECollection<dim,spacedim> &fe_collection,
+ FEFaceValues (const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags);
* function.
*/
FESubfaceValues (const hp::MappingCollection<dim,spacedim> &mapping_collection,
- const hp::FECollection<dim,spacedim> &fe_collection,
+ const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags);
template <typename DH, typename Quad>
void MatrixFree<dim,Number>::
reinit(const Mapping<dim> &mapping,
- const std::vector<const DH *> &dof_handler,
+ const std::vector<const DH *> &dof_handler,
const std::vector<const ConstraintMatrix *> &constraint,
const std::vector<Quad> &quad,
const MatrixFree<dim,Number>::AdditionalData additional_data)
template<typename Number>
inline
- void update_ghost_values_start (const parallel::distributed::Vector<Number> &src,
+ void update_ghost_values_start (const parallel::distributed::Vector<Number> &src,
const unsigned int channel = 0)
{
src.update_ghost_values_start(channel);
template <typename VectorStruct>
inline
- void update_ghost_values_start (const std::vector<VectorStruct> &src)
+ void update_ghost_values_start (const std::vector<VectorStruct> &src)
{
for (unsigned int comp=0; comp<src.size(); comp++)
update_ghost_values_start(src[comp], comp);
template <typename VectorStruct>
inline
- void update_ghost_values_start (const std::vector<VectorStruct *> &src)
+ void update_ghost_values_start (const std::vector<VectorStruct *> &src)
{
for (unsigned int comp=0; comp<src.size(); comp++)
update_ghost_values_start(*src[comp], comp);
template <typename Number>
inline
- void update_ghost_values_finish (const parallel::distributed::Vector<Number> &src)
+ void update_ghost_values_finish (const parallel::distributed::Vector<Number> &src)
{
src.update_ghost_values_finish();
}
template <typename VectorStruct>
inline
- void update_ghost_values_finish (const std::vector<VectorStruct> &src)
+ void update_ghost_values_finish (const std::vector<VectorStruct> &src)
{
for (unsigned int comp=0; comp<src.size(); comp++)
update_ghost_values_finish(src[comp]);
template <typename VectorStruct>
inline
- void update_ghost_values_finish (const std::vector<VectorStruct *> &src)
+ void update_ghost_values_finish (const std::vector<VectorStruct *> &src)
{
for (unsigned int comp=0; comp<src.size(); comp++)
update_ghost_values_finish(*src[comp]);
tbb::empty_task *dummy;
private:
- const Worker &function;
+ const Worker &function;
const unsigned int partition;
const internal::MatrixFreeFunctions::TaskInfo &task_info;
};
class MPIComDistribute : public tbb::task
{
public:
- MPIComDistribute (const VectorStruct &src_in)
+ MPIComDistribute (const VectorStruct &src_in)
:
src(src_in)
{};
const std::pair<unsigned int,
unsigned int> &)> &cell_operation,
OutVector &dst,
- const InVector &src) const
+ const InVector &src) const
{
#if DEAL_II_USE_MT==1
typedef typename IteratorSelector::active_face_iterator active_face_iterator;
/**
- * Make the dimension and the space_dimension available
- * in function templates.
- */
+ * Make the dimension and the space_dimension available
+ * in function templates.
+ */
static const unsigned int dimension = dim;
static const unsigned int space_dimension = spacedim;
/**
- * Default constructor, which
- * will require a call to
- * initialize() later to set the Triangulation.
- */
+ * Default constructor, which
+ * will require a call to
+ * initialize() later to set the Triangulation.
+ */
MGDoFHandler ();
/**
- * Constructor. Take @p tria as
- * the triangulation to work on.
- */
+ * Constructor. Take @p tria as
+ * the triangulation to work on.
+ */
MGDoFHandler (const Triangulation<dim, spacedim> &tria);
/**
- * Destructor
- */
+ * Destructor
+ */
virtual ~MGDoFHandler ();
/**
void
make_boundary_list (const DoFHandler<dim,spacedim> &mg_dof,
const typename FunctionMap<dim>::type &function_map,
- std::vector<std::set<unsigned int> > &boundary_indices,
+ std::vector<std::set<unsigned int> > &boundary_indices,
const ComponentMask &component_mask = ComponentMask());
/**
template <int dim, int spacedim>
void
extract_inner_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
- std::vector<std::vector<bool> > &interface_dofs,
- std::vector<std::vector<bool> > &boundary_interface_dofs);
+ std::vector<std::vector<bool> > &interface_dofs,
+ std::vector<std::vector<bool> > &boundary_interface_dofs);
/**
* Does the same as the function above,
template <int dim, int spacedim>
void
extract_inner_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
- std::vector<std::vector<bool> > &interface_dofs);
+ std::vector<std::vector<bool> > &interface_dofs);
template <int dim, int spacedim>
void
extract_non_interface_dofs (const DoFHandler<dim,spacedim> &mg_dof_handler,
- std::vector<std::set<unsigned int> > &non_interface_dofs);
+ std::vector<std::set<unsigned int> > &non_interface_dofs);
}
/* @} */
template <int dim, int spacedim>
NumberCache
Sequential<dim,spacedim>::
- renumber_dofs (const std::vector<unsigned int> &new_numbers,
+ renumber_dofs (const std::vector<unsigned int> &new_numbers,
dealii::DoFHandler<dim,spacedim> &dof_handler) const
{
Implementation::renumber_dofs (new_numbers, IndexSet(0),
const bool,
const bool,
const std::vector<unsigned int>&);
-
+
template
void component_wise
(hp::DoFHandler<deal_II_dimension>&,
make_sparsity_pattern (const DH &dof,
const Table<2,Coupling> &couplings,
SparsityPattern &sparsity,
- const ConstraintMatrix &constraints,
+ const ConstraintMatrix &constraints,
const bool keep_constrained_dofs,
const types::subdomain_id subdomain_id)
{
void
- make_hp_hanging_node_constraints (const dealii::hp::DoFHandler<1> &/*dof_handler*/,
- ConstraintMatrix &/*constraints*/)
+ make_hp_hanging_node_constraints (const dealii::hp::DoFHandler<1> & /*dof_handler*/,
+ ConstraintMatrix & /*constraints*/)
{
// we may have to compute constraints for vertices. gotta think about
// that a bit more
void
- make_oldstyle_hanging_node_constraints (const dealii::hp::DoFHandler<1> &/*dof_handler*/,
- ConstraintMatrix &/*constraints*/,
+ make_oldstyle_hanging_node_constraints (const dealii::hp::DoFHandler<1> & /*dof_handler*/,
+ ConstraintMatrix & /*constraints*/,
dealii::internal::int2type<1>)
{
// we may have to compute constraints for vertices. gotta think about
// in the component_mask that corresponds to this shape function
template <int dim, int spacedim>
std::vector<unsigned char>
- get_local_component_association (const FiniteElement<dim,spacedim> &fe,
+ get_local_component_association (const FiniteElement<dim,spacedim> &fe,
const ComponentMask &component_mask)
{
std::vector<unsigned char> local_component_association (fe.dofs_per_cell,
void
resolve_components (const FiniteElement<dim,spacedim> &fe,
const std::vector<unsigned char> &dofs_by_component,
- const std::vector<unsigned int> &target_component,
+ const std::vector<unsigned int> &target_component,
const bool only_once,
std::vector<unsigned int> &dofs_per_component,
unsigned int &component)
void
resolve_components (const hp::FECollection<dim,spacedim> &fe_collection,
const std::vector<unsigned char> &dofs_by_component,
- const std::vector<unsigned int> &target_component,
+ const std::vector<unsigned int> &target_component,
const bool only_once,
std::vector<unsigned int> &dofs_per_component,
unsigned int &component)
void
count_dofs_per_block (const DH &dof_handler,
std::vector<unsigned int> &dofs_per_block,
- const std::vector<unsigned int> &target_block_)
+ const std::vector<unsigned int> &target_block_)
{
std::vector<unsigned int> target_block = target_block_;
{
namespace
{
- template<class DH>
+ template <class DH>
void
map_dofs_to_support_points(const hp::MappingCollection<DH::dimension, DH::space_dimension> &mapping,
- const DH &dof_handler,
- std::map<unsigned int,Point<DH::space_dimension> > &support_points)
+ const DH &dof_handler,
+ std::map<unsigned int,Point<DH::space_dimension> > &support_points)
{
const unsigned int dim = DH::dimension;
const unsigned int spacedim = DH::space_dimension;
template <class DH>
void
map_dofs_to_support_points(const hp::MappingCollection<DH::dimension, DH::space_dimension> &mapping,
- const DH &dof_handler,
- std::vector<Point<DH::space_dimension> > &support_points)
+ const DH &dof_handler,
+ std::vector<Point<DH::space_dimension> > &support_points)
{
// get the data in the form of the map as above
std::map<unsigned int,Point<DH::space_dimension> > x_support_points;
template <int dim, class EulerVectorType, int spacedim>
MappingQ1Eulerian<dim, EulerVectorType, spacedim>::
-MappingQ1Eulerian (const EulerVectorType &euler_transform_vectors,
+MappingQ1Eulerian (const EulerVectorType &euler_transform_vectors,
const DoFHandler<dim,spacedim> &shiftmap_dof_handler)
:
euler_transform_vectors(&euler_transform_vectors),
template <int dim, int spacedim>
FEFaceValues<dim,spacedim>::FEFaceValues (const hp::MappingCollection<dim,spacedim> &mapping,
- const hp::FECollection<dim,spacedim> &fe_collection,
+ const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
template <int dim, int spacedim>
- FEFaceValues<dim,spacedim>::FEFaceValues (const hp::FECollection<dim,spacedim> &fe_collection,
+ FEFaceValues<dim,spacedim>::FEFaceValues (const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
template <int dim, int spacedim>
FESubfaceValues<dim,spacedim>::FESubfaceValues (const hp::MappingCollection<dim,spacedim> &mapping,
- const hp::FECollection<dim,spacedim> &fe_collection,
+ const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
template <int dim, int spacedim>
- FESubfaceValues<dim,spacedim>::FESubfaceValues (const hp::FECollection<dim,spacedim> &fe_collection,
+ FESubfaceValues<dim,spacedim>::FESubfaceValues (const hp::FECollection<dim,spacedim> &fe_collection,
const hp::QCollection<dim-1> &q_collection,
const UpdateFlags update_flags)
:
- SparseMatrix::SparseMatrix (const Epetra_Map &input_map,
+ SparseMatrix::SparseMatrix (const Epetra_Map &input_map,
const unsigned int n_max_entries_per_row)
:
column_space_map (new Epetra_Map (input_map)),
- SparseMatrix::SparseMatrix (const Epetra_Map &input_row_map,
- const Epetra_Map &input_col_map,
+ SparseMatrix::SparseMatrix (const Epetra_Map &input_row_map,
+ const Epetra_Map &input_col_map,
const unsigned int n_max_entries_per_row)
:
column_space_map (new Epetra_Map (input_col_map)),
template <typename SparsityType>
void
SparseMatrix::reinit (const Epetra_Map &input_map,
- const SparsityType &sparsity_pattern,
+ const SparsityType &sparsity_pattern,
const bool exchange_data)
{
reinit (input_map, input_map, sparsity_pattern, exchange_data);
void
SparseMatrix::reinit (const Epetra_Map &input_row_map,
const Epetra_Map &input_col_map,
- const SparsityType &sparsity_pattern,
+ const SparsityType &sparsity_pattern,
const bool exchange_data)
{
// release memory before reallocation