Ignore:
Timestamp:
07/05/16 15:59:02 (8 years ago)
Author:
mhnguyen
Message:

Adding a new type of element into grid: Scalar

+) Add a new node Scalar for xml
+) Make some change on writing scalar value
+) Reorganize some codes
+) Remove some redundant codes

Test
+) On Curie
+) All tests pass

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/server_distribution_description.cpp

    r865 r887  
    169169  \param [in] clientRank rank of client 
    170170  \param [in] clientSize number of client 
    171   \param [in] axisDomainOrder the order of element in grid (true for domain, false for axis) 
     171  \param [in] axisDomainOrder the order of element in grid (2 for domain, 1 for axis, 0 for scalar) 
    172172  \param [in] positionDimensionDistributed dimension of server on which we make the cut. 
    173173*/ 
     
    175175                                                                  int clientRank, 
    176176                                                                  int clientSize, 
    177                                                                   const CArray<bool,1>& axisDomainOrder, 
     177                                                                  const CArray<int,1>& axisDomainOrder, 
    178178                                                                  int positionDimensionDistributed) 
    179179{ 
     
    193193  { 
    194194    idxMap[i] = idx; 
    195     if (true == axisDomainOrder(i)) idx += 2; 
     195    if (2 == axisDomainOrder(i)) idx += 2; 
    196196    else ++idx; 
    197197  } 
     
    203203    { 
    204204      int elementSize = 1; 
    205       if (axisDomainOrder(i)) 
     205      if (2 == axisDomainOrder(i)) 
    206206      { 
    207207        elementSize *= dimensionSizes_[idxServer][idxMap[i]] * dimensionSizes_[idxServer][idxMap[i]+1]; 
     
    212212      } 
    213213 
    214       else 
     214      else if (1 == axisDomainOrder(i)) 
    215215      { 
    216216        elementSize *= dimensionSizes_[idxServer][idxMap[i]]; 
     
    218218        elementDimension[1] = 0; 
    219219        elementDimension[2] = dimensionSizes_[idxServer][idxMap[i]]; 
     220        elementDimension[3] = 1; 
     221      } 
     222      else 
     223      { 
     224        elementSize *= dimensionSizes_[idxServer][idxMap[i]]; 
     225        elementDimension[0] = 0; 
     226        elementDimension[1] = 0; 
     227        elementDimension[2] = 1; 
    220228        elementDimension[3] = 1; 
    221229      } 
Note: See TracChangeset for help on using the changeset viewer.