From 613377e3f02f2aaf90464cdd17ef985b66107755 Mon Sep 17 00:00:00 2001 From: wolf Date: Tue, 29 Jun 2004 13:35:35 +0000 Subject: [PATCH] Remove a file that has slipped in inadvertantly during the partial merge back from the hp branch. git-svn-id: https://svn.dealii.org/trunk@9482 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/deal.II/include/fe/hp_fe_values.h | 455 ---------------------- 1 file changed, 455 deletions(-) delete mode 100644 deal.II/deal.II/include/fe/hp_fe_values.h diff --git a/deal.II/deal.II/include/fe/hp_fe_values.h b/deal.II/deal.II/include/fe/hp_fe_values.h deleted file mode 100644 index 09c7cb1bbc..0000000000 --- a/deal.II/deal.II/include/fe/hp_fe_values.h +++ /dev/null @@ -1,455 +0,0 @@ -//---------------------------- hp_fe_values.h --------------------------- -// $Id$ -// Version: $Name$ -// -// Copyright (C) 2003, 2004 by the deal.II authors -// -// This file is subject to QPL and may not be distributed -// without copyright and license information. Please refer -// to the file deal.II/doc/license.html for the text and -// further information on this license. -// -//---------------------------- hp_fe_values.h --------------------------- -#ifndef __deal2__hp_fe_values_h -#define __deal2__hp_fe_values_h - -#include -#include -#include -#include - -#include -#include - -template class MappingQ1; -template class FiniteElement; - - -namespace internal -{ -/** - * Map between finite element objects and @p FEValues (the second - * template parameter, which might be FEValues, - * FEFaceValues, ...) objects. The hpFE*Values classes - * use this to hold an FE*Values object for each finite element - * that is used in the triangulation that it integrates on. - */ - template - class FEValuesMap - { - public: - /** - * Make destructor virtual, - * since we have virtual - * functions in this class. - */ - virtual ~FEValuesMap (); - - /** - * Return a reference to the - * @p FEValues object selected - * by the last call to - * @p select_fe_values. The - * returned value is a constant - * reference since the only - * non-const function in the - * underlying class would be - * @p reinit, which you must - * not call directly any way; - * rather, use the @p reinit - * function of the - * hpFE*Values class. - */ - const FEValues & get_present_fe_values () const; - - protected: - /** - * Create an object of type - * @p FEValues for this - * particular finite - * element. Since the type of - * @p FEValues is not known - * here, we have to leave this - * to derived classes. - */ - virtual - FEValues * create_fe_values (const FiniteElement &fe) const = 0; - - /** - * Select the @p FEValues - * object corresponding to the - * finite element object given - * as argument. If there is no - * such @p FEValues object - * yet, then one is created by - * calling @p create_fe_values - * with this finite element - * object. - * - * A non-const reference to - * this object is returned. - */ - FEValues & - select_fe_values (const FiniteElement &fe); - - private: - /** - * Have a map from pointers to - * finite elements to objects - * of type @p FEValues. - * - * Note that the shared pointer - * will make sure that the - * memory previously allocated - * is released when the - * destructor of this class is - * run. - */ - std::map >, - boost::shared_ptr > fe_to_fe_values_map; - - /** - * Pointer to the @p FEValues - * object that is used for the - * present cell. This always - * points to one of the objects - * in the map above, and to - * which one is determined by - * the last call to - * @p select_fe_values. - */ - boost::shared_ptr present_fe_values; - }; - - -/** - * Base class for the hpFE*Values classes, storing the data that - * is common to them. The first template parameter denotes the space - * dimension we are in, the second the dimensionality of the object - * that we integrate on, i.e. for usual @p hpFEValues it is equal to - * the first one, while for face integration it is one less. - * - * @author Wolfgang Bangerth, 2003 - */ - template - class hpFEValuesBase - { - public: - /** - * Constructor. Set the fields - * of this class to the values - * indicated by the parameters - * to the constructor. - */ - hpFEValuesBase (const Mapping &mapping, - const Quadrature &quadrature, - 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. - */ - hpFEValuesBase (const Quadrature &quadrature, - const UpdateFlags update_flags); - - protected: - /** - * Pointer to a mapping object as - * provided to the constructor, - * or a default @p MappingQ1 - * object if none was given. - */ - const SmartPointer > mapping; - - /** - * Pointer to a quadrature object - * as provided to the - * constructor. - */ - const SmartPointer > quadrature; - - /** - * Values of the update flags as - * given to the constructor. - */ - const UpdateFlags update_flags; - - private: - /** - * Default mapping, in case - * none was provided through - * the call to the constructor. - */ - static const MappingQ1 default_mapping; - }; -} - - - -template -class hpFEValues : public internal::FEValuesMap >, - protected internal::hpFEValuesBase -{ - public: - /** - * Constructor. Initialize this - * object with the given - * parameters. - * - * The finite element - * collection parameter is - * actually ignored, but is in - * the signature of this - * function to make it - * compatible with the - * signature of the respective - * constructor of the usual - * FEValues object, with - * the respective parameter in - * that function also being the - * return value of the - * DoFHandler::get_fe() - * function. - */ - hpFEValues (const Mapping &mapping, - const FECollection &fe_collection, - const Quadrature &quadrature, - const UpdateFlags update_flags); - - /** - * Constructor. Initialize this - * object with the given - * parameters, and choose a - * @p MappingQ1 object for the - * mapping object. - * - * The finite element - * collection parameter is - * actually ignored, but is in - * the signature of this - * function to make it - * compatible with the - * signature of the respective - * constructor of the usual - * FEValues object, with - * the respective parameter in - * that function also being the - * return value of the - * DoFHandler::get_fe() - * function. - */ - hpFEValues (const FECollection &fe_collection, - const Quadrature &quadrature, - const UpdateFlags update_flags); - - /** - * Reinitialize the object for - * the given cell. This selects - * the right @p FEValues object - * for the finite element in use - * by the cell given, and calling - * the @p reinit function on - * this object. - */ - void - reinit (const typename hpDoFHandler::cell_iterator &cell); - - protected: - /** - * Create an object of type - * @p FEValues for this - * particular finite element. - */ - virtual - FEValues * - create_fe_values (const FiniteElement &fe) const; -}; - - - -template -class hpFEFaceValues : public internal::FEValuesMap >, - protected internal::hpFEValuesBase -{ - public: - /** - * Constructor. Initialize this - * object with the given - * parameters. - * - * The finite element - * collection parameter is - * actually ignored, but is in - * the signature of this - * function to make it - * compatible with the - * signature of the respective - * constructor of the usual - * FEValues object, with - * the respective parameter in - * that function also being the - * return value of the - * DoFHandler::get_fe() - * function. - */ - hpFEFaceValues (const Mapping &mapping, - const FECollection &fe_collection, - const Quadrature &quadrature, - const UpdateFlags update_flags); - - /** - * Constructor. Initialize this - * object with the given - * parameters, and choose a - * @p MappingQ1 object for the - * mapping object. - * - * The finite element - * collection parameter is - * actually ignored, but is in - * the signature of this - * function to make it - * compatible with the - * signature of the respective - * constructor of the usual - * FEValues object, with - * the respective parameter in - * that function also being the - * return value of the - * DoFHandler::get_fe() - * function. - */ - hpFEFaceValues (const FECollection &fe_collection, - const Quadrature &quadrature, - const UpdateFlags update_flags); - - /** - * Reinitialize the object for - * the given cell. This selects - * the right @p FEValues object - * for the finite element in use - * by the cell given, and calling - * the @p reinit function on - * this object. - */ - void - reinit (const typename hpDoFHandler::cell_iterator &cell, - const unsigned int face_no); - - protected: - /** - * Create an object of type - * @p FEValues for this - * particular finite element. - */ - virtual - FEFaceValues * - create_fe_values (const FiniteElement &fe) const; -}; - - - -template -class hpFESubfaceValues : public internal::FEValuesMap >, - protected internal::hpFEValuesBase -{ - public: - /** - * Constructor. Initialize this - * object with the given - * parameters. - * - * The finite element - * collection parameter is - * actually ignored, but is in - * the signature of this - * function to make it - * compatible with the - * signature of the respective - * constructor of the usual - * FEValues object, with - * the respective parameter in - * that function also being the - * return value of the - * DoFHandler::get_fe() - * function. - */ - hpFESubfaceValues (const Mapping &mapping, - const FECollection &fe_collection, - const Quadrature &quadrature, - const UpdateFlags update_flags); - - /** - * Constructor. Initialize this - * object with the given - * parameters, and choose a - * @p MappingQ1 object for the - * mapping object. - * - * The finite element - * collection parameter is - * actually ignored, but is in - * the signature of this - * function to make it - * compatible with the - * signature of the respective - * constructor of the usual - * FEValues object, with - * the respective parameter in - * that function also being the - * return value of the - * DoFHandler::get_fe() - * function. - */ - hpFESubfaceValues (const FECollection &fe_collection, - const Quadrature &quadrature, - const UpdateFlags update_flags); - - /** - * Reinitialize the object for - * the given cell. This selects - * the right @p FEValues object - * for the finite element in use - * by the cell given, and calling - * the @p reinit function on - * this object. - */ - void - reinit (const typename hpDoFHandler::cell_iterator &cell, - const unsigned int face_no, - const unsigned int subface_no); - - protected: - /** - * Create an object of type - * @p FEValues for this - * particular finite element. - */ - virtual - FESubfaceValues * - create_fe_values (const FiniteElement &fe) const; -}; - - -// -------------- inline and template functions -------------- - -namespace internal -{ - template - inline - const FEValues & - FEValuesMap::get_present_fe_values () const - { - return *present_fe_values; - } -} - - - - -#endif -- 2.39.5