unsigned long GrainTracker::calculateUsage() const { unsigned long bytes = FeatureFloodCount::calculateUsage(); for (unsigned int map_num = 0; map_num < _maps_size; ++map_num) { bytes += bytesHelper(_bounding_spheres[map_num]); } // not counted: _nodal_data bytes += bytesHelper(_unique_grains); return bytes; }
unsigned long FeatureFloodCount::bytesHelper(std::list<BubbleData> container) { unsigned long bytes = 0; for (std::list<BubbleData>::iterator it = container.begin(); it != container.end(); ++it) bytes += bytesHelper(it->_entity_ids) + sizeof(it->_var_idx); return bytes; }
unsigned long FeatureFloodCount::calculateUsage() const { unsigned long bytes = 0; for (unsigned int map_num = 0; map_num < _maps_size; ++map_num) { bytes += bytesHelper(_entities_visited[map_num]); bytes += bytesHelper(_bubble_maps[map_num]); if (_var_index_mode) bytes += bytesHelper(_var_index_maps[map_num]); bytes += bytesHelper(_bubble_sets[map_num]); } bytes += sizeof(unsigned int) * _region_counts.size(); bytes += sizeof(unsigned int) * _packed_data.size(); bytes += sizeof(unsigned int) * _region_to_var_idx.size(); bytes += sizeof(unsigned int) * _region_offsets.size(); bytes += bytesHelper(_periodic_node_map); bytes += bytesHelper(_file_handles); bytes += sizeof(Real) * _all_bubble_volumes.size(); // Not counted: _nodes_to_elem_map return bytes; }