Changeset 1918 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
- Timestamp:
- 07/16/20 17:18:01 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
r1881 r1918 372 372 CATCH 373 373 374 375 CArray<bool,1>& CGrid::getMask(void) 376 { 377 378 if (mask_.isEmpty()) 379 { 380 if (!mask_0d.isEmpty()) mask_.reference(CArray<bool,1>(mask_0d.dataFirst(),shape(mask_0d.numElements()), neverDeleteData)) ; 381 if (!mask_1d.isEmpty()) mask_.reference(CArray<bool,1>(mask_1d.dataFirst(),shape(mask_1d.numElements()), neverDeleteData)) ; 382 if (!mask_2d.isEmpty()) mask_.reference(CArray<bool,1>(mask_2d.dataFirst(),shape(mask_2d.numElements()), neverDeleteData)) ; 383 if (!mask_3d.isEmpty()) mask_.reference(CArray<bool,1>(mask_3d.dataFirst(),shape(mask_3d.numElements()), neverDeleteData)) ; 384 if (!mask_4d.isEmpty()) mask_.reference(CArray<bool,1>(mask_4d.dataFirst(),shape(mask_4d.numElements()), neverDeleteData)) ; 385 if (!mask_5d.isEmpty()) mask_.reference(CArray<bool,1>(mask_5d.dataFirst(),shape(mask_5d.numElements()), neverDeleteData)) ; 386 if (!mask_6d.isEmpty()) mask_.reference(CArray<bool,1>(mask_6d.dataFirst(),shape(mask_6d.numElements()), neverDeleteData)) ; 387 if (!mask_7d.isEmpty()) mask_.reference(CArray<bool,1>(mask_7d.dataFirst(),shape(mask_7d.numElements()), neverDeleteData)) ; 388 } 389 return mask_ ; 390 } 374 391 /* 375 392 Create mask of grid from mask of its components … … 3044 3061 CATCH_DUMP_ATTR 3045 3062 3063 3064 void CGrid::computeGridLocalElements() 3065 { 3066 std::vector<CDomain*> domainList = this->getDomains(); 3067 std::vector<CAxis*> axisList = this->getAxis(); 3068 auto domain=domainList.begin() ; 3069 auto axis=axisList.begin() ; 3070 vector<CLocalElement*> elements; 3071 for(auto order : order_) 3072 { 3073 if (order==2) 3074 { 3075 elements.push_back((*domain)->getLocalElement()); 3076 domain++ ; 3077 } 3078 else if (order==1) 3079 { 3080 elements.push_back((*axis)->getLocalElement()); 3081 axis++ ; 3082 } 3083 else if (order==0) 3084 { 3085 } 3086 } 3087 if (hasMask()) 3088 { 3089 vector<bool> mask(getMask().getVector()) ; 3090 gridLocalElements_ = new CGridLocalElements(elements, mask) ; 3091 } 3092 else gridLocalElements_ = new CGridLocalElements(elements) ; 3093 } 3094 3095 void CGrid::computeModelToWorkflowConnector(void) 3096 { 3097 modelToWorkflowConnector_ = getGridLocalElements()->getConnector(CElementView::MODEL,CElementView::WORKFLOW) ; 3098 } 3046 3099 } // namespace xios
Note: See TracChangeset
for help on using the changeset viewer.