double y_min = cells.begin()->vertices[0](1);
double y_max = y_min;
- for (std::multiset<EpsCell2d>::const_iterator cell=cells.begin();
+ for (typename std::multiset<EpsCell2d>::const_iterator
+ cell=cells.begin();
cell!=cells.end(); ++cell)
for (unsigned int vertex=0; vertex<4; ++vertex)
{
// note: due to the ordering, we
// traverse the list of cells
// back-to-front
- for (std::multiset<EpsCell2d>::const_iterator cell=cells.begin();
+ for (typename std::multiset<EpsCell2d>::const_iterator
+ cell=cells.begin();
cell!=cells.end(); ++cell)
{
if (flags.draw_cells)
{
if (registered_objects.size() > 0)
{
- for (std::set<const Subscriptor*>::const_iterator i=registered_objects.begin();
+ for (typename std::set<const Subscriptor*>::const_iterator i=registered_objects.begin();
i!=registered_objects.end(); ++i)
std::cout << "Object still exists of type "
<< typeid(**i).name()
out.setf(std::ios::left);
out << std::setw(column_string_size)
-// << setfill('*')
<< key << "\t";
}
out << std::endl;
* structures and fill in values
* independent of the cell.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_data (const UpdateFlags,
const Mapping<dim>& mapping,
const Quadrature<dim>& quadrature) const ;
* structures and fill in values
* independent of the cell.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_data (const UpdateFlags,
const Mapping<dim>& mapping,
const Quadrature<dim>& quadrature) const ;
* @ref{FiniteElement}.
*/
virtual void
- fill_fe_values (const Mapping<dim> &mapping,
+ fill_fe_values (const Mapping<dim> &mapping,
const typename DoFHandler<dim>::cell_iterator &cell,
- const Quadrature<dim> &quadrature,
- Mapping<dim>::InternalDataBase &mapping_data,
- Mapping<dim>::InternalDataBase &fe_data,
- FEValuesData<dim> &data) const;
+ const Quadrature<dim> &quadrature,
+ typename Mapping<dim>::InternalDataBase &mapping_data,
+ typename Mapping<dim>::InternalDataBase &fe_data,
+ FEValuesData<dim> &data) const;
/**
* Implementation of the same
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_data (const UpdateFlags,
const Quadrature<dim>& quadrature) const;
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_face_data (const UpdateFlags flags,
const Quadrature<dim-1>& quadrature) const;
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_subface_data (const UpdateFlags flags,
const Quadrature<dim-1>& quadrature) const;
virtual void
transform_covariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_contravariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_covariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_contravariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
template <typename tensor_>
void covariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
template <typename tensor_>
void contravariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_covariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_contravariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_covariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_contravariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
protected:
virtual void
fill_fe_values (const typename DoFHandler<dim>::cell_iterator &cell,
const Quadrature<dim> &quadrature,
- typename Mapping<dim>::InternalDataBase &mapping_data,
+ typename Mapping<dim>::InternalDataBase &mapping_data,
std::vector<Point<dim> > &quadrature_points,
std::vector<double> &JxW_values) const ;
* On interior cells
* @p{MappingQ1} is used.
*/
- MappingQ1<dim>::InternalData mapping_q1_data;
+ typename MappingQ1<dim>::InternalData mapping_q1_data;
};
/**
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_data (const UpdateFlags,
const Quadrature<dim>& quadrature) const;
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_face_data (const UpdateFlags flags,
const Quadrature<dim-1>& quadrature) const;
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_subface_data (const UpdateFlags flags,
- const Quadrature<dim-1>& quadrature) const;
+ const Quadrature<dim-1>& quadrature) const;
/**
* Compute shape values and/or
* derivatives.
*/
- virtual void compute_shapes_virtual (const std::vector<Point<dim> > &unit_points,
- MappingQ1<dim>::InternalData &data) const;
+ virtual void
+ compute_shapes_virtual (const std::vector<Point<dim> > &unit_points,
+ typename MappingQ1<dim>::InternalData &data) const;
/**
* This function is needed by the
* @p{degree>=4} and MappingQ<2>
* this vector is computed.
*/
- void set_laplace_on_quad_vector(std::vector<std::vector<double> > &loqvs) const;
+ void
+ set_laplace_on_quad_vector(std::vector<std::vector<double> > &loqvs) const;
/**
* This function is needed by the
virtual void
transform_covariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_contravariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_covariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
virtual void
transform_contravariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
template <typename tensor_>
void covariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
template <typename tensor_>
void contravariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const;
/**
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_data (const UpdateFlags,
const Quadrature<dim>& quadrature) const;
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_face_data (const UpdateFlags flags,
const Quadrature<dim-1>& quadrature) const;
* Implementation of the interface in
* @ref{Mapping}.
*/
- virtual Mapping<dim>::InternalDataBase*
+ virtual
+ typename Mapping<dim>::InternalDataBase *
get_subface_data (const UpdateFlags flags,
const Quadrature<dim-1>& quadrature) const;
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
FiniteElement<dim>::get_face_data (const UpdateFlags flags,
const Mapping<dim> &mapping,
const Quadrature<dim-1> &quadrature) const
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
FiniteElement<dim>::get_subface_data (const UpdateFlags flags,
const Mapping<dim> &mapping,
const Quadrature<dim-1> &quadrature) const
//----------------------------------------------------------------------
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
FE_DGQ<dim>::get_data (const UpdateFlags update_flags,
const Mapping<dim> &mapping,
const Quadrature<dim> &quadrature) const
//----------------------------------------------------------------------
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
FE_Q<dim>::get_data (const UpdateFlags update_flags,
const Mapping<dim> &mapping,
const Quadrature<dim> &quadrature) const
template <int dim>
-inline FiniteElementBase<dim>::InternalDataBase &
+inline
+typename FiniteElementBase<dim>::InternalDataBase &
FESystem<dim>::
InternalData::get_fe_data (const unsigned int base_no) const
{
inline void
FESystem<dim>::
InternalData::set_fe_data (const unsigned int base_no,
- FiniteElementBase<dim>::InternalDataBase *ptr)
+ typename FiniteElementBase<dim>::InternalDataBase *ptr)
{
Assert(base_no<base_fe_datas.size(),
ExcIndexRange(base_no,0,base_fe_datas.size()));
}
+
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
FESystem<dim>::get_data (UpdateFlags flags,
const Mapping<dim> &mapping,
const Quadrature<dim> &quadrature) const
typename Mapping<dim>::InternalDataBase *base_fe_data_base =
base_element(base_no).get_data(sub_flags, mapping, quadrature);
- FiniteElementBase<dim>::InternalDataBase *base_fe_data =
+ typename FiniteElementBase<dim>::InternalDataBase *base_fe_data =
dynamic_cast<typename FiniteElementBase<dim>::InternalDataBase *>
(base_fe_data_base);
// Pointer needed to get
// the update flags of the
// base element
- Mapping<dim>::InternalDataBase &base_fe_data=
- fe_data.get_fe_data(base_no);
+ typename Mapping<dim>::InternalDataBase &
+ base_fe_data = fe_data.get_fe_data(base_no);
// compute update flags ...
const UpdateFlags base_update_flags(mapping_data.update_flags
for (unsigned int base_no=0, comp=0; base_no<n_base_elements(); ++base_no)
{
const FiniteElement<dim> &base_fe=base_element(base_no);
- FiniteElementBase<dim>::InternalDataBase &base_fe_data=
- fe_data.get_fe_data(base_no);
+ typename FiniteElementBase<dim>::InternalDataBase &
+ base_fe_data = fe_data.get_fe_data(base_no);
// Make sure that in the
// case of fill_fe_values
// Pointer needed to get
// the update flags of the
// base element
- Mapping<dim>::InternalDataBase &base_fe_data=
+ typename Mapping<dim>::InternalDataBase &base_fe_data=
fe_data.get_fe_data(base_no);
// compute update flags ...
{
if (fe_data)
{
- Mapping<dim>::InternalDataBase *tmp1=fe_data;
+ typename Mapping<dim>::InternalDataBase *tmp1=fe_data;
fe_data=0;
delete tmp1;
}
if (mapping_data)
{
- Mapping<dim>::InternalDataBase *tmp1=mapping_data;
+ typename Mapping<dim>::InternalDataBase *tmp1=mapping_data;
mapping_data=0;
delete tmp1;
}
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingCartesian<dim>::get_data (const UpdateFlags flags,
const Quadrature<dim> &q) const
{
}
+
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingCartesian<dim>::get_face_data (const UpdateFlags,
const Quadrature<dim-1>& quadrature) const
{
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingCartesian<dim>::get_subface_data (const UpdateFlags,
const Quadrature<dim-1> &quadrature) const
{
template <int dim>
void
MappingCartesian<dim>::transform_covariant (std::vector<Tensor<1,dim> > &dst,
- const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
- const unsigned int src_offset) const
+ const std::vector<Tensor<1,dim> > &src,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
+ const unsigned int src_offset) const
{
covariant_transformation(dst, src, mapping_data, src_offset);
}
template <int dim>
void
MappingCartesian<dim>::transform_covariant (std::vector<Point<dim> > &dst,
- const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
- const unsigned int src_offset) const
+ const std::vector<Point<dim> > &src,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
+ const unsigned int src_offset) const
{
covariant_transformation(dst, src, mapping_data, src_offset);
}
template <int dim>
void
MappingCartesian<dim>::transform_contravariant (std::vector<Tensor<1,dim> > &dst,
- const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
- const unsigned int src_offset) const
+ const std::vector<Tensor<1,dim> > &src,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
+ const unsigned int src_offset) const
{
contravariant_transformation(dst, src, mapping_data, src_offset);
}
+
template <int dim>
void
MappingCartesian<dim>::transform_contravariant (std::vector<Point<dim> > &dst,
- const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
- const unsigned int src_offset) const
+ const std::vector<Point<dim> > &src,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
+ const unsigned int src_offset) const
{
contravariant_transformation(dst, src, mapping_data, src_offset);
}
void
MappingCartesian<dim>::contravariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
Assert(tensor_::dimension==dim && tensor_::rank==1, ExcInvalidData());
void
MappingCartesian<dim>::covariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
Assert(tensor_::dimension==dim && tensor_::rank==1, ExcInvalidData());
template<int dim>
-MappingQ<dim>::InternalData::InternalData (const unsigned int n_shape_functions):
+MappingQ<dim>::InternalData::InternalData (const unsigned int n_shape_functions)
+ :
MappingQ1<dim>::InternalData(n_shape_functions),
use_mapping_q1_on_current_cell(false),
mapping_q1_data(1 << dim)
template<int dim>
void
MappingQ<dim>::compute_shapes_virtual (const std::vector<Point<dim> > &unit_points,
- MappingQ1<dim>::InternalData &data) const
+ typename MappingQ1<dim>::InternalData &data) const
{
const unsigned int n_points=unit_points.size();
std::vector<double> values;
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingQ<dim>::get_data (const UpdateFlags update_flags,
const Quadrature<dim> &quadrature) const
{
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingQ<dim>::get_face_data (const UpdateFlags update_flags,
const Quadrature<dim-1>& quadrature) const
{
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingQ<dim>::get_subface_data (const UpdateFlags update_flags,
const Quadrature<dim-1>& quadrature) const
{
// depending on this result, use
// this or the other data object
// for the mapping
- MappingQ1<dim>::InternalData *p_data=0;
+ typename MappingQ1<dim>::InternalData *p_data=0;
if (data.use_mapping_q1_on_current_cell)
p_data=&data.mapping_q1_data;
else
// depending on this result, use
// this or the other data object
// for the mapping
- MappingQ1<dim>::InternalData *p_data=0;
+ typename MappingQ1<dim>::InternalData *p_data=0;
if (data.use_mapping_q1_on_current_cell)
p_data=&data.mapping_q1_data;
else
// depending on this result, use
// this or the other data object
// for the mapping
- MappingQ1<dim>::InternalData *p_data=0;
+ typename MappingQ1<dim>::InternalData *p_data=0;
if (data.use_mapping_q1_on_current_cell)
p_data=&data.mapping_q1_data;
else
void
MappingQ<dim>::transform_covariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
- const MappingQ1<dim>::InternalData *q1_data_ptr =
- dynamic_cast<const MappingQ1<dim>::InternalData *> (&mapping_data);
+ const typename MappingQ1<dim>::InternalData *q1_data_ptr =
+ dynamic_cast<const typename MappingQ1<dim>::InternalData *> (&mapping_data);
Assert(q1_data_ptr!=0, ExcInternalError());
- const MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
+ const typename MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
if (q1_data.is_mapping_q1_data)
covariant_transformation(dst, src, q1_data, src_offset);
void
MappingQ<dim>::transform_covariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
- const MappingQ1<dim>::InternalData *q1_data_ptr =
- dynamic_cast<const MappingQ1<dim>::InternalData *> (&mapping_data);
+ const typename MappingQ1<dim>::InternalData *q1_data_ptr =
+ dynamic_cast<const typename MappingQ1<dim>::InternalData *> (&mapping_data);
Assert(q1_data_ptr!=0, ExcInternalError());
- const MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
+ const typename MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
if (q1_data.is_mapping_q1_data)
covariant_transformation(dst, src, q1_data, src_offset);
void
MappingQ<dim>::transform_contravariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
- const MappingQ1<dim>::InternalData *q1_data_ptr =
- dynamic_cast<const MappingQ1<dim>::InternalData *> (&mapping_data);
+ const typename MappingQ1<dim>::InternalData *q1_data_ptr =
+ dynamic_cast<const typename MappingQ1<dim>::InternalData *> (&mapping_data);
Assert(q1_data_ptr!=0, ExcInternalError());
- const MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
+ const typename MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
if (q1_data.is_mapping_q1_data)
contravariant_transformation(dst, src, q1_data, src_offset);
void
MappingQ<dim>::transform_contravariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
- const MappingQ1<dim>::InternalData *q1_data_ptr =
- dynamic_cast<const MappingQ1<dim>::InternalData *> (&mapping_data);
+ const typename MappingQ1<dim>::InternalData *q1_data_ptr =
+ dynamic_cast<const typename MappingQ1<dim>::InternalData *> (&mapping_data);
Assert(q1_data_ptr!=0, ExcInternalError());
- const MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
+ const typename MappingQ1<dim>::InternalData &q1_data=*q1_data_ptr;
if (q1_data.is_mapping_q1_data)
contravariant_transformation(dst, src, q1_data, src_offset);
mdata->use_mapping_q1_on_current_cell = !(use_mapping_q_on_all_cells
|| cell->has_boundary_lines());
- MappingQ1<dim>::InternalData *p_data=0;
+ typename MappingQ1<dim>::InternalData *p_data=0;
if (mdata->use_mapping_q1_on_current_cell)
p_data=&mdata->mapping_q1_data;
else
}
+
template <int dim>
Point<dim> MappingQ<dim>::transform_real_to_unit_cell (
const typename Triangulation<dim>::cell_iterator cell,
mdata->use_mapping_q1_on_current_cell = !(use_mapping_q_on_all_cells
|| cell->has_boundary_lines());
- MappingQ1<dim>::InternalData *p_data=0;
+ typename MappingQ1<dim>::InternalData *p_data=0;
if (mdata->use_mapping_q1_on_current_cell)
p_data=&mdata->mapping_q1_data;
else
template<int dim>
-MappingQ1<dim>::InternalData::InternalData (const unsigned int n_shape_functions):
+MappingQ1<dim>::InternalData::InternalData (const unsigned int n_shape_functions)
+ :
is_mapping_q1_data(true),
n_shape_functions (n_shape_functions)
{}
const unsigned int shape_nr) const
{
Assert(qpoint*n_shape_functions + shape_nr < shape_values.size(),
- ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, shape_values.size()));
+ ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0,
+ shape_values.size()));
return shape_values [qpoint*n_shape_functions + shape_nr];
}
template<int dim> inline
-double&
-MappingQ1<dim>::InternalData::shape (unsigned int qpoint,
- unsigned int shape_nr)
+double &
+MappingQ1<dim>::InternalData::shape (const unsigned int qpoint,
+ const unsigned int shape_nr)
{
Assert(qpoint*n_shape_functions + shape_nr < shape_values.size(),
- ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, shape_values.size()));
+ ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0,
+ shape_values.size()));
return shape_values [qpoint*n_shape_functions + shape_nr];
}
template<int dim> inline
Tensor<1,dim>
-MappingQ1<dim>::InternalData::derivative (unsigned int qpoint,
- unsigned int shape_nr) const
+MappingQ1<dim>::InternalData::derivative (const unsigned int qpoint,
+ const unsigned int shape_nr) const
{
Assert(qpoint*n_shape_functions + shape_nr < shape_derivatives.size(),
- ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, shape_derivatives.size()));
+ ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0,
+ shape_derivatives.size()));
return shape_derivatives [qpoint*n_shape_functions + shape_nr];
}
template<int dim> inline
-Tensor<1,dim>&
-MappingQ1<dim>::InternalData::derivative (unsigned int qpoint,
- unsigned int shape_nr)
+Tensor<1,dim> &
+MappingQ1<dim>::InternalData::derivative (const unsigned int qpoint,
+ const unsigned int shape_nr)
{
Assert(qpoint*n_shape_functions + shape_nr < shape_derivatives.size(),
- ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0, shape_derivatives.size()));
+ ExcIndexRange(qpoint*n_shape_functions + shape_nr, 0,
+ shape_derivatives.size()));
return shape_derivatives [qpoint*n_shape_functions + shape_nr];
}
+
template<int dim>
void
MappingQ1<dim>::compute_shapes (const std::vector<Point<dim> > &unit_points,
}
+
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingQ1<dim>::get_data (const UpdateFlags update_flags,
const Quadrature<dim>& q) const
{
}
+
template <int dim>
void
MappingQ1<dim>::compute_face_data (UpdateFlags update_flags,
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingQ1<dim>::get_face_data (const UpdateFlags update_flags,
const Quadrature<dim-1> &quadrature) const
{
template <int dim>
-Mapping<dim>::InternalDataBase*
+typename Mapping<dim>::InternalDataBase *
MappingQ1<dim>::get_subface_data (const UpdateFlags update_flags,
const Quadrature<dim-1>& quadrature) const
{
void
MappingQ1<dim>::transform_covariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
covariant_transformation(dst, src, mapping_data, src_offset);
void
MappingQ1<dim>::transform_covariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
covariant_transformation(dst, src, mapping_data, src_offset);
void
MappingQ1<dim>::transform_contravariant (std::vector<Tensor<1,dim> > &dst,
const std::vector<Tensor<1,dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
contravariant_transformation(dst, src, mapping_data, src_offset);
void
MappingQ1<dim>::transform_contravariant (std::vector<Point<dim> > &dst,
const std::vector<Point<dim> > &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
contravariant_transformation(dst, src, mapping_data, src_offset);
void
MappingQ1<dim>::contravariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
Assert(tensor_::dimension==dim && tensor_::rank==1, Mapping<dim>::ExcInvalidData());
void
MappingQ1<dim>::covariant_transformation (std::vector<tensor_> &dst,
const std::vector<tensor_> &src,
- const Mapping<dim>::InternalDataBase &mapping_data,
+ const typename Mapping<dim>::InternalDataBase &mapping_data,
const unsigned int src_offset) const
{
Assert(tensor_::dimension==dim && tensor_::rank==1, Mapping<dim>::ExcInvalidData());
// probably never see a difference
// although they are totally
// unrelated.
- DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
- endc = dof_handler.end();
+ typename DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
+ endc = dof_handler.end();
for (; cell!=endc; ++cell)
{
fe_values.reinit (cell);
// variable for:
std::vector<double> coefficient_values (n_q_points);
- DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
- endc = dof_handler.end();
+ typename DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
+ endc = dof_handler.end();
for (; cell!=endc; ++cell)
{
cell_matrix.clear ();
// the user of the ``fe_values''
// object, the actual finite
// element type is transparent.
- DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
- endc = dof_handler.end();
+ typename DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
+ endc = dof_handler.end();
for (; cell!=endc; ++cell)
{
cell_matrix.clear ();
// from previous examples, so we
// only comment on the things that
// have changed.
- DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
- endc = dof_handler.end();
+ typename DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
+ endc = dof_handler.end();
for (; cell!=endc; ++cell)
{
cell_matrix.clear ();
// all faces on Gamma2,
// irrespective whether
// they are active or not.
- Triangulation<dim>::cell_iterator cell = triangulation.begin (),
- endc = triangulation.end();
+ typename Triangulation<dim>::cell_iterator cell = triangulation.begin (),
+ endc = triangulation.end();
for (; cell!=endc; ++cell)
for (unsigned int face=0; face<GeometryInfo<dim>::faces_per_cell; ++face)
if ((cell->face(face)->center()(0) == -1)
// Now we can begin with the loop
// over all cells:
- DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
- endc = dof_handler.end();
+ typename DoFHandler<dim>::active_cell_iterator cell = dof_handler.begin_active(),
+ endc = dof_handler.end();
for (; cell!=endc; ++cell)
{
cell_matrix.clear ();
// which it shall operate, and
// the one past the last.
void assemble_system ();
- void assemble_system_interval (const DoFHandler<dim>::active_cell_iterator &begin,
- const DoFHandler<dim>::active_cell_iterator &end);
+ void assemble_system_interval (const typename DoFHandler<dim>::active_cell_iterator &begin,
+ const typename DoFHandler<dim>::active_cell_iterator &end);
// The following functions again
// are as in previous examples,
// this. In fact, it does this not
// only for a range of cell
// iterators, but for iterators in
- // general, so you could use for
- // ``std::vector<T>::iterator'' or usual
- // pointers as well.
+ // general, so you could use it for
+ // ``std::vector<T>::iterator'' or
+ // usual pointers as well.
//
// The function returns a vector of
// pairs of iterators, where the
template <int dim>
void
AdvectionProblem<dim>::
-assemble_system_interval (const DoFHandler<dim>::active_cell_iterator &begin,
- const DoFHandler<dim>::active_cell_iterator &end)
+assemble_system_interval (const typename DoFHandler<dim>::active_cell_iterator &begin,
+ const typename DoFHandler<dim>::active_cell_iterator &end)
{
// First of all, we will need some
// objects that describe boundary
// Then we start the main loop over
// the cells:
- DoFHandler<dim>::active_cell_iterator cell;
+ typename DoFHandler<dim>::active_cell_iterator cell;
for (cell=begin; cell!=end; ++cell)
{
// First clear old contents of