Changeset ac6d04 for src/grid/multigrid.cpp
- Timestamp:
- Apr 10, 2012, 1:55:49 PM (14 years ago)
- Children:
- a40eea
- Parents:
- d24c2f
- File:
-
- 1 edited
-
src/grid/multigrid.cpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/grid/multigrid.cpp
rd24c2f rac6d04 45 45 46 46 47 if (global_separated[i]. SizeLocal().Product() > 0) {47 if (global_separated[i].LocalSize().Product() > 0) { 48 48 49 49 /* 50 50 * Initialize some properties with zero 51 51 */ 52 local_l.HaloBegin1() = local_l.HaloEnd1() = 0; 53 local_l.HaloBegin2() = local_l.HaloEnd2() = 0; 54 local_l.BoundaryBegin1() = local_l.BoundaryEnd1() = 0; 55 local_l.BoundaryBegin2() = local_l.BoundaryEnd2() = 0; 52 local_l.HaloBegin1() = 0; 53 local_l.HaloEnd1() = 0; 54 local_l.HaloBegin2() = 0; 55 local_l.HaloEnd2() = 0; 56 local_l.BoundaryBegin1() = 0; 57 local_l.BoundaryEnd1() = 0; 58 local_l.BoundaryBegin2() = 0; 59 local_l.BoundaryEnd2() = 0; 56 60 57 61 /* … … 63 67 comm->BoundaryConditions()[j] == Open) { 64 68 65 local_l.SizeTotal()[j] = global_separated[i]. SizeLocal()[j] +69 local_l.SizeTotal()[j] = global_separated[i].LocalSize()[j] + 66 70 (global_separated[i].BoundaryType() == LocallyRefined ? 2 : 0); 67 71 … … 70 74 * and halo grid points otherwise 71 75 */ 72 if (global_separated[i]. BeginLocal()[j] == 0) {76 if (global_separated[i].LocalBegin()[j] == 0) { 73 77 local_l.BoundaryBegin1()[j] = 0; 74 78 local_l.BoundaryEnd1()[j] = 1; … … 79 83 } 80 84 81 if (global_separated[i]. EndLocal()[j] == global_separated[i].SizeGlobal()[j]) {85 if (global_separated[i].LocalEnd()[j] == global_separated[i].GlobalSize()[j]) { 82 86 local_l.BoundaryBegin2()[j] = local_l.SizeTotal()[j] - 1; 83 87 local_l.BoundaryEnd2()[j] = local_l.SizeTotal()[j]; … … 90 94 }else if (comm->BoundaryConditions()[j] == Periodic) { 91 95 92 local_l.SizeTotal()[j] = global_separated[i]. SizeLocal()[j] + 2;96 local_l.SizeTotal()[j] = global_separated[i].LocalSize()[j] + 2; 93 97 94 98 /* … … 114 118 115 119 local_l.Size() = local_l.End() - local_l.Begin(); 116 117 if (i==0) 118 local_l.AlignmentBegin() = (global_separated[i].SizeGlobal() - static_cast<int>( pow(2.0, interface->MaxLevel() ) + 0.5 ) - 1) / 2; 119 else if (global_separated[i].BoundaryType() == LocallyRefined) 120 local_l.AlignmentBegin() = (extent[i].Size() - extent[i-1].Size()) * pow(2.0, interface->MaxLevel()-i-1) + 0.5; 121 else if (global_separated[i].BoundaryType() == GlobalMax) 122 local_l.AlignmentBegin() = (extent[i].Size() - extent[i-1].Size()) * pow(2.0, interface->MaxLevel()-i-1) - 0.5; 123 else 124 local_l.AlignmentBegin() = 0; 125 126 local_l.AlignmentBegin() += local_l.Begin(); 127 local_l.AlignmentEnd() = local_l.AlignmentBegin() + global_separated[i].SizeLocal(); 128 129 local_l.AlignmentBegin().Clamp(local_l.Begin(), local_l.End()); 130 local_l.AlignmentEnd().Clamp(local_l.Begin(), local_l.End()); 131 132 133 grids.push_back(new Grid(global_separated[i], local_l, extent[i], interface->MaxLevel()-i, this)); 120 local_l.HaloSize1() = local_l.HaloEnd1() - local_l.HaloBegin1(); 121 local_l.HaloSize2() = local_l.HaloEnd2() - local_l.HaloBegin2(); 122 local_l.BoundarySize1() = local_l.BoundaryEnd1() - local_l.BoundaryBegin1(); 123 local_l.BoundarySize2() = local_l.BoundaryEnd2() - local_l.BoundaryBegin2(); 124 125 local_l.FinerSizeFoo() = global_separated[i].LocalFinerSize() - local_l.BoundarySize1() - local_l.BoundarySize2(); 126 local_l.FinerBeginFoo() = global_separated[i].LocalFinerBegin() - global_separated[i].LocalBegin() + local_l.Begin(); 127 local_l.FinerEndFoo() = local_l.FinerBeginFoo() + local_l.FinerSizeFoo(); 128 134 129 135 130 }else { 136 131 137 global_separated[i].SizeGlobal() = global[i].SizeGlobal(); 138 global_separated[i].BeginFinest() = global[i].BeginFinest(); 139 global_separated[i].EndFinest() = global[i].EndFinest(); 140 global_separated[i].SizeFinest() = global[i].SizeFinest(); 141 global_separated[i].SizeLocal() = 0; 142 global_separated[i].BeginLocal() = 0; 143 global_separated[i].EndLocal() = 0; 144 global_separated[i].BoundaryType() = global[i].BoundaryType(); 145 132 local_l.Begin() = 0; 133 local_l.End() = 0; 146 134 local_l.Size() = 0; 147 135 local_l.SizeTotal() = 0; 148 local_l.Begin() = 0;149 local_l.End() = 0;150 136 local_l.HaloBegin1() = 0; 137 local_l.HaloEnd1() = 0; 138 local_l.HaloSize1() = 0; 151 139 local_l.HaloBegin2() = 0; 152 local_l.HaloEnd1() = 0;153 140 local_l.HaloEnd2() = 0; 141 local_l.HaloSize2() = 0; 154 142 local_l.BoundaryBegin1() = 0; 143 local_l.BoundaryEnd1() = 0; 144 local_l.BoundarySize1() = 0; 155 145 local_l.BoundaryBegin2() = 0; 156 local_l.BoundaryEnd1() = 0;157 146 local_l.BoundaryEnd2() = 0; 158 local_l. AlignmentBegin() = 0;159 local_l. AlignmentEnd() = 0;160 161 grids.push_back(new Grid(global_separated[i], local_l, extent[i], interface->MaxLevel()-i, this));147 local_l.BoundarySize2() = 0; 148 local_l.FinerBeginFoo() = 0; 149 local_l.FinerEndFoo() = 0; 150 local_l.FinerSizeFoo() = 0; 162 151 163 152 } 153 154 grids.push_back(new Grid(global_separated[i], local_l, extent[i], interface->MaxLevel()-i, this)); 155 164 156 } 165 157
Note:
See TracChangeset
for help on using the changeset viewer.
