From: heister Date: Mon, 21 Jun 2010 20:37:20 +0000 (+0000) Subject: fix DofHandler::memory_consumption(). X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6811b06f3fb7acc7cbf8fb891004a1af5c24b682;p=dealii-svn.git fix DofHandler::memory_consumption(). git-svn-id: https://svn.dealii.org/trunk@21261 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/include/dofs/block_info.h b/deal.II/deal.II/include/dofs/block_info.h index 9b2f3cbb60..b9054d4dd0 100644 --- a/deal.II/deal.II/include/dofs/block_info.h +++ b/deal.II/deal.II/include/dofs/block_info.h @@ -171,6 +171,13 @@ class BlockInfo : public Subscriptor */ unsigned int base_element(unsigned int i) const; + /** + * Determine an estimate for the + * memory consumption (in bytes) + * of this object. + */ + unsigned int memory_consumption () const; + private: /** * @brief The block structure diff --git a/deal.II/deal.II/source/dofs/block_info.cc b/deal.II/deal.II/source/dofs/block_info.cc index e3b2991c6f..2c17677374 100644 --- a/deal.II/deal.II/source/dofs/block_info.cc +++ b/deal.II/deal.II/source/dofs/block_info.cc @@ -12,6 +12,7 @@ //--------------------------------------------------------------------------- +#include #include #include #include @@ -72,6 +73,20 @@ BlockInfo::initialize(const MGDoFHandler& dof, bool levels_only) } +unsigned int +BlockInfo::memory_consumption () const +{ + unsigned int mem = (MemoryConsumption::memory_consumption (bi_global) + + MemoryConsumption::memory_consumption (levels) + + MemoryConsumption::memory_consumption (bi_local) + + MemoryConsumption::memory_consumption (base_elements) + ); + + return mem; +} + + + template void BlockInfo::initialize(const DoFHandler&); template void BlockInfo::initialize(const MGDoFHandler&, bool); template void BlockInfo::initialize_local(const DoFHandler&); diff --git a/deal.II/deal.II/source/dofs/dof_handler.cc b/deal.II/deal.II/source/dofs/dof_handler.cc index e776316bbd..9c2758fd9b 100644 --- a/deal.II/deal.II/source/dofs/dof_handler.cc +++ b/deal.II/deal.II/source/dofs/dof_handler.cc @@ -1935,14 +1935,14 @@ DoFHandler::memory_consumption () const { unsigned int mem = (MemoryConsumption::memory_consumption (tria) + MemoryConsumption::memory_consumption (selected_fe) + - MemoryConsumption::memory_consumption (tria) + + MemoryConsumption::memory_consumption (block_info_object) + MemoryConsumption::memory_consumption (levels) + MemoryConsumption::memory_consumption (*faces) + + MemoryConsumption::memory_consumption (faces) + MemoryConsumption::memory_consumption (used_dofs) + MemoryConsumption::memory_consumption (vertex_dofs)); for (unsigned int i=0; i