interpolate_based_on_material_id
(const Mapping<DoFHandlerType::dimension, DoFHandlerType::space_dimension> &mapping,
const DoFHandlerType &dof,
- const std::map<types::material_id, const Function<DoFHandlerType::space_dimension> *> &function_map,
+ const std::map<types::material_id, const Function<DoFHandlerType::space_dimension, typename VectorType::value_type> *> &function_map,
VectorType &dst,
const ComponentMask &component_mask)
{
+ typedef typename VectorType::value_type number;
const unsigned int dim = DoFHandlerType::dimension;
Assert( component_mask.represents_n_components(dof.get_fe().n_components()),
ExcMessage("You cannot specify the invalid material indicator "
"in your function map."));
- for (typename std::map<types::material_id, const Function<DoFHandlerType::space_dimension>* >
+ for (typename std::map<types::material_id, const Function<DoFHandlerType::space_dimension, number>* >
::const_iterator
iter = function_map.begin();
iter != function_map.end();
std::vector< types::global_dof_index> dofs_on_cell(fe.max_dofs_per_cell());
std::vector< Point<DoFHandlerType::space_dimension> > rep_points(max_rep_points);
- std::vector< std::vector<double> > function_values_scalar(fe.size());
- std::vector< std::vector< Vector<double> > > function_values_system(fe.size());
+ std::vector< std::vector<number> > function_values_scalar(fe.size());
+ std::vector< std::vector< Vector<number> > > function_values_system(fe.size());
hp::QCollection<dim> support_quadrature;
for (unsigned int fe_index = 0; fe_index < fe.size(); ++fe_index)
if (fe_is_system)
{
function_values_system[fe_index].resize( n_rep_points[fe_index],
- Vector<double>(fe[fe_index].n_components()) );
+ Vector<number>(fe[fe_index].n_components()) );
function_map.find(cell->material_id())->second->vector_value_list(rep_points,
function_values_system[fe_index]);
template
void interpolate_based_on_material_id(const Mapping<deal_II_dimension, deal_II_space_dimension>&,
const DoFHandler<deal_II_dimension, deal_II_space_dimension>&,
- const std::map< types::material_id, const Function<deal_II_space_dimension>* >&,
+ const std::map< types::material_id, const Function<deal_II_space_dimension, VEC::value_type>* >&,
VEC&,
const ComponentMask&);
template
void interpolate_based_on_material_id(const Mapping<deal_II_dimension>&,
const hp::DoFHandler<deal_II_dimension>&,
- const std::map< types::material_id, const Function<deal_II_dimension>* >&,
+ const std::map< types::material_id, const Function<deal_II_dimension, VEC::value_type>* >&,
VEC&,
const ComponentMask&);