* @author Guido Kanschat, 2010
*/
template <class VECTOR>
- class Operator : public virtual Subscriptor
+ class Operator : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2010
*/
template <class VECTOR>
- class OutputOperator : public virtual Subscriptor
+ class OutputOperator : public Subscriptor
{
OutputOperator(const OutputOperator<VECTOR> &);
public:
* The variable @p print_step can be used to control the amount of
* output generated by the timestepping scheme.
*/
- class TimestepControl : public virtual Subscriptor
+ class TimestepControl : public Subscriptor
{
public:
/**
*/
template <int dim>
class Function : public FunctionTime,
- public virtual Subscriptor
+ public Subscriptor
{
public:
/**
* @ingroup textoutput
* @author Guido Kanschat, Wolfgang Bangerth, 1999, 2003, 2011
*/
-class LogStream : public virtual Subscriptor
+class LogStream : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, Guido Kanschat, 1999, 2005, 2010
*/
template<class Object>
-class MGLevelObject : public virtual Subscriptor
+class MGLevelObject : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2007, 2008, 2009
*/
template <typename DATA>
-class NamedData : public virtual Subscriptor
+class NamedData : public Subscriptor
{
public:
/** Standard constructor creating
* @ingroup input
* @author Wolfgang Bangerth, October 1997, revised February 1998, 2010, 2011
*/
-class ParameterHandler : public virtual Subscriptor
+class ParameterHandler : public Subscriptor
{
private:
/**
* @author Ralf Hartmann, Guido Kanschat, 2000, 2006
*/
template <typename number>
- class Polynomial : public virtual Subscriptor
+ class Polynomial : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, Guido Kanschat, 1998, 1999, 2000, 2005, 2009
*/
template <int dim>
-class Quadrature : public virtual Subscriptor
+class Quadrature : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, 2002.
*/
template <int N, typename T>
-class TableBase : public virtual Subscriptor
+class TableBase : public Subscriptor
{
public:
/**
*/
template <int rank, int dim>
class TensorFunction : public FunctionTime,
- public virtual Subscriptor
+ public Subscriptor
{
public:
/**
* @ingroup dofs
* @author Guido Kanschat, 2009
*/
-class BlockInfo : public virtual Subscriptor
+class BlockInfo : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth
*/
template <int dim, int spacedim=dim>
-class DoFHandler : public virtual Subscriptor
+class DoFHandler : public Subscriptor
{
typedef dealii::internal::DoFHandler::Iterators<DoFHandler<dim,spacedim> > IteratorSelector;
public:
* @author Wolfgang Bangerth, Guido Kanschat, Ralf Hartmann, 1998, 2000, 2001, 2005
*/
template <int dim, int spacedim=dim>
-class FiniteElement : public virtual Subscriptor,
+class FiniteElement : public Subscriptor,
public FiniteElementData<dim>
{
public:
*/
template <int dim, int spacedim>
class FEValuesBase : protected FEValuesData<dim,spacedim>,
- public virtual Subscriptor
+ public Subscriptor
{
public:
/**
* @author Guido Kanschat, Ralf Hartmann 2000, 2001
*/
template <int dim, int spacedim=dim>
-class Mapping : public virtual Subscriptor
+class Mapping : public Subscriptor
{
public:
* has access to the precomputed
* values stored there.
*/
- class InternalDataBase: public virtual Subscriptor
+ class InternalDataBase: public Subscriptor
{
private:
/**
* @author Wolfgang Bangerth, 1999
*/
template <class GridClass>
-class InterGridMap : public virtual Subscriptor
+class InterGridMap : public Subscriptor
{
public:
* @author Wolfgang Bangerth, 1998; Ralf Hartmann, 2005
*/
template <int dim, int spacedim=dim>
-class Triangulation : public virtual Subscriptor
+class Triangulation : public Subscriptor
{
private:
* @author Wolfgang Bangerth, 1999, 2001, 2009, Ralf Hartmann, 2001, 2008
*/
template <int dim, int spacedim=dim>
-class Boundary : public virtual Subscriptor
+class Boundary : public Subscriptor
{
public:
* @ingroup hp
*/
template <int dim, int spacedim=dim>
- class DoFHandler : public virtual Subscriptor
+ class DoFHandler : public Subscriptor
{
typedef dealii::internal::DoFHandler::Iterators<DoFHandler<dim,spacedim> > IteratorSelector;
public:
* @author Wolfgang Bangerth, 2003
*/
template <int dim, int spacedim=dim>
- class FECollection : public virtual Subscriptor
+ class FECollection : public Subscriptor
{
public:
/**
* @author Oliver Kayser-Herold, 2005
*/
template<int dim, int spacedim=dim>
- class MappingCollection : public virtual Subscriptor
+ class MappingCollection : public Subscriptor
{
public:
/**
* @author Oliver Kayser-Herold, 2005
*/
template <int dim>
- class QCollection : public virtual Subscriptor
+ class QCollection : public Subscriptor
{
public:
/**
* Class to interface with the ARPACK routines.
*/
-class ArpackSolver : public virtual Subscriptor
+class ArpackSolver : public Subscriptor
{
public:
/**
* @see @ref GlossBlockLA "Block (linear algebra)"
* @author Wolfgang Bangerth, Guido Kanschat, 2000, 2007, 2011
*/
-class BlockIndices : public virtual Subscriptor
+class BlockIndices : public Subscriptor
{
public:
* @date 2010
*/
class BlockList :
- public virtual Subscriptor
+ public Subscriptor
{
public:
/// The container for each index set
* @author Guido Kanschat, 2000
*/
template <class MATRIX>
-class BlockDiagonalMatrix : public virtual Subscriptor
+class BlockDiagonalMatrix : public Subscriptor
{
public:
/**
* @date 2000-2005, 2010
*/
template <typename number = double>
-class BlockMatrixArray : public virtual Subscriptor
+class BlockMatrixArray : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, 2000, 2004
*/
template <typename MatrixType>
-class BlockMatrixBase : public virtual Subscriptor
+class BlockMatrixBase : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2002, 2003
*/
template<typename Number>
-class BlockSparseMatrixEZ : public virtual Subscriptor
+class BlockSparseMatrixEZ : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, 2000, 2001
*/
template <class SparsityPatternBase>
-class BlockSparsityPatternBase : public virtual Subscriptor
+class BlockSparsityPatternBase : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, Guido Kanschat, 1999, 2000, 2001, 2002, 2004
*/
template <class VectorType>
-class BlockVectorBase : public virtual Subscriptor
+class BlockVectorBase : public Subscriptor
{
public:
/**
*
* @author Wolfgang Bangerth, 2008
*/
-class ChunkSparsityPattern : public virtual Subscriptor
+class ChunkSparsityPattern : public Subscriptor
{
public:
*
* @author Oliver Kayser-Herold, 2007
*/
-class CompressedSetSparsityPattern : public virtual Subscriptor
+class CompressedSetSparsityPattern : public Subscriptor
{
public:
/**
*
* @author Timo Heister, 2008
*/
-class CompressedSimpleSparsityPattern : public virtual Subscriptor
+class CompressedSimpleSparsityPattern : public Subscriptor
{
public:
/**
*
* @author Wolfgang Bangerth, 2001
*/
-class CompressedSparsityPattern : public virtual Subscriptor
+class CompressedSparsityPattern : public Subscriptor
{
public:
/**
* @ingroup constraints
* @author Wolfgang Bangerth, Martin Kronbichler, 1998, 2004, 2008, 2009
*/
-class ConstraintMatrix : public virtual Subscriptor
+class ConstraintMatrix : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth 2001, Luca Heltai 2006, Guido Kanschat 2007, 2008
*/
template <class VECTOR>
-class FilteredMatrix : public virtual Subscriptor
+class FilteredMatrix : public Subscriptor
{
public:
class const_iterator;
* @date 2010
*/
template <class VECTOR>
-class IterativeInverse : public virtual Subscriptor
+class IterativeInverse : public Subscriptor
{
public:
/**
template <typename number>
class PreconditionLU
:
- public virtual Subscriptor
+ public Subscriptor
{
public:
void initialize(const LAPACKFullMatrix<number> &);
*/
template <class MATRIX>
class MatrixBlock
- : public virtual Subscriptor
+ : public Subscriptor
{
public:
/**
*/
template <class MATRIX>
class MGMatrixBlockVector
- : public virtual Subscriptor
+ : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2007
*/
template<class VECTOR>
-class ScaledMatrix : public virtual Subscriptor
+class ScaledMatrix : public Subscriptor
{
public:
/**
*
* @author Guido Kanschat, 2002, 2003
*/
-class MeanValueFilter : public virtual Subscriptor
+class MeanValueFilter : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2005
*/
template<class VECTOR>
-class InverseMatrixRichardson : public virtual Subscriptor
+class InverseMatrixRichardson : public Subscriptor
{
public:
/**
* @author Katharina Kormann, Martin Kronbichler, 2010, 2011
*/
template <typename Number>
- class Vector : public virtual Subscriptor
+ class Vector : public Subscriptor
{
public:
/**
* @ingroup Matrix1
* @author Wolfgang Bangerth, 2004
*/
- class MatrixBase : public virtual Subscriptor
+ class MatrixBase : public Subscriptor
{
public:
/**
* @ingroup PETScWrappers
* @author Wolfgang Bangerth, 2004
*/
- class VectorBase : public virtual Subscriptor
+ class VectorBase : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2000, 2001, 2002
*/
template<class VECTOR>
-class PointerMatrixBase : public virtual Subscriptor
+class PointerMatrixBase : public Subscriptor
{
public:
/**
*
* @author Guido Kanschat, 1999
*/
-class PreconditionIdentity : public virtual Subscriptor
+class PreconditionIdentity : public Subscriptor
{
public:
*
* @author Guido Kanschat, 2005
*/
-class PreconditionRichardson : public virtual Subscriptor
+class PreconditionRichardson : public Subscriptor
{
public:
/**
* @author Guido Kanschat, Wolfgang Bangerth, 1999
*/
template<class MATRIX = SparseMatrix<double>, class VECTOR = Vector<double> >
-class PreconditionUseMatrix : public virtual Subscriptor
+class PreconditionUseMatrix : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2000
*/
template<class MATRIX = SparseMatrix<double> >
-class PreconditionRelaxation : public virtual Subscriptor
+class PreconditionRelaxation : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 1999
*/
template<class SOLVER, class MATRIX = SparseMatrix<double>, class PRECONDITION = PreconditionIdentity>
-class PreconditionLACSolver : public virtual Subscriptor
+class PreconditionLACSolver : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2000
*/
template<class MATRIX, class PRECOND, class VECTOR>
-class PreconditionedMatrix : public virtual Subscriptor
+class PreconditionedMatrix : public Subscriptor
{
public:
/**
* @author Martin Kronbichler, 2009
*/
template <class MATRIX=SparseMatrix<double>, class VECTOR=Vector<double> >
-class PreconditionChebyshev : public virtual Subscriptor
+class PreconditionChebyshev : public Subscriptor
{
public:
/**
*/
template <class MATRIX = SparseMatrix<double>,
class VECTOR = dealii::Vector<double> >
-class PreconditionSelector : public virtual Subscriptor
+class PreconditionSelector : public Subscriptor
{
public:
/**
* Parameters for block relaxation methods.
*/
- class AdditionalData : public virtual Subscriptor
+ class AdditionalData : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2000, 2001, 2002
*/
template <class MA_inverse, class MB, class MDt, class MC>
-class SchurMatrix : public virtual Subscriptor
+class SchurMatrix : public Subscriptor
{
public:
* @author Wolfgang Bangerth, Guido Kanschat, Ralf Hartmann, 1997-2001, 2005
*/
template <class VECTOR = Vector<double> >
-class Solver : public virtual Subscriptor
+class Solver : public Subscriptor
{
public:
/**
*
* @author Guido Kanschat
*/
-class SolverControl : public virtual Subscriptor
+class SolverControl : public Subscriptor
{
public:
* @author Ralf Hartmann, 1999
*/
template <class VECTOR = Vector<double> >
-class SolverSelector : public virtual Subscriptor
+class SolverSelector : public Subscriptor
{
public:
*
* @author Wolfgang Bangerth, 2000, 2001, 2002
*/
-class SparseDirectMA27 : public virtual Subscriptor
+class SparseDirectMA27 : public Subscriptor
{
public:
/**
*
* @author Wolfgang Bangerth, 2000, 2001
*/
-class SparseDirectMA47 : public virtual Subscriptor
+class SparseDirectMA47 : public Subscriptor
{
public:
/**
*
* @author Wolfgang Bangerth, 2004
*/
-class SparseDirectUMFPACK : public virtual Subscriptor
+class SparseDirectUMFPACK : public Subscriptor
{
public:
/**
* @date 2002, 2010
*/
template <typename number>
-class SparseMatrixEZ : public virtual Subscriptor
+class SparseMatrixEZ : public Subscriptor
{
public:
/**
*
* @author Wolfgang Bangerth, Guido Kanschat and others
*/
-class SparsityPattern : public virtual Subscriptor
+class SparsityPattern : public Subscriptor
{
public:
/**
* @ingroup Preconditioners
* @author Martin Kronbichler, 2008
*/
- class PreconditionBase : public virtual Subscriptor
+ class PreconditionBase : public Subscriptor
{
public:
* @ingroup Matrix1
* @author Martin Kronbichler, Wolfgang Bangerth, 2008, 2009
*/
- class SparseMatrix : public virtual Subscriptor
+ class SparseMatrix : public Subscriptor
{
public:
/**
* @ingroup Sparsity
* @author Martin Kronbichler, 2008
*/
- class SparsityPattern : public virtual Subscriptor
+ class SparsityPattern : public Subscriptor
{
public:
* @ingroup Vectors
* @author Martin Kronbichler, 2008
*/
- class VectorBase : public virtual Subscriptor
+ class VectorBase : public Subscriptor
{
public:
/**
* @author Guido Kanschat, Franz-Theo Suttmeier, Wolfgang Bangerth
*/
template <typename Number>
-class Vector : public virtual Subscriptor
+class Vector : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 1998-2003
*/
template<class VECTOR = dealii::Vector<double> >
-class VectorMemory : public virtual Subscriptor
+class VectorMemory : public Subscriptor
{
public:
* @date 2012
*/
template <int dim, int spacedim=dim, typename number=double>
- class LocalIntegrator : public virtual Subscriptor
+ class LocalIntegrator : public Subscriptor
{
public:
/**
* @author Guido Kanschat 2009
*/
class VectorSelector :
- public virtual Subscriptor
+ public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2002
*/
template <class VECTOR>
-class MGMatrixBase : public virtual Subscriptor
+class MGMatrixBase : public Subscriptor
{
public:
/*
* @author Guido Kanschat, 2002
*/
template <class VECTOR>
-class MGCoarseGridBase : public virtual Subscriptor
+class MGCoarseGridBase : public Subscriptor
{
public:
/**
* @author Wolfgang Bangerth, Guido Kanschat, 1999, 2002, 2007
*/
template <class VECTOR>
-class MGTransferBase : public virtual Subscriptor
+class MGTransferBase : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 2002
*/
template <class VECTOR>
-class MGSmootherBase : public virtual Subscriptor
+class MGSmootherBase : public Subscriptor
{
public:
/**
*
* @ingroup mg
*/
-class MGConstrainedDoFs : public virtual Subscriptor
+class MGConstrainedDoFs : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 1999 - 2005
*/
template <class VECTOR>
-class Multigrid : public virtual Subscriptor
+class Multigrid : public Subscriptor
{
public:
/**
* @author Guido Kanschat, 1999, 2000, 2001, 2002
*/
template<int dim, class VECTOR, class TRANSFER>
-class PreconditionMG : public virtual Subscriptor
+class PreconditionMG : public Subscriptor
{
public:
/**
* @author Tobias Leicht, 2007
*/
template <int dim>
-class DataPostprocessor: public virtual Subscriptor
+class DataPostprocessor: public Subscriptor
{
public:
/**
*
* @author Wolfgang Bangerth, 1999
*/
-class TimeStepBase : public virtual Subscriptor
+class TimeStepBase : public Subscriptor
{
public:
/**
}
}
- // fill_fe_face_values needs argument Quadrature<dim_1> for both
- // cases dim_1==dim-1 and dim_1=dim. Hence the following workaround
+ // fill_fe_face_values needs
+ // argument Quadrature<dim-1>
+ // for both cases
+ // dim_1==dim-1 and
+ // dim_1=dim. Hence the
+ // following workaround
const Quadrature<dim> *cell_quadrature = 0;
const Quadrature<dim-1> *face_quadrature = 0;
- // static cast to the common base class of quadrature being either
- // Quadrature<dim> or Quadrature<dim-1>:
+ // static cast to the
+ // common base class of
+ // quadrature being either
+ // Quadrature<dim> or
+ // Quadrature<dim-1>:
+ const Subscriptor *quadrature_base_pointer = &quadrature;
if (face_no==invalid_face_number)
{
Assert(dim_1==dim, ExcDimensionMismatch(dim_1,dim));
- Assert (dynamic_cast<const Quadrature<dim> *>(&quadrature) != 0,
+ Assert (dynamic_cast<const Quadrature<dim> *>(quadrature_base_pointer) != 0,
ExcInternalError());
cell_quadrature
- = reinterpret_cast<const Quadrature<dim> *>(&quadrature);
+ = static_cast<const Quadrature<dim> *>(quadrature_base_pointer);
}
else
{
Assert(dim_1==dim-1, ExcDimensionMismatch(dim_1,dim-1));
- Assert (dynamic_cast<const Quadrature<dim-1> *>(&quadrature) != 0,
+ Assert (dynamic_cast<const Quadrature<dim-1> *>(quadrature_base_pointer) != 0,
ExcInternalError());
face_quadrature
- = reinterpret_cast<const Quadrature<dim-1> *>(&quadrature);
+ = static_cast<const Quadrature<dim-1> *>(quadrature_base_pointer);
}
// let base elements update the