Class | SiteRestriction |
In: |
QuarkDwOvlpClass/PREVS/FieldClasses.rb
QuarkDwOvlpClass/FieldClasses.rb QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb QuarkDwOvlpClass_v0.1/FieldClasses.rb |
Parent: | Object |
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 445 445: def initialize(mode,ordering="normal") 446: @mode = mode.downcase 447: @ordering = ordering.downcase 448: @if_depth = 0 449: end
# File QuarkDwOvlpClass/FieldClasses.rb, line 445 445: def initialize(mode,ordering="normal") 446: @mode = mode.downcase 447: @ordering = ordering.downcase 448: @if_depth = 0 449: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 445 445: def initialize(mode,ordering="normal") 446: @mode = mode.downcase 447: @ordering = ordering.downcase 448: @if_depth = 0 449: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 445 445: def initialize(mode,ordering="normal") 446: @mode = mode.downcase 447: @ordering = ordering.downcase 448: @if_depth = 0 449: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 465 465: def diff_site_index_blk(i,j) 466: strb = ["","ibx","iby","ibz"] 467: strg = ["","igx","igy","igz"] 468: str = ["","","","","it","iw"] 469: 470: strbup = ["","ibxup","ibyup","ibzup"] 471: strgup = ["","igxup","igyup","igzup"] 472: strup = ["","","","","itup","iwup"] 473: 474: strbdn = ["","ibxdn","ibydn","ibzdn"] 475: strgdn = ["","igxdn","igydn","igzdn"] 476: strdn = ["","","","","itdn","iwdn"] 477: 478: strbN = ["","NT*NS*NGX*NGY*NGZ*NBY*NBZ","NT*NS*NGX*NGY*NGZ*NBZ","NT*NS*NGX*NGY*NGZ"] 479: strgN = ["","NT*NS*NGY*NGZ","NT*NS*NGZ","NT*NS"] 480: strN = ["", "", "", "","NS","1"] 481: 482: str3 = "" 483: if (3 < i) 484: str3 = str3 + strN[i] + "*(" + strup[i] + "-" + str[i] + ")" 485: elsif (0 < i && i < 4) 486: str3 = str3 + strgN[i] + "*(" + strgup[i] + "-" + strg[i] + ") + " + 487: strbN[i] + "*(" + strbup[i] + "-" + strb[i] + ")" 488: 489: elsif (-4 < i && i < 0) 490: str3 = str3 + strgN[-i] + "*(" + strgdn[-i] + "-" + strg[-i] + ") + " + 491: strbN[-i] + "*(" + strbdn[-i] + "-" + strb[-i] + ")" 492: elsif (i < -3) 493: str3 = str3 + strN[-i] + "*(" + strdn[-i] + "-" + str[-i] + ")" 494: end 495: 496: str3 = str3 + " &\n & " 497: 498: if (3 < j) 499: str3 = str3 + " + " + strN[j] + "*(" + strup[j] + "-" + str[j] + ")" 500: elsif (0 < j && j < 4) 501: str3 = str3 + " + " + strgN[j] + "*(" + strgup[j] + "-" + strg[j] + ") + " + 502: strbN[j] + "*(" + strbup[j] + "-" + strb[j] + ")" 503: elsif (-4 < j && j < 0) 504: str3 = str3 + " + " + strgN[-j] + "*(" + strgdn[-j] + "-" + strg[-j] + ") + " + 505: strbN[-j] + "*(" + strbdn[-j] + "-" + strb[-j] + ")" 506: elsif (j < -3) 507: str3 = str3 + " + " + strN[-j] + "*(" + strdn[-j] + "-" + str[-j] + ")" 508: end 509: return "(" + str3 + ")" 510: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 465 465: def diff_site_index_blk(i,j) 466: strb = ["","ibx","iby","ibz"] 467: strg = ["","igx","igy","igz"] 468: str = ["","","","","it","iw"] 469: 470: strbup = ["","ibxup","ibyup","ibzup"] 471: strgup = ["","igxup","igyup","igzup"] 472: strup = ["","","","","itup","iwup"] 473: 474: strbdn = ["","ibxdn","ibydn","ibzdn"] 475: strgdn = ["","igxdn","igydn","igzdn"] 476: strdn = ["","","","","itdn","iwdn"] 477: 478: strbN = ["","NT*NS*NGX*NGY*NGZ*NBY*NBZ","NT*NS*NGX*NGY*NGZ*NBZ","NT*NS*NGX*NGY*NGZ"] 479: strgN = ["","NT*NS*NGY*NGZ","NT*NS*NGZ","NT*NS"] 480: strN = ["", "", "", "","NS","1"] 481: 482: str3 = "" 483: if (3 < i) 484: str3 = str3 + strN[i] + "*(" + strup[i] + "-" + str[i] + ")" 485: elsif (0 < i && i < 4) 486: str3 = str3 + strgN[i] + "*(" + strgup[i] + "-" + strg[i] + ") + " + 487: strbN[i] + "*(" + strbup[i] + "-" + strb[i] + ")" 488: 489: elsif (-4 < i && i < 0) 490: str3 = str3 + strgN[-i] + "*(" + strgdn[-i] + "-" + strg[-i] + ") + " + 491: strbN[-i] + "*(" + strbdn[-i] + "-" + strb[-i] + ")" 492: elsif (i < -3) 493: str3 = str3 + strN[-i] + "*(" + strdn[-i] + "-" + str[-i] + ")" 494: end 495: 496: str3 = str3 + " &\n & " 497: 498: if (3 < j) 499: str3 = str3 + " + " + strN[j] + "*(" + strup[j] + "-" + str[j] + ")" 500: elsif (0 < j && j < 4) 501: str3 = str3 + " + " + strgN[j] + "*(" + strgup[j] + "-" + strg[j] + ") + " + 502: strbN[j] + "*(" + strbup[j] + "-" + strb[j] + ")" 503: elsif (-4 < j && j < 0) 504: str3 = str3 + " + " + strgN[-j] + "*(" + strgdn[-j] + "-" + strg[-j] + ") + " + 505: strbN[-j] + "*(" + strbdn[-j] + "-" + strb[-j] + ")" 506: elsif (j < -3) 507: str3 = str3 + " + " + strN[-j] + "*(" + strdn[-j] + "-" + str[-j] + ")" 508: end 509: return "(" + str3 + ")" 510: end
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 465 465: def diff_site_index_blk(i,j) 466: strb = ["","ibx","iby","ibz"] 467: strg = ["","igx","igy","igz"] 468: str = ["","","","","it","iw"] 469: 470: strbup = ["","ibxup","ibyup","ibzup"] 471: strgup = ["","igxup","igyup","igzup"] 472: strup = ["","","","","itup","iwup"] 473: 474: strbdn = ["","ibxdn","ibydn","ibzdn"] 475: strgdn = ["","igxdn","igydn","igzdn"] 476: strdn = ["","","","","itdn","iwdn"] 477: 478: strbN = ["","NT*NS*NGX*NGY*NGZ*NBY*NBZ","NT*NS*NGX*NGY*NGZ*NBZ","NT*NS*NGX*NGY*NGZ"] 479: strgN = ["","NT*NS*NGY*NGZ","NT*NS*NGZ","NT*NS"] 480: strN = ["", "", "", "","NS","1"] 481: 482: str3 = "" 483: if (3 < i) 484: str3 = str3 + strN[i] + "*(" + strup[i] + "-" + str[i] + ")" 485: elsif (0 < i && i < 4) 486: str3 = str3 + strgN[i] + "*(" + strgup[i] + "-" + strg[i] + ") + " + 487: strbN[i] + "*(" + strbup[i] + "-" + strb[i] + ")" 488: 489: elsif (-4 < i && i < 0) 490: str3 = str3 + strgN[-i] + "*(" + strgdn[-i] + "-" + strg[-i] + ") + " + 491: strbN[-i] + "*(" + strbdn[-i] + "-" + strb[-i] + ")" 492: elsif (i < -3) 493: str3 = str3 + strN[-i] + "*(" + strdn[-i] + "-" + str[-i] + ")" 494: end 495: 496: str3 = str3 + " &\n & " 497: 498: if (3 < j) 499: str3 = str3 + " + " + strN[j] + "*(" + strup[j] + "-" + str[j] + ")" 500: elsif (0 < j && j < 4) 501: str3 = str3 + " + " + strgN[j] + "*(" + strgup[j] + "-" + strg[j] + ") + " + 502: strbN[j] + "*(" + strbup[j] + "-" + strb[j] + ")" 503: elsif (-4 < j && j < 0) 504: str3 = str3 + " + " + strgN[-j] + "*(" + strgdn[-j] + "-" + strg[-j] + ") + " + 505: strbN[-j] + "*(" + strbdn[-j] + "-" + strb[-j] + ")" 506: elsif (j < -3) 507: str3 = str3 + " + " + strN[-j] + "*(" + strdn[-j] + "-" + str[-j] + ")" 508: end 509: return "(" + str3 + ")" 510: end
# File QuarkDwOvlpClass/FieldClasses.rb, line 465 465: def diff_site_index_blk(i,j) 466: strb = ["","ibx","iby","ibz"] 467: strg = ["","igx","igy","igz"] 468: str = ["","","","","it","iw"] 469: 470: strbup = ["","ibxup","ibyup","ibzup"] 471: strgup = ["","igxup","igyup","igzup"] 472: strup = ["","","","","itup","iwup"] 473: 474: strbdn = ["","ibxdn","ibydn","ibzdn"] 475: strgdn = ["","igxdn","igydn","igzdn"] 476: strdn = ["","","","","itdn","iwdn"] 477: 478: strbN = ["","NT*NS*NGX*NGY*NGZ*NBY*NBZ","NT*NS*NGX*NGY*NGZ*NBZ","NT*NS*NGX*NGY*NGZ"] 479: strgN = ["","NT*NS*NGY*NGZ","NT*NS*NGZ","NT*NS"] 480: strN = ["", "", "", "","NS","1"] 481: 482: str3 = "" 483: if (3 < i) 484: str3 = str3 + strN[i] + "*(" + strup[i] + "-" + str[i] + ")" 485: elsif (0 < i && i < 4) 486: str3 = str3 + strgN[i] + "*(" + strgup[i] + "-" + strg[i] + ") + " + 487: strbN[i] + "*(" + strbup[i] + "-" + strb[i] + ")" 488: 489: elsif (-4 < i && i < 0) 490: str3 = str3 + strgN[-i] + "*(" + strgdn[-i] + "-" + strg[-i] + ") + " + 491: strbN[-i] + "*(" + strbdn[-i] + "-" + strb[-i] + ")" 492: elsif (i < -3) 493: str3 = str3 + strN[-i] + "*(" + strdn[-i] + "-" + str[-i] + ")" 494: end 495: 496: str3 = str3 + " &\n & " 497: 498: if (3 < j) 499: str3 = str3 + " + " + strN[j] + "*(" + strup[j] + "-" + str[j] + ")" 500: elsif (0 < j && j < 4) 501: str3 = str3 + " + " + strgN[j] + "*(" + strgup[j] + "-" + strg[j] + ") + " + 502: strbN[j] + "*(" + strbup[j] + "-" + strb[j] + ")" 503: elsif (-4 < j && j < 0) 504: str3 = str3 + " + " + strgN[-j] + "*(" + strgdn[-j] + "-" + strg[-j] + ") + " + 505: strbN[-j] + "*(" + strbdn[-j] + "-" + strb[-j] + ")" 506: elsif (j < -3) 507: str3 = str3 + " + " + strN[-j] + "*(" + strdn[-j] + "-" + str[-j] + ")" 508: end 509: return "(" + str3 + ")" 510: end
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 533 533: def extra_boundary(i) 534: if (i == +5) 535: puts " kac = (iw/NS)" 536: puts " fac = (1-kac)-mq*kac" 537: end 538: if (i == -5) 539: puts " kac = ((NS-iw+1)/NS)" 540: puts " fac = (1-kac)-mq*kac" 541: end 542: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 533 533: def extra_boundary(i) 534: if (i == +5) 535: puts " kac = (iw/NS)" 536: puts " fac = (1-kac)-mq*kac" 537: end 538: if (i == -5) 539: puts " kac = ((NS-iw+1)/NS)" 540: puts " fac = (1-kac)-mq*kac" 541: end 542: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 533 533: def extra_boundary(i) 534: if (i == +5) 535: puts " kac = (iw/NS)" 536: puts " fac = (1-kac)-mq*kac" 537: end 538: if (i == -5) 539: puts " kac = ((NS-iw+1)/NS)" 540: puts " fac = (1-kac)-mq*kac" 541: end 542: end
# File QuarkDwOvlpClass/FieldClasses.rb, line 533 533: def extra_boundary(i) 534: if (i == +5) 535: puts " kac = (iw/NS)" 536: puts " fac = (1-kac)-mq*kac" 537: end 538: if (i == -5) 539: puts " kac = ((NS-iw+1)/NS)" 540: puts " fac = (1-kac)-mq*kac" 541: end 542: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 461 461: def get_mode 462: return @mode 463: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 461 461: def get_mode 462: return @mode 463: end
# File QuarkDwOvlpClass/FieldClasses.rb, line 572 572: def put_endif 573: if (@mode != "all") 574: puts " endif" 575: end 576: @if_depth = @if_depth - 1 577: end
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 572 572: def put_endif 573: if (@mode != "all") 574: puts " endif" 575: end 576: @if_depth = @if_depth - 1 577: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 572 572: def put_endif 573: if (@mode != "all") 574: puts " endif" 575: end 576: @if_depth = @if_depth - 1 577: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 572 572: def put_endif 573: if (@mode != "all") 574: puts " endif" 575: end 576: @if_depth = @if_depth - 1 577: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 544 544: def put_if(i=0,j=0) 545: if (@mode == "forw") 546: if (@ordering == "normal") 547: puts " if (" + diff_site_index(i,j) + " > 0) then" 548: elsif (@ordering == "blocknormal") 549: puts " if (" + diff_site_index_blk(i,j) + " > 0) then" 550: if (i.abs <4) 551: puts "!$OMP BARRIER" 552: end 553: end 554: elsif (@mode == "back") 555: if (@ordering == "normal") 556: puts " if (" + diff_site_index(i,j) + " < 0) then" 557: elsif (@ordering == "blocknormal") 558: puts " if (" + diff_site_index_blk(i,j) + " < 0) then" 559: if (i.abs <4) 560: puts "!$OMP BARRIER" 561: end 562: end 563: elsif (@mode == "all") 564: puts "" 565: else 566: print "error in mode\n" 567: abort 568: end 569: @if_depth = @if_depth + 1 570: end
# File QuarkDwOvlpClass/FieldClasses.rb, line 544 544: def put_if(i=0,j=0) 545: if (@mode == "forw") 546: if (@ordering == "normal") 547: puts " if (" + diff_site_index(i,j) + " > 0) then" 548: elsif (@ordering == "blocknormal") 549: puts " if (" + diff_site_index_blk(i,j) + " > 0) then" 550: if (i.abs <4) 551: puts "!$OMP BARRIER" 552: end 553: end 554: elsif (@mode == "back") 555: if (@ordering == "normal") 556: puts " if (" + diff_site_index(i,j) + " < 0) then" 557: elsif (@ordering == "blocknormal") 558: puts " if (" + diff_site_index_blk(i,j) + " < 0) then" 559: if (i.abs <4) 560: puts "!$OMP BARRIER" 561: end 562: end 563: elsif (@mode == "all") 564: puts "" 565: else 566: print "error in mode\n" 567: abort 568: end 569: @if_depth = @if_depth + 1 570: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 544 544: def put_if(i=0,j=0) 545: if (@mode == "forw") 546: if (@ordering == "normal") 547: puts " if (" + diff_site_index(i,j) + " > 0) then" 548: elsif (@ordering == "blocknormal") 549: puts " if (" + diff_site_index_blk(i,j) + " > 0) then" 550: if (i.abs <4) 551: puts "!$OMP BARRIER" 552: end 553: end 554: elsif (@mode == "back") 555: if (@ordering == "normal") 556: puts " if (" + diff_site_index(i,j) + " < 0) then" 557: elsif (@ordering == "blocknormal") 558: puts " if (" + diff_site_index_blk(i,j) + " < 0) then" 559: if (i.abs <4) 560: puts "!$OMP BARRIER" 561: end 562: end 563: elsif (@mode == "all") 564: puts "" 565: else 566: print "error in mode\n" 567: abort 568: end 569: @if_depth = @if_depth + 1 570: end
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 544 544: def put_if(i=0,j=0) 545: if (@mode == "forw") 546: if (@ordering == "normal") 547: puts " if (" + diff_site_index(i,j) + " > 0) then" 548: elsif (@ordering == "blocknormal") 549: puts " if (" + diff_site_index_blk(i,j) + " > 0) then" 550: if (i.abs <4) 551: puts "!$OMP BARRIER" 552: end 553: end 554: elsif (@mode == "back") 555: if (@ordering == "normal") 556: puts " if (" + diff_site_index(i,j) + " < 0) then" 557: elsif (@ordering == "blocknormal") 558: puts " if (" + diff_site_index_blk(i,j) + " < 0) then" 559: if (i.abs <4) 560: puts "!$OMP BARRIER" 561: end 562: end 563: elsif (@mode == "all") 564: puts "" 565: else 566: print "error in mode\n" 567: abort 568: end 569: @if_depth = @if_depth + 1 570: end
# File QuarkDwOvlpClass/FieldClasses.rb, line 451 451: def set_mode(mode) 452: @mode = mode.downcase 453: @if_depth = 0 454: end
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 451 451: def set_mode(mode) 452: @mode = mode.downcase 453: @if_depth = 0 454: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 451 451: def set_mode(mode) 452: @mode = mode.downcase 453: @if_depth = 0 454: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 451 451: def set_mode(mode) 452: @mode = mode.downcase 453: @if_depth = 0 454: end
# File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 456 456: def set_ordering(ordering) 457: @ordering = ordering.downcase 458: @if_depth = 0 459: end
# File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 456 456: def set_ordering(ordering) 457: @ordering = ordering.downcase 458: @if_depth = 0 459: end
# File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 456 456: def set_ordering(ordering) 457: @ordering = ordering.downcase 458: @if_depth = 0 459: end