* @author Guido Kanschat
* @date 2011
*/
- template <int dim>
+ template <int dim, typename number=double>
void cell_residual(
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fetest,
const VectorSlice<const std::vector<std::vector<Tensor<1,dim> > > > &input,
const double factor = 1.)
* @author Guido Kanschat
* @date 2011
*/
- template <int dim>
+ template <int dim, typename number=double>
void gradient_residual(
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fetest,
const std::vector<Tensor<1,dim> > &input,
const double factor = 1.)
* @author Guido Kanschat
* @date 2011
*/
- template<int dim>
+ template<int dim, typename number=double>
void
u_dot_n_residual (
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fe,
const FEValuesBase<dim> &fetest,
const VectorSlice<const std::vector<std::vector<double> > > &data,
* - \int_Z \varepsilon(u): \varepsilon(v) \,dx
* \f]
*/
- template <int dim>
+ template <int dim, typename number=double>
inline void
cell_residual (
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fe,
const VectorSlice<const std::vector<std::vector<Tensor<1,dim> > > > &input,
double factor = 1.)
* @author Guido Kanschat
* @date 2013
*/
- template <int dim>
+ template <int dim, typename number=double>
void nitsche_residual (
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fe,
const VectorSlice<const std::vector<std::vector<double> > > &input,
const VectorSlice<const std::vector<std::vector<Tensor<1,dim> > > > &Dinput,
* @author Guido Kanschat
* @date 2013
*/
- template<int dim>
+ template<int dim, typename number=double>
void
ip_residual(
- Vector<double> &result1,
- Vector<double> &result2,
+ Vector<number> &result1,
+ Vector<number> &result2,
const FEValuesBase<dim> &fe1,
const FEValuesBase<dim> &fe2,
const VectorSlice<const std::vector<std::vector<double> > > &input1,
* @author Guido Kanschat
* @date 2008, 2009, 2010
*/
- template <int dim>
+ template <int dim, typename number=double>
void L2 (
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fe,
const std::vector<double> &input,
const double factor = 1.)
* @author Guido Kanschat
* @date 2008, 2009, 2010
*/
- template <int dim>
+ template <int dim, typename number=double>
void L2 (
- Vector<double> &result,
+ Vector<number> &result,
const FEValuesBase<dim> &fe,
const VectorSlice<const std::vector<std::vector<double> > > &input,
const double factor = 1.)
* @author Guido Kanschat
* @date 2010
*/
- template <int dim>
+ template <int dim, int spacedim=dim, typename number>
double compute_penalty(
- const MeshWorker::DoFInfo<dim> &dinfo1,
- const MeshWorker::DoFInfo<dim> &dinfo2,
+ const MeshWorker::DoFInfo<dim,spacedim,number> &dinfo1,
+ const MeshWorker::DoFInfo<dim,spacedim,number> &dinfo2,
unsigned int deg1,
unsigned int deg2)
{
* pointer empty, but setting
* the #aux_local_indices.
*/
- template <class DH>
- DoFInfo (const DH &dof_handler);
+ DoFInfo (const DoFHandler<dim, spacedim>& dof_handler);
/**
* Set the current cell and
//----------------------------------------------------------------------//
template <int dim, int spacedim, typename number>
- template <class DH>
- DoFInfo<dim,spacedim,number>::DoFInfo(const DH &dof_handler)
+ DoFInfo<dim,spacedim,number>::DoFInfo(const DoFHandler<dim,spacedim> &dof_handler)
{
std::vector<unsigned int> aux(1);
aux[0] = dof_handler.get_fe().dofs_per_cell;
//---------------------------------------------------------------------------
// $Id$
//
-// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 by the deal.II authors
+// Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 by the deal.II authors
//
// This file is subject to QPL and may not be distributed
// without copyright and license information. Please refer
* Reinitialize internal data
* structures for use on a cell.
*/
- void reinit(const DoFInfo<dim, spacedim> &i);
+ template <typename number=double>
+ void reinit(const DoFInfo<dim, spacedim, number> &i);
/**
* Use the finite element
template <int dim, int spacedim>
+ template <typename number>
inline void
- IntegrationInfo<dim,spacedim>::reinit(const DoFInfo<dim, spacedim> &info)
+ IntegrationInfo<dim,spacedim>::reinit(const DoFInfo<dim, spacedim, number> &info)
{
for (unsigned int i=0; i<fevalv.size(); ++i)
{
template <>
+ template <typename number>
inline void
- IntegrationInfo<1,1>::reinit(const DoFInfo<1,1> &info)
+ IntegrationInfo<1,1>::reinit(const DoFInfo<1,1,number> &info)
{
const int dim = 1;
const int spacedim = 1;
template <>
+ template <typename number>
inline void
- IntegrationInfo<1,2>::reinit(const DoFInfo<1,2> &info)
+ IntegrationInfo<1,2>::reinit(const DoFInfo<1,2,number> &info)
{
const int dim = 1;
const int spacedim = 2;