Changeset f57182 for src/grid/tempgrid.cpp
- Timestamp:
- Mar 30, 2013, 2:44:52 PM (13 years ago)
- Children:
- 8180d8
- Parents:
- d13e27
- git-author:
- Julian Iseringhausen <isering@…> (06/11/12 14:02:16)
- git-committer:
- Julian Iseringhausen <isering@…> (03/30/13 14:44:52)
- File:
-
- 1 edited
-
src/grid/tempgrid.cpp (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/grid/tempgrid.cpp
rd13e27 rf57182 71 71 global.LocalFinerEnd() = 0; 72 72 global.LocalFinerSize() = 0; 73 global.FinestAbsBegin() = 0;74 global.FinestAbsEnd() = size;75 global.FinestAbsSize() = size;76 73 global.GlobalSize() = size; 77 74 global.BoundaryType() = BTUndefined; … … 113 110 const Index off = GridIndexTranslations::EndOffset(boundary); 114 111 112 /* 113 * Set global grid attributes 114 */ 115 115 116 level = grid.Level() + 1; 117 118 global.BoundaryType() = grid_finer.Global().BoundaryType(); 116 119 117 120 global.GlobalFinerBegin() = 0; … … 123 126 global.LocalFinerSize() = 0; 124 127 125 global. FinestAbsBegin() = grid_finer.Global().FinestAbsBegin();126 global. FinestAbsEnd() = grid_finer.Global().FinestAbsEnd();127 global. FinestAbsSize() = grid_finer.Global().FinestAbsSize();128 global.LocalBegin() = 2 * (grid.Global().LocalFinerBegin() - grid.Global().GlobalFinerBegin()); 129 global.LocalEnd() = 2 * (grid.Global().LocalFinerEnd() - grid.Global().GlobalFinerBegin() - off) + off; 130 global.LocalSize() = global.LocalEnd() - global.LocalBegin(); 128 131 129 132 global.GlobalSize() = 2 * (grid.Global().GlobalFinerSize() - off) + off; 130 global.BoundaryType() = grid_finer.Global().BoundaryType(); 131 132 global.LocalBegin() = 2 * grid.Global().LocalBegin().Clamp(grid.Global().GlobalFinerBegin(), grid.Global().GlobalFinerEnd()); 133 global.LocalEnd() = 2 * grid.Global().LocalEnd().Clamp(grid.Global().GlobalFinerBegin(), grid.Global().GlobalFinerEnd()) - off; 133 134 for (int j=0; j<3; ++j) { 135 136 if (boundary[j] == Dirichlet || 137 boundary[j] == Open) { 138 139 if (grid.Global().BoundaryType() == LocallyRefined) { 140 141 global.GlobalSize()[j] += 2; 142 global.LocalBegin()[j] += 1; 143 global.LocalEnd()[j] +=1; 144 145 } else if (grid.Global().BoundaryType() == GlobalMax) { 146 147 global.GlobalSize()[j] += 2; 148 global.LocalBegin()[j] += 1; 149 global.LocalEnd()[j] +=1; 150 151 } 152 153 } else { 154 155 } 156 157 } 134 158 135 159 global.LocalSize() = global.LocalEnd() - global.LocalBegin(); … … 168 192 } 169 193 170 if (grid.Local().BoundarySize1()[i] > 0) { 194 if (grid.Local().BoundarySize1()[i] > 0 && global.BoundaryType() != LocallyRefined) { 195 local.Size()[i] -= grid.Local().BoundarySize1()[i]; 171 196 local.Begin()[i] += grid.Local().BoundarySize1()[i]; 172 197 local.BoundaryEnd1()[i] = grid.Local().BoundarySize1()[i]; … … 178 203 } 179 204 180 if (grid.Local().BoundarySize2()[i] > 0) { 205 if (grid.Local().BoundarySize2()[i] > 0 && global.BoundaryType() != LocallyRefined) { 206 local.Size()[i] -= grid.Local().BoundarySize2()[i]; 181 207 local.End()[i] -= grid.Local().BoundarySize2()[i]; 182 208 local.BoundaryBegin2()[i] = local.End()[i]; 183 local.BoundaryEnd2()[i] = local.End()[i] +grid.Local().BoundarySize2()[i];209 local.BoundaryEnd2()[i] = local.End()[i] + grid.Local().BoundarySize2()[i]; 184 210 } 185 211 … … 195 221 local.BoundarySize1() + local.BoundarySize2(); 196 222 197 extent.Size() = grid.Extent().Size(); 198 extent.Begin() = grid.Extent().Begin(); 199 extent.End() = grid.Extent().End(); 200 extent.MeshWidth() = 0.5 * grid.Extent().MeshWidth(); 223 extent = grid_finer.Extent(); 201 224 202 225 iterators.SetSubgrids(local); … … 218 241 global.GlobalFinerEnd() = grid_coarser.Global().GlobalFinerEnd(); 219 242 global.GlobalFinerSize() = grid_coarser.Global().GlobalFinerSize(); 220 221 global.FinestAbsBegin() = grid.Global().FinestAbsBegin();222 global.FinestAbsEnd() = grid.Global().FinestAbsEnd();223 global.FinestAbsSize() = grid.Global().FinestAbsSize();224 243 225 244 global.GlobalSize() = (grid.Global().GlobalSize() - off)/2 + off; … … 326 345 for (iter=Iterators().Local().Begin(); iter!=Iterators().Local().End(); ++iter) 327 346 (*this)(*iter) = rhs.GetVal(*iter) - prefactor * A.Apply(sol, *iter); 347 348 this->ClearBoundary(); 328 349 } 329 350
Note:
See TracChangeset
for help on using the changeset viewer.
