-/*---------------------------- dof_iterator.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __dof_iterator_H
-#define __dof_iterator_H
+//---------------------------- dof_accessor.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_accessor.h ---------------------------
+#ifndef __deal2__dof_accessor_h
+#define __deal2__dof_accessor_h
+
+
/*---------------------------- dof_iterator.h ---------------------------*/
// inlining and thus faster code.
-
/**
* Define the basis for accessors to the degrees of freedom.
*
};
-
-
/* -------------------------------------------------------------------------- */
/**
};
-
/**
* This is a switch class which only declares a #typedef#. It is meant to
* determine which class a #DoFObjectAccessor# class is to be derived
};
-
-
/* -------------------------------------------------------------------------- */
-
/**
* Common template for access to the data on a line, quad, hex. Note
* that this class is only here for documentation purposes, the actual
};
-
/**
* Closure class.
*/
};
-
/**
* Access to the degrees of freedom located on lines.
* This class follows mainly the route laid out by the accessor library
};
-
/**
* Grant access to the degrees of freedom located on quads.
*
};
-
-
-
/**
* Grant access to the degrees of freedom located on hexes.
*
};
-
/**
* Grant access to the degrees of freedom on a cell. In fact, since all
* access to the degrees of freedom has been enabled by the classes
};
-
-
-
// if in optimized mode: include more templates
#ifndef DEBUG
# include "dof_accessor.templates.h"
#endif
-
-
-
/*---------------------------- dof_iterator.h ---------------------------*/
-/* end of #ifndef __dof_iterator_H */
+
#endif
/*---------------------------- dof_iterator.h ---------------------------*/
-/*---------------------------- dof_accessor.templates.h ---------------------------*/
-/* $Id$ */
-#ifndef __dof_accessor_templates_H
-#define __dof_accessor_templates_H
-/*---------------------------- dof_accessor.templates.h ---------------------------*/
+//---------------------------- dof_accessor.templates.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_accessor.templates.h ---------------------------
+#ifndef __deal2__dof_accessor_templates_h
+#define __deal2__dof_accessor_templates_h
#include <dofs/dof_accessor.h>
};
-
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
TriaIterator<dim,DoFObjectAccessor<1,dim> >
};
-
template <int dim>
inline
void
};
-
-
/*------------------------- Functions: DoFObjectAccessor<2,dim> -----------------------*/
template <int dim>
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
TriaIterator<dim,DoFObjectAccessor<1,dim> >
};
-
template <int dim>
inline
TriaIterator<dim,DoFObjectAccessor<2,dim> >
};
-
template <int dim>
inline
void
};
-
-
/*------------------------- Functions: DoFObjectAccessor<2,dim> -----------------------*/
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
TriaIterator<dim,DoFObjectAccessor<1,dim> >
};
-
template <int dim>
inline
TriaIterator<dim,DoFObjectAccessor<2,dim> >
};
-
template <int dim>
inline
TriaIterator<dim,DoFObjectAccessor<3,dim> >
};
-
template <int dim>
void DoFObjectAccessor<3,dim>::copy_from (const DoFObjectAccessor<3,dim> &a)
{
};
-
-
/*------------------------- Functions: DoFCellAccessor -----------------------*/
};
-
template <int dim>
inline
TriaIterator<dim,DoFCellAccessor<dim> >
};
-
-
-
-
-
-/*---------------------------- dof_accessor.templates.h ---------------------------*/
-/* end of #ifndef __dof_accessor_templates_H */
#endif
-/*---------------------------- dof_accessor.templates.h ---------------------------*/
-/*---------------------------- dof_constraints.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __dof_constraints_H
-#define __dof_constraints_H
-/*---------------------------- dof_constraints.h ---------------------------*/
+//---------------------------- dof_constraints.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_constraints.h ---------------------------
+#ifndef __deal2__dof_constraints_h
+#define __deal2__dof_constraints_h
#include <vector>
#include <lac/forward_declarations.h>
-
/**
* This class represents the matrix denoting the distribution of the degrees
* of freedom of hanging nodes.
ConstraintMatrix ();
- /**
+/**
* Add a new line to the matrix.
*/
void add_line (const unsigned int line);
SparsityPattern &condensed) const;
- /**
+/**
* This function does much the same as
* the above one, except that it condenses
* the matrix struct 'in-place'. It does
template<typename number>
void set_zero (Vector<number> &vec) const;
-
- /**
+
+/**
* Print the constraint lines. Mainly for
* debugging purposes.
*
void print (ostream &) const;
- /**
+/**
* Exception
*/
DeclException0 (ExcMatrixIsClosed);
};
-
-
-/*---------------------------- dof_constraints.h ---------------------------*/
-/* end of #ifndef __dof_constraints_H */
#endif
-/*---------------------------- dof_constraints.h ---------------------------*/
-/*---------------------------- dof_constraints.templates.h ---------------------------*/
-/* $Id$ */
-#ifndef __dof_constraints_templates_H
-#define __dof_constraints_templates_H
-/*---------------------------- dof_constraints.templates.h ---------------------------*/
+//---------------------------- dof_constraints.templates.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_constraints.templates.h ---------------------------
+#ifndef __deal2__dof_constraints_templates_h
+#define __deal2__dof_constraints_templates_h
#include <dofs/dof_constraints.h>
else
new_line.push_back (row-shift);
-
- next_constraint = lines.begin();
+
+next_constraint = lines.begin();
// note: in this loop we need not check
// whether #next_constraint# is a valid
// iterator, since #next_constraint# is
};
-
template<typename number>
void
ConstraintMatrix::condense (SparseMatrix<number> &uncondensed) const
};
-
-
-
-
template<typename number>
void
ConstraintMatrix::condense (const Vector<number> &uncondensed,
else
new_line.push_back (row-shift);
-
- next_constraint = lines.begin();
+
+next_constraint = lines.begin();
// note: in this loop we need not check
// whether #next_constraint# is a valid
// iterator, since #next_constraint# is
break;
};
};
-
template<typename number>
break;
};
};
-
template<typename number>
else
old_line.push_back (row-shift);
-
- next_constraint = lines.begin();
+
+next_constraint = lines.begin();
// note: in this loop we need not check
// whether #next_constraint# is a valid
// iterator, since #next_constraint# is
};
-
-
-
-/*---------------------------- dof_constraints.templates.h ---------------------------*/
-/* end of #ifndef __dof_constraints_templates_H */
#endif
-/*---------------------------- dof_constraints.templates.h ---------------------------*/
-/*---------------------------- dof.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __dof_H
-#define __dof_H
+//---------------------------- dof_handler.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_handler.h ---------------------------
+#ifndef __deal2__dof_handler_h
+#define __deal2__dof_handler_h
+
+
/*---------------------------- dof.h ---------------------------*/
#include <vector>
#include <lac/forward_declarations.h>
-
-
-
-
-
/**
* Define some types which differ between the dimensions. This class
* is analogous to the \Ref{TriaDimensionInfo} class hierarchy.
class DoFDimensionInfo;
-
-
-
/**
* Define some types for the DoF handling in one dimension.
*
};
-
-
-
-
/**
* Define some types for the DoF handling in two dimensions.
*
};
-
/**
* Define some types for the DoF handling in two dimensions.
*
};
-
-
-
-
-
/**
* Manage the distribution and numbering of the degrees of freedom for
* non-multigrid algorithms.
active_face_iterator last_active_face (const unsigned int level) const;
//@}
-
- /*---------------------------------------*/
+
+/*---------------------------------------*/
/**
* @name Line iterator functions
active_line_iterator end_active_line (const unsigned int level) const;
- /**
+/**
* Return an iterator pointing to the
* last line, used or not.
*/
active_quad_iterator end_active_quad (const unsigned int level) const;
- /**
+/**
* Return an iterator pointing to the
* last quad, used or not.
*/
/*---------------------------------------*/
- /**
+/**
* Return number of degrees of freedom.
* Included in this number are those
* DoFs which are constrained by
* of freedom located at vertices.
*/
vector<unsigned int> vertex_dofs;
-
-
+
+
#if (__GNUC__==2) && (__GNUC_MINOR__ < 95)
// this seems to be disallowed
// by the standard, so gcc2.95
};
-
-
-
-
/* ----------------------- Inline functions ---------------------------------- */
};
-
template <int dim>
inline
const FiniteElement<dim> & DoFHandler<dim>::get_fe () const
};
-
-
-
-
/*---------------------------- dof.h ---------------------------*/
-/* end of #ifndef __dof_H */
+
#endif
/*---------------------------- dof.h ---------------------------*/
-/*---------------------------- dof_levels.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __dof_levels_H
-#define __dof_levels_H
-/*---------------------------- dof_levels.h ---------------------------*/
-
+//---------------------------- dof_levels.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_levels.h ---------------------------
+#ifndef __deal2__dof_levels_h
+#define __deal2__dof_levels_h
#include <vector>
};
-
-
-
/**
* Store the indices of the degrees of freedom which are located on the lines.
*
};
-
-
/**
* Store the indices of the degrees of freedom which are located on quads.
* See \Ref{DoFLevel<1>} for more information.
};
-
/**
* Store the indices of the degrees of freedom which are located on hexhedra.
* See \Ref{DoFLevel<1>} for more information.
};
-
-/*---------------------------- dof_levels.h ---------------------------*/
-/* end of #ifndef __dof_levels_H */
#endif
-/*---------------------------- dof_levels.h ---------------------------*/
-/*---------------------------- dof_tools.h ---------------------------*/
-/* $Id$ */
-#ifndef __dof_tools_H
-#define __dof_tools_H
-/*---------------------------- dof_tools.h ---------------------------*/
+//---------------------------- dof_tools.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_tools.h ---------------------------
+#ifndef __deal2__dof_tools_h
+#define __deal2__dof_tools_h
+
+
// Copyright Wolfgang Bangerth, Guido Kanschat, and others 1999
#include <vector>
-
/**
* This is a collection of functions operating on, and manipulating
* the numbers of degrees of freedom. The documentation of the member
};
-
-
-/*---------------------------- dof_tools.h ---------------------------*/
-/* end of #ifndef __dof_tools_H */
#endif
-/*---------------------------- dof_tools.h ---------------------------*/
-/*---------------------------- geometry_info.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __geometry_info_H
-#define __geometry_info_H
-/*---------------------------- geometry_info.h ---------------------------*/
+//---------------------------- geometry_info.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- geometry_info.h ---------------------------
+#ifndef __deal2__geometry_info_h
+#define __deal2__geometry_info_h
#include <base/exceptions.h>
};
-
/*---------------------------- Inline functions --------------------------------*/
template<>
};
-
-/*---------------------------- geometry_info.h ---------------------------*/
-/* end of #ifndef __geometry_info_H */
#endif
-/*---------------------------- geometry_info.h ---------------------------*/
-/*---------------------------- grid_generator.h ---------------------------*/
-/* $Id$ */
-#ifndef __grid_generator_H
-#define __grid_generator_H
-/*---------------------------- grid_generator.h ---------------------------*/
+//---------------------------- grid_generator.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- grid_generator.h ---------------------------
+#ifndef __deal2__grid_generator_h
+#define __deal2__grid_generator_h
#include <base/forward_declarations.h>
#include <base/exceptions.h>
-
-
/**
* This class offers triangulations of some standard domains such as hypercubes,
* hyperball and the like. Following is a list of domains that can be generated
};
-
-
-/*---------------------------- grid_generator.h ---------------------------*/
-/* end of #ifndef __grid_generator_H */
#endif
-/*---------------------------- grid_generator.h ---------------------------*/
-/*---------------------------- grid_in.h ---------------------------*/
-/* $Id$ */
-#ifndef __grid_in_H
-#define __grid_in_H
-/*---------------------------- grid_in.h ---------------------------*/
-
+//---------------------------- grid_in.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- grid_in.h ---------------------------
+#ifndef __deal2__grid_in_h
+#define __deal2__grid_in_h
#include <base/exceptions.h>
#include <string>
-
/**
* This class implements an input mechanism for grid data. It allows to
* read a grid structure into a triangulation object. Future versions
};
-
-
-
-
-/*---------------------------- grid_in.h ---------------------------*/
-/* end of #ifndef __grid_in_H */
#endif
-/*---------------------------- grid_in.h ---------------------------*/
-/*---------------------------- grid_out.h ---------------------------*/
-/* $Id$ */
-#ifndef __grid_out_H
-#define __grid_out_H
-/*---------------------------- grid_out.h ---------------------------*/
+//---------------------------- grid_out.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- grid_out.h ---------------------------
+#ifndef __deal2__grid_out_h
+#define __deal2__grid_out_h
+
#include <grid/forward_declarations.h>
#include <base/exceptions.h>
#include <string>
-
/**
* This class provides a means to output a triangulation to a file in different
* formats. Presently provided are functions to write it in GNUPLOT and
};
- /**
+/**
* Flags describing the details of
* output in GNUPLOT format.
*/
const unsigned int size = 300,
const double line_width = 0.5);
};
-
-
- /**
+
+
+/**
* Flags describing the details of
* output for encapsulated postscript
* for all dimensions not explicitely
//#else
//# warning Not implemented for gcc2.95
//#endif
-
-
-
- /**
+
+
+/**
* Declaration of a name for each of the
* different output formats.
*/
static string get_output_format_names ();
- /**
+/**
* Exception
*/
DeclException0 (ExcInvalidState);
* function.
*/
EpsFlags<3> eps_flags_3;
-
-
- /**
+
+/**
* Write the grid information about
* faces to #out#. Only those faces
* are printed which are on the boundary
};
-
-
-/*---------------------------- grid_out.h ---------------------------*/
-/* end of #ifndef __grid_out_H */
#endif
-/*---------------------------- grid_out.h ---------------------------*/
-/*---------------------------- intergrid_map.h ---------------------------*/
-/* $Id$ */
-#ifndef __intergrid_map_H
-#define __intergrid_map_H
-/*---------------------------- intergrid_map.h ---------------------------*/
-
+//---------------------------- intergrid_map.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- intergrid_map.h ---------------------------
+#ifndef __deal2__intergrid_map_h
+#define __deal2__intergrid_map_h
/**
};
-
-/*---------------------------- intergrid_map.h ---------------------------*/
-/* end of #ifndef __intergrid_map_H */
#endif
-/*---------------------------- intergrid_map.h ---------------------------*/
-/*---------------------------- magic_numbers.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __magic_numbers_H
-#define __magic_numbers_H
-/*---------------------------- magic_numbers.h ---------------------------*/
+//---------------------------- magic_numbers.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- magic_numbers.h ---------------------------
+#ifndef __deal2__magic_numbers_h
+#define __deal2__magic_numbers_h
// This is a list of magic numbers used throughout the library.
const unsigned int mn_persistent_tria_flags_end = 0xa201;
-
-/*---------------------------- magic_numbers.h ---------------------------*/
-/* end of #ifndef __magic_numbers_H */
#endif
-/*---------------------------- magic_numbers.h ---------------------------*/
-/*---------------------------- persistent_tria.h ---------------------------*/
-/* $Id$ */
-#ifndef __persistent_tria_H
-#define __persistent_tria_H
-/*---------------------------- persistent_tria.h ---------------------------*/
+//---------------------------- persistent_tria.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- persistent_tria.h ---------------------------
+#ifndef __deal2__persistent_tria_h
+#define __deal2__persistent_tria_h
#include <base/smartpointer.h>
};
-
-/*---------------------------- persistent_tria.h ---------------------------*/
-/* end of #ifndef __persistent_tria_H */
#endif
-/*---------------------------- persistent_tria.h ---------------------------*/
-/*---------------------------- tria.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998, 1999 */
-#ifndef __tria_H
-#define __tria_H
-/*---------------------------- tria.h ---------------------------*/
+//---------------------------- tria.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria.h ---------------------------
+#ifndef __deal2__tria_h
+#define __deal2__tria_h
+
#include <vector>
#include <grid/forward_declarations.h>
maximum_smoothing = 0xffff
};
-
-
-
-
-
-
-
-
-
-
/*------------------------------------------------------------------------*/
};
-
-
-
/**
* Structure to be passed to the #Triangulation<dim>::create_triangulation#
* function to describe boundary information.
};
-
-
/*------------------------------------------------------------------------*/
-
-
-
-
/**
* This class implements some types which differ between the dimensions.
* Declare it to have a template parameter, but do not actually declare
class TriaDimensionInfo;
-
/**
* This class implements some types which differ between the dimensions.
* These are the declararions for the 1D case only.
};
-
-
/**
* This class implements some types which differ between the dimensions.
* These are the declararions for the 3D case only.
};
-
/*------------------------------------------------------------------------*/
/**
};
-
/**
* Cache class used to store the number of used and active elements
* (lines or quads etc) within the levels of a triangulation. This
};
-
/**
* Cache class used to store the number of used and active elements
* (lines or quads etc) within the levels of a triangulation. This
};
-
-
/*------------------------------------------------------------------------*/
*/
void distort_random (const double factor,
const bool keep_boundary=true);
-
-
- /**
+
+
+/**
* @name Mesh refinement
*/
/*@{*/
/*@}*/
- /**
+/**
* @name User flag handling
*/
/*@{*/
*/
active_cell_iterator end_active (const unsigned int level) const;
-
- /**
+
+/**
* Return an iterator pointing to the
* last cell, used or not.
*
active_face_iterator last_active_face (const unsigned int level) const;
/*@}*/
-
- /*---------------------------------------*/
+
+/*---------------------------------------*/
/**
* @name Line iterator functions
/*@}*/
- /**
+/**
* @name Exceptions
*/
/*@{*/
*/
void update_number_cache_hexes ();
-
- /**
+
+/**
* Array of pointers pointing to the
* #TriangulationLevel<dim># objects
* storing the data on the different
};
-
-
-
-
-/*---------------------------- tria.h ---------------------------*/
-/* end of #ifndef __tria_H */
#endif
-/*---------------------------- tria.h ---------------------------*/
-
-
-/*---------------------------- tria_accessor.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __tria_accessor_H
-#define __tria_accessor_H
-/*---------------------------- tria_accessor.h ---------------------------*/
+//---------------------------- tria_accessor.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_accessor.h ---------------------------
+#ifndef __deal2__tria_accessor_h
+#define __deal2__tria_accessor_h
#include <base/exceptions.h>
// inlining and thus faster code.
-
-
-
-
/**
* Implements the accessor class descibed in the documentation of
* the iterator classes (see \Ref{TriaRawIterator}.
tria (parent) {};
-
- /**
+/**
* Copy operator. Since this is only
* called from iterators, do not
* return anything, since the
};
-
/**
* Common template for line, quad, hex accessors.
* According to #celldim# objects of this class represent lines,
};
-
/**
* Closure class to stop induction of classes. Should never be called and thus
* producesan error when created.
};
-
-
/**
* Accessor to dereference the data of lines. This accessor is used to
* point to lines in #dim# space dimensions. There is a derived class
*/
void operator = (const TriaObjectAccessor<1, dim> &);
-
- protected:
+protected:
/**@name Advancement of iterators*/
/*@{*/
};
-
/**
* Accessor to dereference the data of quads. This accessor is used to
* point to quads in #dim# space dimensions (only #dim>=2# seems reasonable
};
-
/**
* Accessor to dereference the data of hexahedra. This accessor is used to
* point to hexs in #dim# space dimensions (only #dim>=3# seems reasonable
};
-
-
-
-
/**
* This class allows access to a cell: a line in one dimension, a quad
* in two dimension, etc.
void clear_refine_flag () const;
- /**
+/**
* Return whether the coarsen flag
* is set or not.
*/
};
-
// if in optimized mode: include more templates
#ifndef DEBUG
# include "tria_accessor.templates.h"
#endif
-/*---------------------------- tria_accessor.h ---------------------------*/
-/* end of #ifndef __tria_accessor_H */
#endif
-/*---------------------------- tria_accessor.h ---------------------------*/
-
-
-
-/*---------------------------- tria_accessor.templates.h ---------------------------*/
-/* $Id$ */
-#ifndef __tria_accessor_templates_H
-#define __tria_accessor_templates_H
-/*---------------------------- tria_accessor.templates.h ---------------------------*/
+//---------------------------- tria_accessor.templates.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_accessor.templates.h ---------------------------
+#ifndef __deal2__tria_accessor_templates_h
+#define __deal2__tria_accessor_templates_h
#include <grid/tria.h>
tria = a.tria;
};
-
template <int dim>
inline
};
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
int
};
-
template <int dim>
inline
int
TriaAccessor<dim>::index () const {
return present_index;
};
-
template <int dim>
};
-
template <int dim>
inline
const Triangulation<dim> &
};
-
/*------------------------ Functions: LineAccessor ---------------------------*/
-
-
template <int dim>
inline
bool
};
-
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void
};
-
-
template <int dim>
inline
TriaIterator<dim,TriaObjectAccessor<1,dim> >
};
-
template <int dim>
inline
int
};
-
-
template <int dim>
inline
bool
}
-
template <int dim>
inline
unsigned int
child(1)->max_refinement_depth() + 1 };
return max (depths[0], depths[1]);
};
-
-
template <int dim>
};
-
template <int dim>
inline
void
};
-
-
/*------------------------ Functions: QuadAccessor ---------------------------*/
-
template <int dim>
inline
bool
};
-
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void
};
-
-
template <int dim>
inline
TriaIterator<dim,TriaObjectAccessor<1,dim> >
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
TriaIterator<dim,TriaObjectAccessor<2,dim> >
};
-
template <int dim>
inline
int TriaObjectAccessor<2,dim>::child_index (unsigned int i) const {
};
-
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void
};
-
-
/*------------------------ Functions: HexAccessor ---------------------------*/
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void TriaObjectAccessor<3,dim>::clear_user_flag () const {
};
-
-
template <int dim>
inline
TriaIterator<dim,TriaObjectAccessor<1,dim> >
};
-
template <int dim>
inline
TriaIterator<dim,TriaObjectAccessor<2,dim> >
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
TriaIterator<dim,TriaObjectAccessor<3,dim> >
};
-
template <int dim>
inline
int TriaObjectAccessor<3,dim>::child_index (unsigned int i) const {
};
-
template <int dim>
bool TriaObjectAccessor<3,dim>::has_children () const {
Assert (state() == valid, ExcDereferenceInvalidObject());
};
-
template <int dim>
inline
unsigned int
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void
};
-
-
/*------------------------ Functions: TriaObjectAccessor ---------------------------*/
-
template <int celldim, int dim>
inline
bool
};
-
template<int celldim, int dim>
inline
bool
};
-
template<int celldim, int dim>
inline
void
};
-
template<int celldim, int dim>
inline
void TriaObjectAccessor<celldim,dim>::clear_user_flag () const
};
-
-
template<int celldim, int dim>
inline
TriaIterator<dim,TriaObjectAccessor<1,dim> >
};
-
template<int celldim, int dim>
inline
TriaIterator<dim,TriaObjectAccessor<2,dim> >
};
-
template<int celldim, int dim>
inline
unsigned int
};
-
template<int celldim, int dim>
inline
unsigned int
};
-
template<int celldim, int dim>
inline
TriaIterator<dim,TriaObjectAccessor<celldim,dim> >
};
-
template<int celldim, int dim>
inline
int TriaObjectAccessor<celldim,dim>::child_index (unsigned int i) const
};
-
template<int celldim, int dim>
bool TriaObjectAccessor<celldim,dim>::has_children () const
{
};
-
template<int celldim, int dim>
inline
unsigned int
};
-
template<int celldim, int dim>
inline
void
};
-
template<int celldim, int dim>
inline
void
};
-
-
/*------------------------ Functions: CellAccessor<dim> -----------------------*/
};
-
template <>
inline
Triangulation<2>::face_iterator
};
-
template <>
inline
Triangulation<3>::face_iterator
};
-
template <int dim>
inline
int
};
-
template <int dim>
inline
int
};
-
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
bool
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
void
};
-
template <int dim>
inline
TriaIterator<dim,CellAccessor<dim> >
};
-
template <int dim>
inline
TriaIterator<dim,CellAccessor<dim> >
};
-
template <int dim>
inline
bool
};
-
-
-
-
-/*---------------------------- tria_accessor.templates.h ---------------------------*/
-/* end of #ifndef __tria_accessor_templates_H */
#endif
-/*---------------------------- tria_accessor.templates.h ---------------------------*/
-/*---------------------------- boundary-function.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __tria_boundary_H
-#define __tria_boundary_H
+//---------------------------- tria_boundary.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_boundary.h ---------------------------
+#ifndef __deal2__tria_boundary_h
+#define __deal2__tria_boundary_h
+
+
/*---------------------------- boundary-function.h ---------------------------*/
#include <base/point.h>
#include <grid/forward_declarations.h>
-
/**
* This class is used to represent a boundary to a triangulation.
* When a triangulation creates a new vertex on the boundary of the
};
-
-
-
/**
* Specialisation of \Ref{Boundary}<dim>, which places the new point right
* into the middle of the given points. The middle is defined as the
};
-
-
-
/*---------------------------- boundary-function.h ---------------------------*/
-/* end of #ifndef __tria_boundary_H */
+
#endif
/*---------------------------- boundary-function.h ---------------------------*/
-/*---------------------------- tria_boundary_lib.h ---------------------------*/
-/* $Id$ */
-#ifndef __tria_boundary_lib_H
-#define __tria_boundary_lib_H
-/*---------------------------- tria_boundary_lib.h ---------------------------*/
+//---------------------------- tria_boundary_lib.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_boundary_lib.h ---------------------------
+#ifndef __deal2__tria_boundary_lib_h
+#define __deal2__tria_boundary_lib_h
#include <grid/tria_boundary.h>
-
-
/**
* Specialisation of \Ref{Boundary}<dim>, which places the new point on
* the boundary of a ball in arbitrary dimension. It works by projecting
};
-
/**
* Variant of #HyperBallBoundary# which denotes a half hyper ball
* where the first coordinate is restricted to the range $x>=0$ (or
get_new_point_on_quad (const typename Triangulation<dim>::quad_iterator &quad) const;
};
-
-
/**
* Class describing the boundaries of a hyper shell. Only the center
};
-
-
-/*---------------------------- tria_boundary_lib.h ---------------------------*/
-/* end of #ifndef __tria_boundary_lib_H */
#endif
-/*---------------------------- tria_boundary_lib.h ---------------------------*/
-/*---------------------------- tria_hex.h ---------------------------*/
-/* $Id$ */
-#ifndef __tria_hex_H
-#define __tria_hex_H
-/*---------------------------- tria_hex.h ---------------------------*/
-
+//---------------------------- tria_hex.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_hex.h ---------------------------
+#ifndef __deal2__tria_hex_h
+#define __deal2__tria_hex_h
#include <base/exceptions.h>
};
-
-
/*----------------------------- Inline Function: Hexahedron ------------------------*/
};
-
inline
int Hexahedron::quad (const int i) const {
Assert ((i>=0) && (i<6),
};
-
inline
void Hexahedron::set_quad (const int i, const int index) {
Assert ((i>=0) && (i<6),
};
-
-
-/*---------------------------- tria_hex.h ---------------------------*/
-/* end of #ifndef __tria_hex_H */
#endif
-/*---------------------------- tria_hex.h ---------------------------*/
-/*---------------------------- tria-iterator.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __tria_iterator_H
-#define __tria_iterator_H
-/*---------------------------- tria-iterator.h ---------------------------*/
+//---------------------------- tria_iterator.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_iterator.h ---------------------------
+#ifndef __deal2__tria_iterator_h
+#define __deal2__tria_iterator_h
+/*---------------------------- tria-iterator.h ---------------------------*/
+
#include <iterator>
#include <iostream>
// inlining and thus faster code.
-
-
-
/**
* This class implements an iterator, analogous to those of the standard
* template library (STL). It fulfills the requirements of a bidirectional iterator.
*/
void print (ostream &out) const;
-
-
- /**@name Exceptions*/
+
+/**@name Exceptions*/
/*@{*/
/**
* Exception
Accessor accessor;
- /**
+/**
* Make all other iterator class templates
* friends of this class. This is
* necessary for the implementation of
};
-
-
-
-
-
/**
* This specialization of \Ref{TriaRawIterator} provides access only to the
* {\it used} lines, quads, cells, etc.
};
-
-
-
-
-
/**
* This specialization of \Ref{TriaIterator} provides access only to the
* {\it active} lines, quads, cells, etc. An active cell is a cell which is not
};
-
-
-
-
/*----------------------- Inline functions -------------------*/
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor>::TriaRawIterator (const Accessor &a) :
{};
-
template <int dim, typename Accessor>
template <typename OtherAccessor>
inline
{};
-
template <int dim, typename Accessor>
inline
const Accessor &
};
-
-
template <int dim, typename Accessor>
inline
Accessor &
};
-
template <int dim, typename Accessor>
inline
const Accessor *
};
-
template <int dim, typename Accessor>
inline
Accessor *
};
-
-
template <int dim, typename Accessor>
inline
IteratorState
};
-
// sorry that the declaration of this function looks so ragged; I had
// to do it this way since otherwise doc++ could not parse it correctly.
template <int dim, typename Accessor>
};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
void
};
-
template <int dim, typename Accessor>
template <typename OtherAccessor>
inline
{};
-
template <int dim, typename Accessor>
template <typename OtherAccessor>
inline
};
-
template <int dim, typename Accessor>
template <typename OtherAccessor>
inline
{};
-
template <int dim, typename Accessor>
template <typename OtherAccessor>
inline
};
-
-
-
template <int dim, typename Accessor>
inline
ostream & operator << (ostream &out, const TriaRawIterator<dim,Accessor> &i) {
};
-
template <int dim, typename Accessor>
inline
ostream & operator << (ostream &out, const TriaIterator<dim,Accessor> &i) {
};
-
template <int dim, typename Accessor>
inline
ostream & operator << (ostream &out, const TriaActiveIterator<dim,Accessor> &i) {
};
-
// if in optimized mode: include more templates
#ifndef DEBUG
# include "tria_iterator.templates.h"
/*---------------------------- tria-iterator.h ---------------------------*/
-/* end of #ifndef __tria_iterator_H */
+
#endif
/*---------------------------- tria-iterator.h ---------------------------*/
-/*---------------------------- tria_iterator.templates.h ---------------------------*/
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-/* $Id$ */
-#ifndef __tria_iterator_templates_H
-#define __tria_iterator_templates_H
-/*---------------------------- tria_iterator.templates.h ---------------------------*/
+//---------------------------- tria_iterator.templates.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_iterator.templates.h ---------------------------
+#ifndef __deal2__tria_iterator_templates_h
+#define __deal2__tria_iterator_templates_h
+
#include <grid/tria.h>
#include <grid/tria_iterator.h>
*/
-
/*------------------------ Functions: TriaRawIterator ------------------*/
accessor (0, -2, -2, 0) {};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor>::TriaRawIterator (const TriaRawIterator<dim,Accessor> &i) :
accessor (i.accessor) {};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor>::TriaRawIterator (Triangulation<dim> *parent,
accessor (parent, level, index, local_data) {};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
bool
};
-
template <int dim, typename Accessor>
inline
bool
};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor>
};
-
template <int dim, typename Accessor>
inline
TriaRawIterator<dim,Accessor>
};
-
-
/*----------------------- functions: TriaIterator ---------------*/
TriaRawIterator<dim,Accessor> (static_cast<TriaRawIterator<dim,Accessor> >(i)) {};
-
template <int dim, typename Accessor>
inline
TriaIterator<dim,Accessor>::TriaIterator (const TriaRawIterator<dim,Accessor> &i) :
};
-
template <int dim, typename Accessor>
inline
TriaIterator<dim,Accessor>::TriaIterator (Triangulation<dim> *parent,
};
-
template <int dim, typename Accessor>
inline
TriaIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaIterator<dim,Accessor> & TriaIterator<dim,Accessor>::operator ++ () {
};
-
template <int dim, typename Accessor>
inline
TriaIterator<dim,Accessor> TriaIterator<dim,Accessor>::operator ++ (int) {
};
-
template <int dim, typename Accessor>
inline
TriaIterator<dim,Accessor> &
};
-
/*----------------------- functions: TriaActiveIterator ---------------*/
TriaIterator<dim,Accessor> () {};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor>::TriaActiveIterator (const TriaActiveIterator<dim,Accessor> &i) :
TriaIterator<dim,Accessor> (static_cast<TriaIterator<dim,Accessor> >(i)) {};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor>::TriaActiveIterator (const TriaRawIterator<dim,Accessor> &i) :
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor>::TriaActiveIterator (Triangulation<dim> *parent,
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor>
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor> &
};
-
template <int dim, typename Accessor>
inline
TriaActiveIterator<dim,Accessor> TriaActiveIterator<dim,Accessor>::operator -- (int) {
};
-
-
-/*---------------------------- tria_iterator.templates.h ---------------------------*/
-/* end of #ifndef __tria_iterator_templates_H */
#endif
-/*---------------------------- tria_iterator.templates.h ---------------------------*/
-/*---------------------------- tria_iterator_base.h ---------------------------*/
-/* $Id$ */
-#ifndef __tria_iterator_base_H
-#define __tria_iterator_base_H
-/*---------------------------- tria_iterator_base.h ---------------------------*/
+//---------------------------- tria_iterator_base.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_iterator_base.h ---------------------------
+#ifndef __deal2__tria_iterator_base_h
+#define __deal2__tria_iterator_base_h
/**
};
-
-/*---------------------------- tria_iterator_base.h ---------------------------*/
-/* end of #ifndef __tria_iterator_base_H */
#endif
-/*---------------------------- tria_iterator_base.h ---------------------------*/
-/*---------------------------- tria_levels.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __tria_levels_H
-#define __tria_levels_H
-/*---------------------------- tria_levels.h ---------------------------*/
-
+//---------------------------- tria_levels.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_levels.h ---------------------------
+#ifndef __deal2__tria_levels_h
+#define __deal2__tria_levels_h
#include <vector>
};
-
/**
* Store all information which belongs to one level of the multilevel hierarchy.
*
};
-
-
/**
* Store all information which belongs to one level of the multilevel hierarchy.
*
*/
vector<unsigned char> material_id;
-
- /**
+
+/**
* Pointer which is not used by the
* library but may be accessed an set
* by the user to handle data local to
};
-
-
/**
* Store all information which belongs to one level of the multilevel hierarchy.
*
*/
vector<unsigned char> material_id;
-
- /**
+
+/**
* Pointer which is not used by the
* library but may be accessed an set
* by the user to handle data local to
};
-
-
-/*---------------------------- tria_levels.h ---------------------------*/
-/* end of #ifndef __tria_levels_H */
#endif
-/*---------------------------- tria_levels.h ---------------------------*/
-/*---------------------------- tria_line.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __tria_line_H
-#define __tria_line_H
-/*---------------------------- tria_line.h ---------------------------*/
+//---------------------------- tria_line.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_line.h ---------------------------
+#ifndef __deal2__tria_line_h
+#define __deal2__tria_line_h
+
#include <base/exceptions.h>
};
-
-
/*----------------------------- Inline Function: Line ------------------------*/
};
-
-/*---------------------------- tria_line.h ---------------------------*/
-/* end of #ifndef __tria_line_H */
#endif
-/*---------------------------- tria_line.h ---------------------------*/
-/*---------------------------- tria_quad.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __tria_quad_H
-#define __tria_quad_H
-/*---------------------------- tria_quad.h ---------------------------*/
+//---------------------------- tria_quad.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- tria_quad.h ---------------------------
+#ifndef __deal2__tria_quad_h
+#define __deal2__tria_quad_h
#include <base/exceptions.h>
-
-
/**
* #Quad#s denote the fundamental entities of triangulations in two dimensions
* and the boundaries of hexaeders in three dimensions. They are
};
-
-
/*----------------------------- Inline Function: Quad ------------------------*/
};
-
inline
int Quad::line (const int i) const {
Assert ((i>=0) && (i<4),
};
-
inline
void Quad::set_line (const int i, const int index) {
Assert ((i>=0) && (i<4),
};
-
-/*---------------------------- tria_quad.h ---------------------------*/
-/* end of #ifndef __tria_quad_H */
#endif
-/*---------------------------- tria_quad.h ---------------------------*/
-/*---------------------------- mgbase.h ---------------------------*/
-/* $Id$ */
-#ifndef __mgbase_H
-#define __mgbase_H
-/*---------------------------- mgbase.h ---------------------------*/
+//---------------------------- mg_base.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- mg_base.h ---------------------------
+#ifndef __deal2__mg_base_h
+#define __deal2__mg_base_h
+/*---------------------------- mgbase.h ---------------------------*/
+
#include <base/subscriptor.h>
#include <base/smartpointer.h>
#include <vector>
-
-
/**
* An array with an object for each level. The purpose of this class
* is mostly to allow access by level number, even if the lower levels
};
-
-
-
/**
* Abstract base class for coarse grid solvers. The interface of a
* function call operator is defined to execute coarse grid solution
};
-
/**
* Coarse grid solver using LAC iterative methods.
* This is a little wrapper, transforming a triplet of iterative
};
-
-
-
-
-
/**
* Base class used to declare the operations needed by a concrete class
* implementing prolongation and restriction of vectors in the multigrid
};
-
-
-
-
-
-
/**
* Basic class for preconditioning by multigrid.
*
};
-
/**
* Multi-level preconditioner.
* Here, we collect all information needed for multi-level preconditioning
};
-
-
/* ------------------------------------------------------------------- */
};
-
template<class Object>
Object &
MGLevelObject<Object>::operator[] (const unsigned int i)
}
-
template<class Object>
void
MGLevelObject<Object>::resize (const unsigned int new_minlevel,
};
-
template<class Object>
void
MGLevelObject<Object>::clear ()
};
-
template<class Object>
unsigned int
MGLevelObject<Object>::get_maxlevel () const
};
-
/* ------------------ Functions for MGCoarseGridLACIteration ------------ */
{};
-
template<class SOLVER, class MATRIX, class PRECOND>
void
MGCoarseGridLACIteration<SOLVER,MATRIX,PRECOND>::operator() (const unsigned int /* level */,
}
-
-
-
-
/* ------------------------------------------------------------------- */
{}
-
template<class MG, class VECTOR>
void
PreconditionMG<MG,VECTOR>::operator() (VECTOR &dst,
}
-
/*---------------------------- mgbase.h ---------------------------*/
-/* end of #ifndef __mgbase_H */
+
#endif
/*---------------------------- mgbase.h ---------------------------*/
-/*---------------------------- mg_dof_accessor.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __mg_dof_accessor_H
-#define __mg_dof_accessor_H
-/*---------------------------- mg_dof_accessor.h ---------------------------*/
+//---------------------------- mg_dof_accessor.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- mg_dof_accessor.h ---------------------------
+#ifndef __deal2__mg_dof_accessor_h
+#define __deal2__mg_dof_accessor_h
#include <dofs/dof_accessor.h>
-
-
/**
* Define the basis for accessors to the degrees of freedom for
* a multigrid DoF handler object.
};
-
/**
* This is a switch class which only declares a #typdef#. It is meant to
* determine which class a #DoFObjectAccessor# class is to be derived
};
-
-
/* -------------------------------------------------------------------------- */
-
/**
* Common template for line, quad, hex.
*
{};
-
/**
* Closure class.
*/
};
-
/**
* Grant access to the degrees of freedom located on lines.
* This class follows mainly the route laid out by the accessor library
};
-
-
-
-
/**
* Grant access to the multilevel degrees of freedom located on quads.
*
};
-
-
/**
* Grant access to the multilevel degrees of freedom located on hexhedra.
*
};
-
/**
* Grant access to the degrees of freedom on a cell. In fact, since all
* access to the degrees of freedom has been enabled by the classes
};
-
-
-
-
-
-/*---------------------------- mg_dof_accessor.h ---------------------------*/
-/* end of #ifndef __mg_dof_accessor_H */
#endif
-/*---------------------------- mg_dof_accessor.h ---------------------------*/
-/*---------------------------- mg_dof.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __mg_dof_H
-#define __mg_dof_H
+//---------------------------- mg_dof_handler.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- mg_dof_handler.h ---------------------------
+#ifndef __deal2__mg_dof_handler_h
+#define __deal2__mg_dof_handler_h
+
+
/*---------------------------- mg_dof.h ---------------------------*/
#include <dofs/dof_handler.h>
-
/**
* Define some types which differ between the dimensions. This class
* is analogous to the \Ref{TriaDimensionInfo} class hierarchy.
class MGDoFDimensionInfo;
-
-
-
/**
* Define some types for the DoF handling in one dimension.
*
};
-
-
-
-
/**
* Define some types for the DoF handling in two dimensions.
*
};
-
-
/**
* Define some types for the DoF handling in two dimensions.
*
};
-
-
/**
* This class manages degrees of freedom for a multilevel hierarchy of
* grids. It does mostly the same as does the #DoDHandler# class, but
active_face_iterator last_active_face (const unsigned int level) const;
//@}
-
- /*---------------------------------------*/
+
+/*---------------------------------------*/
/**
* @name Line iterator functions
active_line_iterator end_active_line (const unsigned int level) const;
- /**
+/**
* Return an iterator pointing to the
* last line, used or not.
*/
active_quad_iterator end_active_quad (const unsigned int level) const;
- /**
+/**
* Return an iterator pointing to the
* last quad, used or not.
*/
active_hex_iterator end_active_hex (const unsigned int level) const;
- /**
+/**
* Return an iterator pointing to the
* last hex, used or not.
*/
};
- /**
+/**
* Distribute dofs on the given cell,
* with new dofs starting with index
* #next_free_dof#. Return the next
#endif
};
-
-
-
-
-
/* ----------------------- Inline functions of MGVertexDoFs -------------------*/
};
-
-
template <int dim>
inline
unsigned int
};
-
/*---------------------------- mg_dof.h ---------------------------*/
-/* end of #ifndef __mg_dof_H */
+
#endif
/*---------------------------- mg_dof.h ---------------------------*/
-/*---------------------------- mg_dof_tools.h ---------------------------*/
-/* $Id$ */
-#ifndef __mg_dof_tools_H
-#define __mg_dof_tools_H
-/*---------------------------- mg_dof_tools.h ---------------------------*/
+//---------------------------- mg_dof_tools.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- mg_dof_tools.h ---------------------------
+#ifndef __deal2__mg_dof_tools_h
+#define __deal2__mg_dof_tools_h
#include <lac/forward_declarations.h>
};
-
-/*---------------------------- mg_dof_tools.h ---------------------------*/
-/* end of #ifndef __mg_dof_tools_H */
#endif
-/*---------------------------- mg_dof_tools.h ---------------------------*/
-/*---------------------------- mg_smoother.h ---------------------------*/
-/* $Id$ */
-#ifndef __mg_smoother_H
-#define __mg_smoother_H
-/*---------------------------- mg_smoother.h ---------------------------*/
+//---------------------------- mg_smoother.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- mg_smoother.h ---------------------------
+#ifndef __deal2__mg_smoother_h
+#define __deal2__mg_smoother_h
#include <lac/forward_declarations.h>
#include <vector>
-
/**
* Abstract base class for multigrid smoothers.
* In fact, this class only provides the interface of the smoothing function.
};
-
-
-
/**
* Smoother doing nothing. This class is not useful for many applications other
* than for testing some multigrid procedures. Also some applications might
};
-
/**
* Base class for multigrid smoothers. It declares the interface
* to smoothers by inheriting #MGSmootherBase# and implements some functionality for setting
};
-
-
/**
* Implementation of a smoother using matrix builtin relaxation methods.
*
};
-
/* ------------------------------- Inline functions -------------------------- */
inline
return steps;
}
-/*---------------------------- mg_smoother.h ---------------------------*/
-/* end of #ifndef __mg_smoother_H */
+
#endif
-/*---------------------------- mg_smoother.h ---------------------------*/
{};
-
template<typename number>
void
MGSmootherRelaxation<number>::smooth (const unsigned int level,
-/*---------------------------- multigrid.h ---------------------------*/
-/* $Id$ */
-#ifndef __multigrid_H
-#define __multigrid_H
-/*---------------------------- multigrid.h ---------------------------*/
+//---------------------------- multigrid.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- multigrid.h ---------------------------
+#ifndef __deal2__multigrid_h
+#define __deal2__multigrid_h
+
#include <base/subscriptor.h>
#include <base/smartpointer.h>
#include <vector>
-
/**
* Implementation of multigrid with matrices.
* While #MGBase# was only an abstract framework for the V-cycle,
SmartPointer<const MGDoFHandler<dim> > mg_dof_handler;
- /**
+/**
* Sparsity patterns for each level.
*/
SmartPointer<const MGLevelObject<SparsityPattern> > level_sparsities;
};
-
-
-
/**
* Implementation of the #MGTransferBase# interface for which the transfer
* operations are prebuilt upon construction of the object of this class as
};
-
-
/* --------------------------- inline functions --------------------- */
}
-/*---------------------------- multigrid.h ---------------------------*/
-/* end of #ifndef __multigrid_H */
#endif
-/*---------------------------- multigrid.h ---------------------------*/
-/*---------------------------- multigrid.templates.h ---------------------------*/
-/* $Id$ */
-#ifndef __multigrid_templates_H
-#define __multigrid_templates_H
-/*---------------------------- multigrid.templates.h ---------------------------*/
+//---------------------------- multigrid.templates.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- multigrid.templates.h ---------------------------
+#ifndef __deal2__multigrid_templates_h
+#define __deal2__multigrid_templates_h
#include <dofs/dof_constraints.h>
}
-
-
-/*---------------------------- multigrid.templates.h ---------------------------*/
-/* end of #ifndef __multigrid.templates_H */
#endif
-/*---------------------------- multigrid.templates.h ---------------------------*/
-/*---------------------------- problem_assembler.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __problem_assembler_H
-#define __problem_assembler_H
+//---------------------------- assembler.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- assembler.h ---------------------------
+#ifndef __deal2__assembler_h
+#define __deal2__assembler_h
+
+
/*---------------------------- problem_assembler.h ---------------------------*/
#include <base/exceptions.h>
#include <vector>
-
-
-
/**
* This is the base class for equation objects. Equations objects describe the
* finite element discretisation of one or more equations.
};
-
-
-
/**
* An #Assembler# is a specialized version of a #DoFCellAccessor# which adds
* functionality to assemble global matrices and vectors from cell base ones.
*/
const UpdateFlags update_flags;
};
-
-
- /**
+
+/**
* Declare the data type that this accessor
* class expects to get passed from the
* iterator classes.
FEValues<dim> fe_values;
};
-
-
-
/*---------------------------- problem_assembler.h ---------------------------*/
-/* end of #ifndef __problem_assembler_H */
+
#endif
/*---------------------------- problem_assembler.h ---------------------------*/
-/*---------------------------- problem_base.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __problem_base_H
-#define __problem_base_H
+//---------------------------- base.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- base.h ---------------------------
+#ifndef __deal2__base_h
+#define __deal2__base_h
+
+
/*---------------------------- problem_base.h ---------------------------*/
#include <string>
-
-
/**
* Base class for user problems. This class stores the system matrix and right
* hand side vectors as well as a solution vector. It initiates the assemblage
virtual void fill_data (DataOut<dim> &) const;
- /**
+/**
* Return the name of the solution as a
* #string#. The default implementation
* returns #"solution"#.
friend class Assembler<dim>;
};
-
-
/*---------------------------- problem_base.h ---------------------------*/
-/* end of #ifndef __problem_base_H */
+
#endif
/*---------------------------- problem_base.h ---------------------------*/
-/*---------------------------- data_io.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __data_io_H
-#define __data_io_H
-/*---------------------------- data_io.h ---------------------------*/
+//---------------------------- data_io.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- data_io.h ---------------------------
+#ifndef __deal2__data_io_h
+#define __deal2__data_io_h
+
#include <base/exceptions.h>
#include <grid/forward_declarations.h>
#include <string>
-
-
/**
* This class is deprecated. Use the #DataOut# class instead.
*
vector<DataEntry> cell_data;
- /**
+/**
* Return the number of faces in the
* triangulation which have a boundary
* indicator not equal to zero. Only
};
-
-
/**
* Structure for the control of encapsulated postscript output. See
* general documentation of class #DataOut_Old# for description.
};
-/*---------------------------- data_io.h ---------------------------*/
-/* end of #ifndef __data_io_H */
#endif
-/*---------------------------- data_io.h ---------------------------*/
-/*---------------------------- data_out.h ---------------------------*/
-/* $Id$ */
-#ifndef __data_out_H
-#define __data_out_H
-/*---------------------------- data_out.h ---------------------------*/
+//---------------------------- data_out.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- data_out.h ---------------------------
+#ifndef __deal2__data_out_h
+#define __deal2__data_out_h
+
#include <lac/forward_declarations.h>
#include <grid/forward_declarations.h>
#include <base/data_out_base.h>
-
/**
* This is an abstract class which provides the functionality to generate
* patches for output by base classes from data vectors on a grid. It alloes
};
-
-
/**
* This class is an actual implementation of the functionality proposed by
* the #DataOut_DoFData# class. It offers a function #build_patches# that
*/
virtual void build_patches (const unsigned int n_subdivisions = 1,
const unsigned int n_threads_ = 1);
-
- /**
+
+/**
* Return the first cell which we
* want output for. The default
* implementation returns the first
};
-
-
-
-/*---------------------------- data_out.h ---------------------------*/
-/* end of #ifndef __data_out_H */
#endif
-/*---------------------------- data_out.h ---------------------------*/
-/*---------------------------- data_out_stack.h ---------------------------*/
-/* $Id$ */
-#ifndef __data_out_stack_H
-#define __data_out_stack_H
-/*---------------------------- data_out_stack.h ---------------------------*/
+//---------------------------- data_out_stack.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- data_out_stack.h ---------------------------
+#ifndef __deal2__data_out_stack_h
+#define __deal2__data_out_stack_h
#include <base/data_out_base.h>
#include <vector>
-
/**
* This class is used to stack the output from several computations
* into one output file by stacking the data sets in another
*/
void declare_data_vector (const vector<string> &name,
const VectorType vector_type);
-
- /**
+
+/**
* Add a data vector for the presently
* set value of the parameter.
*
virtual const vector<DataOutBase::Patch<dim+1> > & get_patches () const;
- /**
+/**
* Virtual function through
* which the names of data sets are
* obtained by the output functions
};
-
-/*---------------------------- data_out_stack.h ---------------------------*/
-/* end of #ifndef __data_out_stack_H */
#endif
-/*---------------------------- data_out_stack.h ---------------------------*/
-/*---------------------------- dof_renumbering.h ---------------------------*/
-/* $Id$ */
-#ifndef __dof_renumbering_H
-#define __dof_renumbering_H
-/*---------------------------- dof_renumbering.h ---------------------------*/
+//---------------------------- dof_renumbering.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- dof_renumbering.h ---------------------------
+#ifndef __deal2__dof_renumbering_h
+#define __deal2__dof_renumbering_h
#include <base/exceptions.h>
#include <grid/forward_declarations.h>
-
-
/**
* Implementation of a number of renumbering algorithms for the degrees of
* freedom on a triangulation.
static void component_wise (DoFHandler<dim> &dof_handler,
const vector<unsigned int> &component_order = vector<unsigned int>());
-
- /**
+
+/**
* Exception
*/
DeclException0 (ExcRenumberingIncomplete);
};
-
-
-
-
-
-
-/*---------------------------- dof_renumbering.h ---------------------------*/
-/* end of #ifndef __dof_renumbering_H */
#endif
-/*---------------------------- dof_renumbering.h ---------------------------*/
-/*---------------------------- error_estimator.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __error_estimator_H
-#define __error_estimator_H
-/*---------------------------- error_estimator.h ---------------------------*/
+//---------------------------- error_estimator.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- error_estimator.h ---------------------------
+#ifndef __deal2__error_estimator_h
+#define __deal2__error_estimator_h
#include <base/exceptions.h>
*/
typedef map<unsigned char,const Function<dim>*> FunctionMap;
-
- /**
+
+/**
* Implementation of the error
* estimator described above. You
* may give a coefficient, but
* Exception
*/
DeclException0 (ExcInvalidBoundaryFunction);
-
- private:
+private:
- /**
+/**
* Declare a data type to represent the
* mapping between faces and integrated
* jumps of gradients. See the general
typedef map<typename DoFHandler<dim>::face_iterator,double> FaceIntegrals;
- /**
+/**
* Redeclare an active cell iterator.
* This is simply for convenience.
*/
typedef DoFHandler<dim>::active_cell_iterator active_cell_iterator;
- /**
+/**
* All data needed by the several functions
* of the error estimator is gathered in
* this struct. It is passed as a reference
unsigned int n_threads);
};
-
- /**
+
+/**
* Computates the error on all cells
* of the domain with the number n,
* satisfying
*/
- static void integrate_over_regular_face (Data &data,
+static void integrate_over_regular_face (Data &data,
const unsigned int this_thread,
const active_cell_iterator &cell,
const unsigned int face_no,
FEFaceValues<dim> &fe_face_values_cell,
FEFaceValues<dim> &fe_face_values_neighbor);
-
-
- /**
+
+
+/**
* The same applies as for the function
* above, except that integration is
* over face #face_no# of #cell#, where
};
-
-
-
-/*---------------------------- error_estimator.h ---------------------------*/
-/* end of #ifndef __error_estimator_H */
#endif
-/*---------------------------- error_estimator.h ---------------------------*/
-/*---------------------------- histogram.h ---------------------------*/
-/* $Id$ */
-#ifndef __histogram_H
-#define __histogram_H
-/*---------------------------- histogram.h ---------------------------*/
+//---------------------------- histogram.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- histogram.h ---------------------------
+#ifndef __deal2__histogram_h
+#define __deal2__histogram_h
#include <base/exceptions.h>
#include <string>
-
/**
* This class provides some facilities to generate 2d and 3d histograms.
* It is used by giving it one or several data sets and a rule how to
enum IntervalSpacing {
linear, logarithmic
};
-
- /**
+
+/**
* Take several lists of values, each on
* to produce one histogram that will
* then be arrange one behind each other.
};
-
-
-/*---------------------------- histogram.h ---------------------------*/
-/* end of #ifndef __histogram_H */
#endif
-/*---------------------------- histogram.h ---------------------------*/
-/*---------------------------- matrices.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __matrices_H
-#define __matrices_H
-/*---------------------------- matrices.h ---------------------------*/
-
+//---------------------------- matrices.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- matrices.h ---------------------------
+#ifndef __deal2__matrices_h
+#define __deal2__matrices_h
#include <base/exceptions.h>
#include <map>
-
-
/**
* Provide a class which assembles certain standard matrices for a given
* triangulation, using a given finite element and a quadrature formula.
};
-
-
-
/**
* Provide a collection of functions operating on matrices. These include
* the application of boundary conditions to a linear system of equations
};
-
-
/**
* Equation class to be passed to the #Assembler# if you want to make up the
* mass matrix for your problem. The mass matrix is the matrix with
};
-
-
-
/**
* Equation class to be passed to the #Assembler# if you want to make up the
* laplace matrix for your problem. The laplace matrix is the matrix with
};
-
-
-
-
-
-
-/*---------------------------- matrices.h ---------------------------*/
-/* end of #ifndef __matrices_H */
#endif
-/*---------------------------- matrices.h ---------------------------*/
-/*---------------------------- solutiontransfer.h ----------------------*/
-/* $Id$ */
-/* Ralf Hartmann, University of Heidelberg */
-#ifndef __solutiontransfer_H
-#define __solutiontransfer_H
+//---------------------------- solution_transfer.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- solution_transfer.h ---------------------------
+#ifndef __deal2__solution_transfer_h
+#define __deal2__solution_transfer_h
+
+
/*---------------------------- solutiontransfer.h ----------------------*/
#include <vector>
-
-
/**
* Transfers a discrete FE function (like a solution vector) by interpolation
* while refining and/or coarsening a grid. During interpolation the
PreparationState prepared_for;
- /**
+/**
* Is used for #prepare_for_refining#
* (of course also for
* #repare_for_refining_and_coarsening#)
};
-
-
-
-
/*---------------------------- solutiontransfer.h ---------------------------*/
-/* end of #ifndef __solutiontransfer_H */
+
#endif
/*---------------------------- solutiontransfer.h ---------------------------*/
-/*---------------------------- time-dependent.h ---------------------------*/
-/* $Id$ */
-#ifndef __time_dependent_H
-#define __time_dependent_H
+//---------------------------- time_dependent.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- time_dependent.h ---------------------------
+#ifndef __deal2__time_dependent_h
+#define __deal2__time_dependent_h
+
+
/*---------------------------- time-dependent.h ---------------------------*/
#include <utility>
-
-
/**
* This class provides an abstract interface to time dependent problems in that
* it addresses some of the most annoying aspects of this class of problems:
TimeDependent (const TimeSteppingData &data_primal,
const TimeSteppingData &data_dual,
const TimeSteppingData &data_postprocess);
-
-
- /**
+
+
+/**
* Destructor. This will delete the
* objects pointed to by the pointers
* given to the #insert_*# and
LoopFunctionObject loop_function,
const TimeSteppingData ×tepping_data,
const Direction direction);
-
-
- /**
+
+
+/**
* Initialize the objects for the next
* sweep. This function specifically does
* the following: assign each time
};
-
-
-
-
-
/**
* Base class for a time step in time dependent problems. This class provides
* barely more than the basic framework, defining the necessary virtual
* sweep.
*/
void set_sweep_no (const unsigned int sweep_no);
-
- /**
+
+/**
* Copy constructor. I can see no reason
* why someone might want to use it, so
* I don't provide it. Since this class
friend class TimeDependent;
};
-
-
-
-
/**
* Specialisation of #TimeStepBase# which addresses some aspects of grid handling.
enum SolutionState {
grid_refinement = 0x1000
};
-
-
-
- /**
+
+
+/**
* Default constructor. Does nothing but
* throws an exception. We need to have
* such a constructor in order to satisfy
};
-
-
/**
* This structure is used to tell the #TimeStepBase_Tria# class how grids should
* be handled. It has flags defining the moments where grids shall be
};
-
-
/**
* This structure is used to tell the #TimeStepBase_Tria# class how grids should
* be refined. Before we explain all the different variables, fist some terminology:
const unsigned int first_sweep_with_correction;
- /**
+/**
* Apply cell number correction with the
* previous time level only if there are
* more than this number of cells.
};
-
-
/**
* Structure given to the actual refinement function, telling it which
* thresholds to take for coarsening and refinement. The actual refinement
};
-
-
/*----------------------------- template functions ------------------------------*/
template <typename InitFunctionObject, typename LoopFunctionObject>
(timesteps[n_timesteps-step-1]));
break;
};
-
- // wake up the first few time levels
+
+// wake up the first few time levels
for (int step=-timestepping_data.look_ahead; step<0; ++step)
for (int look_ahead=0;
look_ahead<=static_cast<int>(timestepping_data.look_ahead); ++look_ahead)
timesteps[n_timesteps-(step+look_ahead)]->wake_up(look_ahead);
break;
};
-
-
- for (unsigned int step=0; step<n_timesteps; ++step)
+
+
+for (unsigned int step=0; step<n_timesteps; ++step)
{
// first thing: wake up the
// timesteps ahead as necessary
timesteps[n_timesteps-(step+look_ahead)-1]->wake_up(look_ahead);
break;
};
-
-
- // actually do the work
+
+
+// actually do the work
switch (direction)
{
case forward:
};
-
-
/*---------------------------- time-dependent.h ---------------------------*/
-/* end of #ifndef __time_dependent_H */
+
#endif
/*---------------------------- time-dependent.h ---------------------------*/
-/*---------------------------- vectors.h ---------------------------*/
-/* $Id$ */
-/* Copyright W. Bangerth, University of Heidelberg, 1998 */
-#ifndef __vectors_H
-#define __vectors_H
-/*---------------------------- vectors.h ---------------------------*/
+//---------------------------- vectors.h ---------------------------
+// $Id$
+// Version: $Name$
+//
+// Copyright (C) 1998, 1999, 2000 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.
+//
+//---------------------------- vectors.h ---------------------------
+#ifndef __deal2__vectors_h
+#define __deal2__vectors_h
#include <base/forward_declarations.h>
};
-
-
/**
* Provide a class which offers some operations on vectors. Amoung these are
* assemblage of standard vectors, integration of the difference of a
*/
static void subtract_mean_value(Vector<double> &v,
const vector<bool> &p_select);
-
- /**
+
+/**
* Exception
*/
DeclException0 (ExcNotUseful);
};
-
-/*---------------------------- vectors.h ---------------------------*/
-/* end of #ifndef __vectors_H */
#endif
-/*---------------------------- vectors.h ---------------------------*/