Changeset 8180d8 for src/samples


Ignore:
Timestamp:
Apr 5, 2013, 12:39:30 PM (13 years ago)
Author:
Julian Iseringhausen <julian.iseringhausen@…>
Children:
4a709e
Parents:
f57182
Message:

Merge stashed open boundary stuff.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/samples/discretization_poisson_fv.cpp

    rf57182 r8180d8  
    3333#endif
    3434
     35#include "grid/grid_index_translations.hpp"
    3536#include "samples/discretization_poisson_fv.hpp"
    3637
     
    9899void DiscretizationPoissonFV::SetInnerBoundaryCompute(Grid& sol_f, Grid& rhs_f, Grid& sol_c) const
    99100{
     101/*
     102  //FIXME
    100103  Index i_c, i_f;
    101104
    102   const Vector h2_inv = 0.5 / sol_f.Extent().MeshWidth();
    103 
     105  Index b1_c, b2_c, b1_f, b2_f;
     106  GridIndexTranslations::GetInnerBoundary(sol_c, b1_c, b2_c, sol_f, b1_f, b2_f);
     107*/
     108/*
    104109  const Index b1_c = sol_c.Local().FinerBegin();
    105110  const Index b2_c = sol_c.Local().FinerEnd() - 1;
    106111  const Index b1_f = 0;
    107112  const Index b2_f = rhs_f.Local().SizeTotal() - 1;
    108 
    109   const Index& begin_f = sol_f.Local().Begin();
    110   const Index& end_f = sol_f.Local().End();
    111   const Index& begin_c = sol_c.Local().FinerBegin();
    112 
     113*/
     114
     115/*
     116  const Index begin_f = sol_f.Local().Begin();
     117  const Index end_f = sol_f.Local().End();
     118  const Index begin_c = sol_c.Local().FinerBegin();
     119
     120  const Vector h2_inv = 0.5 / sol_f.Extent().MeshWidth();
    113121  const vmg_float c_1_3 = 1.0 / 3.0;
    114122  const Vector c_2_3_sp = 2.0 / 3.0 * sol_f.Extent().MeshWidth();
     
    145153
    146154      rhs_f(b1_f.X(),i_f.Y(),i_f.Z()) = 0.25 * (rhs_f(b1_f.X(),i_f.Y()-1,i_f.Z()-1) +
    147                                                 rhs_f(b1_f.X(),i_f.Y()+1,i_f.Z()-1) +
    148                                                 rhs_f(b1_f.X(),i_f.Y()-1,i_f.Z()+1) +
    149                                                 rhs_f(b1_f.X(),i_f.Y()+1,i_f.Z()+1));
     155          rhs_f(b1_f.X(),i_f.Y()+1,i_f.Z()-1) +
     156          rhs_f(b1_f.X(),i_f.Y()-1,i_f.Z()+1) +
     157          rhs_f(b1_f.X(),i_f.Y()+1,i_f.Z()+1));
    150158
    151159      rhs_f(b2_f.X(),i_f.Y(),i_f.Z()) = 0.25 * (rhs_f(b2_f.X(),i_f.Y()-1,i_f.Z()-1) +
    152                                                 rhs_f(b2_f.X(),i_f.Y()+1,i_f.Z()-1) +
    153                                                 rhs_f(b2_f.X(),i_f.Y()-1,i_f.Z()+1) +
    154                                                 rhs_f(b2_f.X(),i_f.Y()+1,i_f.Z()+1));
     160          rhs_f(b2_f.X(),i_f.Y()+1,i_f.Z()-1) +
     161          rhs_f(b2_f.X(),i_f.Y()-1,i_f.Z()+1) +
     162          rhs_f(b2_f.X(),i_f.Y()+1,i_f.Z()+1));
    155163    }
    156164
     
    159167
    160168      rhs_f(b1_f.X(),i_f.Y(),i_f.Z()) = sol_f(b1_f.X(),i_f.Y(),i_f.Z()) = c_2_3_sp.X() * rhs_f(b1_f.X(),i_f.Y(),i_f.Z()) +
    161         c_4_3 * sol_f(b1_f.X()+1,i_f.Y(),i_f.Z()) -
    162         c_1_3 * sol_f(b1_f.X()+2,i_f.Y(),i_f.Z());
     169          c_4_3 * sol_f(b1_f.X()+1,i_f.Y(),i_f.Z()) -
     170          c_1_3 * sol_f(b1_f.X()+2,i_f.Y(),i_f.Z());
    163171
    164172      rhs_f(b2_f.X(),i_f.Y(),i_f.Z()) = sol_f(b2_f.X(),i_f.Y(),i_f.Z()) = c_2_3_sp.X() * rhs_f(b2_f.X(),i_f.Y(),i_f.Z()) +
    165         c_4_3 * sol_f(b2_f.X()-1,i_f.Y(),i_f.Z()) -
    166         c_1_3 * sol_f(b2_f.X()-2,i_f.Y(),i_f.Z());
     173          c_4_3 * sol_f(b2_f.X()-1,i_f.Y(),i_f.Z()) -
     174          c_1_3 * sol_f(b2_f.X()-2,i_f.Y(),i_f.Z());
    167175    }
    168176
     
    194202
    195203      rhs_f(i_f.X(),b1_f.Y(),i_f.Z()) = 0.25 * (rhs_f(i_f.X()-1,b1_f.Y(),i_f.Z()-1) +
    196                                                 rhs_f(i_f.X()+1,b1_f.Y(),i_f.Z()-1) +
    197                                                 rhs_f(i_f.X()-1,b1_f.Y(),i_f.Z()+1) +
    198                                                 rhs_f(i_f.X()+1,b1_f.Y(),i_f.Z()+1));
     204          rhs_f(i_f.X()+1,b1_f.Y(),i_f.Z()-1) +
     205          rhs_f(i_f.X()-1,b1_f.Y(),i_f.Z()+1) +
     206          rhs_f(i_f.X()+1,b1_f.Y(),i_f.Z()+1));
    199207
    200208      rhs_f(i_f.X(),b2_f.Y(),i_f.Z()) = 0.25 * (rhs_f(i_f.X()-1,b2_f.Y(),i_f.Z()-1) +
    201                                                 rhs_f(i_f.X()+1,b2_f.Y(),i_f.Z()-1) +
    202                                                 rhs_f(i_f.X()-1,b2_f.Y(),i_f.Z()+1) +
    203                                                 rhs_f(i_f.X()+1,b2_f.Y(),i_f.Z()+1));
     209          rhs_f(i_f.X()+1,b2_f.Y(),i_f.Z()-1) +
     210          rhs_f(i_f.X()-1,b2_f.Y(),i_f.Z()+1) +
     211          rhs_f(i_f.X()+1,b2_f.Y(),i_f.Z()+1));
    204212    }
    205213
     
    208216
    209217      rhs_f(i_f.X(),b1_f.Y(),i_f.Z()) = sol_f(i_f.X(),b1_f.Y(),i_f.Z()) = c_2_3_sp.Y() * rhs_f(i_f.X(),b1_f.Y(),i_f.Z()) +
    210         c_4_3 * sol_f(i_f.X(),b1_f.Y()+1,i_f.Z()) -
    211         c_1_3 * sol_f(i_f.X(),b1_f.Y()+2,i_f.Z());
     218          c_4_3 * sol_f(i_f.X(),b1_f.Y()+1,i_f.Z()) -
     219          c_1_3 * sol_f(i_f.X(),b1_f.Y()+2,i_f.Z());
    212220
    213221      rhs_f(i_f.X(),b2_f.Y(),i_f.Z()) = sol_f(i_f.X(),b2_f.Y(),i_f.Z()) = c_2_3_sp.Y() * rhs_f(i_f.X(),b2_f.Y(),i_f.Z()) +
    214         c_4_3 * sol_f(i_f.X(),b2_f.Y()-1,i_f.Z()) -
    215         c_1_3 * sol_f(i_f.X(),b2_f.Y()-2,i_f.Z());
     222          c_4_3 * sol_f(i_f.X(),b2_f.Y()-1,i_f.Z()) -
     223          c_1_3 * sol_f(i_f.X(),b2_f.Y()-2,i_f.Z());
    216224    }
    217225
     
    242250    for (i_f.Y()=begin_f.Y()+1; i_f.Y()<end_f.Y(); i_f.Y()+=2) {
    243251      rhs_f(i_f.X(),i_f.Y(),b1_f.Z()) = 0.25 * (rhs_f(i_f.X()-1,i_f.Y()-1,b1_f.Z()) +
    244                                                 rhs_f(i_f.X()+1,i_f.Y()-1,b1_f.Z()) +
    245                                                 rhs_f(i_f.X()-1,i_f.Y()+1,b1_f.Z()) +
    246                                                 rhs_f(i_f.X()+1,i_f.Y()+1,b1_f.Z()));
     252          rhs_f(i_f.X()+1,i_f.Y()-1,b1_f.Z()) +
     253          rhs_f(i_f.X()-1,i_f.Y()+1,b1_f.Z()) +
     254          rhs_f(i_f.X()+1,i_f.Y()+1,b1_f.Z()));
    247255
    248256      rhs_f(i_f.X(),i_f.Y(),b2_f.Z()) = 0.25 * (rhs_f(i_f.X()-1,i_f.Y()-1,b2_f.Z()) +
    249                                                 rhs_f(i_f.X()+1,i_f.Y()-1,b2_f.Z()) +
    250                                                 rhs_f(i_f.X()-1,i_f.Y()+1,b2_f.Z()) +
    251                                                 rhs_f(i_f.X()+1,i_f.Y()+1,b2_f.Z()));
     257          rhs_f(i_f.X()+1,i_f.Y()-1,b2_f.Z()) +
     258          rhs_f(i_f.X()-1,i_f.Y()+1,b2_f.Z()) +
     259          rhs_f(i_f.X()+1,i_f.Y()+1,b2_f.Z()));
    252260    }
    253261
     
    256264
    257265      rhs_f(i_f.X(),i_f.Y(),b1_f.Z()) = sol_f(i_f.X(),i_f.Y(),b1_f.Z()) = c_2_3_sp.Z() * rhs_f(i_f.X(),i_f.Y(),b1_f.Z()) +
    258         c_4_3 * sol_f(i_f.X(),i_f.Y(),b1_f.Z()+1) -
    259         c_1_3 * sol_f(i_f.X(),i_f.Y(),b1_f.Z()+2);
     266          c_4_3 * sol_f(i_f.X(),i_f.Y(),b1_f.Z()+1) -
     267          c_1_3 * sol_f(i_f.X(),i_f.Y(),b1_f.Z()+2);
    260268
    261269      rhs_f(i_f.X(),i_f.Y(),b2_f.Z()) = sol_f(i_f.X(),i_f.Y(),b2_f.Z()) = c_2_3_sp.Z() * rhs_f(i_f.X(),i_f.Y(),b2_f.Z()) +
    262         c_4_3 * sol_f(i_f.X(),i_f.Y(),b2_f.Z()-1) -
    263         c_1_3 * sol_f(i_f.X(),i_f.Y(),b2_f.Z()-2);
    264     }
    265 
     270          c_4_3 * sol_f(i_f.X(),i_f.Y(),b2_f.Z()-1) -
     271          c_1_3 * sol_f(i_f.X(),i_f.Y(),b2_f.Z()-2);
     272    }
     273*/
    266274#ifdef DEBUG_MATRIX_CHECKS
    267275  rhs_f.IsConsistent();
Note: See TracChangeset for help on using the changeset viewer.