⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parallel_mesh_iterators.c

📁 一个用来实现偏微分方程中网格的计算库
💻 C
📖 第 1 页 / 共 2 页
字号:
// $Id: parallel_mesh_iterators.C 2783 2008-04-12 21:58:11Z roystgnr $// The libParallelMesh Finite Element Library.// Copyright (C) 2002-2007  Benjamin S. Kirk, John W. Peterson  // This library is free software; you can redistribute it and/or// modify it under the terms of the GNU Lesser General Public// License as published by the Free Software Foundation; either// version 2.1 of the License, or (at your option) any later version.  // This library is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU// Lesser General Public License for more details.  // You should have received a copy of the GNU Lesser General Public// License along with this library; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA// C++ includes// Local includes// #include "mesh_base.h"#include "parallel_mesh.h"#include "elem.h"// This file contains the implementation of all the different iterator// functions for the mesh class.  They were put here to save space in the// header files.// default begin() accessorParallelMesh::element_iteratorParallelMesh::elements_begin (){  Predicates::NotNull<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// active elements begin() accessorParallelMesh::element_iteratorParallelMesh::active_elements_begin (){  Predicates::Active<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// not active elements begin() accessorParallelMesh::element_iteratorParallelMesh::not_active_elements_begin (){  Predicates::NotActive<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// ancestor elements begin() accessorParallelMesh::element_iteratorParallelMesh::ancestor_elements_begin (){  Predicates::Ancestor<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// not ancestor elements begin() accessorParallelMesh::element_iteratorParallelMesh::not_ancestor_elements_begin (){  Predicates::Ancestor<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// subactive elements begin() accessorParallelMesh::element_iteratorParallelMesh::subactive_elements_begin (){  Predicates::SubActive<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// not subactive elements begin() accessorParallelMesh::element_iteratorParallelMesh::not_subactive_elements_begin (){  Predicates::NotSubActive<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// local elements begin() accessorParallelMesh::element_iteratorParallelMesh::local_elements_begin (){  Predicates::Local<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// not_local elements begin() accessorParallelMesh::element_iteratorParallelMesh::not_local_elements_begin (){  Predicates::NotLocal<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// active local elements begin() accessorParallelMesh::element_iteratorParallelMesh::active_local_elements_begin (){  Predicates::ActiveLocal<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// active_not_local elements begin() accessorParallelMesh::element_iteratorParallelMesh::active_not_local_elements_begin (){  Predicates::ActiveNotLocal<elem_iterator_imp> p;  return element_iterator(_elements.begin(), _elements.end(), p);}// level elements begin() accessorParallelMesh::element_iteratorParallelMesh::level_elements_begin (const unsigned int level){  Predicates::Level<elem_iterator_imp> p(level);  return element_iterator(_elements.begin(), _elements.end(), p);}// not level elements begin() accessorParallelMesh::element_iteratorParallelMesh::not_level_elements_begin (const unsigned int level){  Predicates::NotLevel<elem_iterator_imp> p(level);  return element_iterator(_elements.begin(), _elements.end(), p);}// local level elements begin() accessorParallelMesh::element_iteratorParallelMesh::local_level_elements_begin (const unsigned int level){  Predicates::LocalLevel<elem_iterator_imp> p(level);  return element_iterator(_elements.begin(), _elements.end(), p);}// local not level elements begin() accessorParallelMesh::element_iteratorParallelMesh::local_not_level_elements_begin (const unsigned int level){  Predicates::LocalNotLevel<elem_iterator_imp> p(level);  return element_iterator(_elements.begin(), _elements.end(), p);}// pid elements begin() accessorParallelMesh::element_iteratorParallelMesh::pid_elements_begin (const unsigned int proc_id){  Predicates::PID<elem_iterator_imp> p(proc_id);  return element_iterator(_elements.begin(), _elements.end(), p);}// type elements begin() accessorParallelMesh::element_iteratorParallelMesh::type_elements_begin (const ElemType type){  Predicates::Type<elem_iterator_imp> p(type);  return element_iterator(_elements.begin(), _elements.end(), p);}// active type elements begin() accessorParallelMesh::element_iteratorParallelMesh::active_type_elements_begin (const ElemType type){  Predicates::ActiveType<elem_iterator_imp> p(type);  return element_iterator(_elements.begin(), _elements.end(), p);}// active pid elements begin() accessorParallelMesh::element_iteratorParallelMesh::active_pid_elements_begin (const unsigned int proc_id){  Predicates::ActivePID<elem_iterator_imp> p(proc_id);  return element_iterator(_elements.begin(), _elements.end(), p);}// unpartitioned elements begin() accessorParallelMesh::element_iteratorParallelMesh::unpartitioned_elements_begin (){  return this->pid_elements_begin(DofObject::invalid_processor_id);}// default const begin() accessorParallelMesh::const_element_iteratorParallelMesh::elements_begin () const{  Predicates::NotNull<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const active begin() accessorParallelMesh::const_element_iteratorParallelMesh::active_elements_begin () const{  Predicates::Active<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const not active begin() accessorParallelMesh::const_element_iteratorParallelMesh::not_active_elements_begin () const{  Predicates::NotActive<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const ancestor begin() accessorParallelMesh::const_element_iteratorParallelMesh::ancestor_elements_begin () const{  Predicates::Ancestor<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const not ancestor begin() accessorParallelMesh::const_element_iteratorParallelMesh::not_ancestor_elements_begin () const{  Predicates::Ancestor<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const subactive begin() accessorParallelMesh::const_element_iteratorParallelMesh::subactive_elements_begin () const{  Predicates::SubActive<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const not subactive begin() accessorParallelMesh::const_element_iteratorParallelMesh::not_subactive_elements_begin () const{  Predicates::NotSubActive<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const local begin() accessorParallelMesh::const_element_iteratorParallelMesh::local_elements_begin () const{  Predicates::Local<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const not_local begin() accessorParallelMesh::const_element_iteratorParallelMesh::not_local_elements_begin () const{  Predicates::NotLocal<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const active local begin() accessorParallelMesh::const_element_iteratorParallelMesh::active_local_elements_begin () const{  Predicates::ActiveLocal<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const active not_local begin() accessorParallelMesh::const_element_iteratorParallelMesh::active_not_local_elements_begin () const{  Predicates::ActiveNotLocal<const_elem_iterator_imp> p;  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const level begin() accessorParallelMesh::const_element_iteratorParallelMesh::level_elements_begin (const unsigned int level) const{  Predicates::Level<const_elem_iterator_imp> p(level);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const not level begin() accessorParallelMesh::const_element_iteratorParallelMesh::not_level_elements_begin (const unsigned int level) const{  Predicates::NotLevel<const_elem_iterator_imp> p(level);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const local level begin() accessorParallelMesh::const_element_iteratorParallelMesh::local_level_elements_begin (const unsigned int level) const{  Predicates::LocalLevel<const_elem_iterator_imp> p(level);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const local not level begin() accessorParallelMesh::const_element_iteratorParallelMesh::local_not_level_elements_begin (const unsigned int level) const{  Predicates::LocalNotLevel<const_elem_iterator_imp> p(level);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const pid begin() accessorParallelMesh::const_element_iteratorParallelMesh::pid_elements_begin (const unsigned int proc_id) const{  Predicates::PID<const_elem_iterator_imp> p(proc_id);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const type begin() accessorParallelMesh::const_element_iteratorParallelMesh::type_elements_begin (const ElemType type) const{  Predicates::Type<const_elem_iterator_imp> p(type);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const active type begin() accessorParallelMesh::const_element_iteratorParallelMesh::active_type_elements_begin (const ElemType type) const{  Predicates::ActiveType<const_elem_iterator_imp> p(type);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// const active pid elements begin() accessorParallelMesh::const_element_iteratorParallelMesh::active_pid_elements_begin (const unsigned int proc_id) const{  Predicates::ActivePID<const_elem_iterator_imp> p(proc_id);  return const_element_iterator(_elements.begin(), _elements.end(), p);}// unpartitioned elements begin() accessorParallelMesh::const_element_iteratorParallelMesh::unpartitioned_elements_begin () const{  return this->pid_elements_begin(DofObject::invalid_processor_id);}// default end() accessorParallelMesh::element_iteratorParallelMesh::elements_end (){  Predicates::NotNull<elem_iterator_imp> p;  return element_iterator(_elements.end(), _elements.end(), p);}// active end() accessorParallelMesh::element_iteratorParallelMesh::active_elements_end (){  Predicates::Active<elem_iterator_imp> p;  return element_iterator(_elements.end(), _elements.end(), p);}// active end() accessorParallelMesh::element_iteratorParallelMesh::not_active_elements_end (){  Predicates::NotActive<elem_iterator_imp> p;  return element_iterator(_elements.end(), _elements.end(), p);}// ancestor end() accessorParallelMesh::element_iteratorParallelMesh::ancestor_elements_end (){  Predicates::Ancestor<elem_iterator_imp> p;  return element_iterator(_elements.end(), _elements.end(), p);}// ancestor end() accessorParallelMesh::element_iteratorParallelMesh::not_ancestor_elements_end (){  Predicates::Ancestor<elem_iterator_imp> p;  return element_iterator(_elements.end(), _elements.end(), p);}// subactive end() accessorParallelMesh::element_iteratorParallelMesh::subactive_elements_end (){  Predicates::SubActive<elem_iterator_imp> p;  return element_iterator(_elements.end(), _elements.end(), p);}// subactive end() accessorParallelMesh::element_iteratorParallelMesh::not_subactive_elements_end (){

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -