Class SiteRestriction
In: QuarkDwOvlpClass/PREVS/FieldClasses.rb
QuarkDwOvlpClass/FieldClasses.rb
QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb
QuarkDwOvlpClass_v0.1/FieldClasses.rb
Parent: Object
Spinor SiteRestriction FieldGauge FieldDWSpinor dot/f_39.png

Methods

Public Class methods

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

Public Instance methods

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 461
461:   def get_mode
462:     return @mode
463:   end

[Source]

     # File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 461
461:   def get_mode
462:     return @mode
463:   end

[Source]

     # File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 461
461:   def get_mode
462:     return @mode
463:   end

[Source]

     # File QuarkDwOvlpClass/FieldClasses.rb, line 461
461:   def get_mode
462:     return @mode
463:   end

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # File QuarkDwOvlpClass/FieldClasses.rb, line 451
451:   def set_mode(mode)
452:     @mode = mode.downcase
453:     @if_depth = 0
454:   end

[Source]

     # File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 451
451:   def set_mode(mode)
452:     @mode = mode.downcase
453:     @if_depth = 0
454:   end

[Source]

     # File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 451
451:   def set_mode(mode)
452:     @mode = mode.downcase
453:     @if_depth = 0
454:   end

[Source]

     # File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 451
451:   def set_mode(mode)
452:     @mode = mode.downcase
453:     @if_depth = 0
454:   end

[Source]

     # File QuarkDwOvlpClass_v0.1/FieldClasses.rb, line 456
456:   def set_ordering(ordering)
457:     @ordering = ordering.downcase
458:     @if_depth = 0
459:   end

[Source]

     # File QuarkDwOvlpClass/PREVS/FieldClasses.rb, line 456
456:   def set_ordering(ordering)
457:     @ordering = ordering.downcase
458:     @if_depth = 0
459:   end

[Source]

     # File QuarkDwOvlpClass_v0.1/PREVS/FieldClasses.rb, line 456
456:   def set_ordering(ordering)
457:     @ordering = ordering.downcase
458:     @if_depth = 0
459:   end

[Source]

     # File QuarkDwOvlpClass/FieldClasses.rb, line 456
456:   def set_ordering(ordering)
457:     @ordering = ordering.downcase
458:     @if_depth = 0
459:   end