include/deal.II/dofs/number_cache.h

00001 //----------------------------------------------------------------------
00002 //    @f$Id: number_cache.h 25345 2012-03-31 08:37:04Z bangerth @f$
00003 //
00004 //    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007, 2008, 2010, 2011, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
00010 //
00011 //----------------------------------------------------------------------
00012 #ifndef __deal2__number_cache_h
00013 #define __deal2__number_cache_h
00014 
00015 #include <deal.II/base/config.h>
00016 #include <deal.II/base/index_set.h>
00017 
00018 #include <vector>
00019 
00020 
00021 DEAL_II_NAMESPACE_OPEN
00022 
00023 namespace internal
00024 {
00025   namespace DoFHandler
00026   {
00033     struct NumberCache
00034     {
00038         NumberCache ();
00039 
00045         std::size_t memory_consumption () const;
00046 
00053         unsigned int n_global_dofs;
00054 
00062         unsigned int n_locally_owned_dofs;
00063 
00073         IndexSet locally_owned_dofs;
00074 
00084         std::vector<unsigned int> n_locally_owned_dofs_per_processor;
00085 
00095         std::vector<IndexSet> locally_owned_dofs_per_processor;
00096 
00101         template <class Archive>
00102         void serialize (Archive & ar,
00103                         const unsigned int version);
00104     };
00105 
00106 
00107     template <class Archive>
00108     void
00109     NumberCache::serialize (Archive & ar,
00110                             const unsigned int /*version*/)
00111     {
00112       ar & n_global_dofs & n_locally_owned_dofs;
00113       ar & locally_owned_dofs;
00114       ar & n_locally_owned_dofs_per_processor;
00115       ar & locally_owned_dofs_per_processor;
00116     }
00117 
00118   }
00119 }
00120 
00121 
00122 DEAL_II_NAMESPACE_CLOSE
00123 
00124 #endif // __deal2__dof_iterator_selector_h
00125 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Wed May 23 2012 06:07:33 by doxygen 1.7.3