Class BcInletDialog
In: dialogs.rb
Parent: FXDialogBox

Methods

new   setdefault  

Attributes

faceNormalButton  [RW]  buttons
flipNormalButton  [RW]  buttons
okButton  [RW]  buttons
pressure  [RW]  for export
ref  [RW]  buttons
reftext  [RW] 
turbepsilon  [RW]  for export
turbintensity  [RW]  for dialogbox
turbk  [RW]  for export
turblength  [RW]  for dialogbox
updateKEpsilonButton  [RW]  buttons
velmag  [RW]  for dialogbox
xvec  [RW]  for dialogbox
xvel  [RW]  for export
yvec  [RW]  for dialogbox
yvel  [RW]  for export
zvec  [RW]  for dialogbox
zvel  [RW]  for export

Public Class methods

[Source]

# File dialogs.rb, line 1251
   def initialize(owner, title)
      super(owner, title)
      # frames, matrices and groupboxes
      frame1 = FXVerticalFrame.new(self, LAYOUT_FILL_X| LAYOUT_FILL_Y)
      frame2 = FXVerticalFrame.new(frame1, LAYOUT_FILL_X| LAYOUT_FILL_Y)
      frame3 = FXVerticalFrame.new(frame1, LAYOUT_FILL_X| LAYOUT_FILL_Y)
      # for references:
      frame4 = FXHorizontalFrame.new(frame1, LAYOUT_FILL_X)
      # for OK and Cancel button
      frame4c = FXHorizontalFrame.new(frame1, LAYOUT_FILL_X)
      group1 = FXGroupBox.new(frame2, "Velocity:",  FRAME_RIDGE|LAYOUT_FILL_X|LAYOUT_FILL_Y)
      group2 = FXGroupBox.new(frame3, "Turbulence",FRAME_RIDGE|LAYOUT_FILL_X|LAYOUT_FILL_Y)
      frame4b = FXVerticalFrame.new(group1, LAYOUT_FILL_X)
      matrix1 = FXMatrix.new(frame4b, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)


      # Here we will put labels and textboxes for Velocity
      matrix2 = FXMatrix.new(matrix1, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)

      # Buttons for Velocity
      frame5 = FXVerticalFrame.new(matrix1, LAYOUT_FILL_X| LAYOUT_FILL_Y)
      
      # velocity component display
      matrix3 = FXMatrix.new(frame4b, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
      matrix4 = FXMatrix.new(group2, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)

      # Here we will put labels and textboxes for Turbulence
      matrix5 = FXMatrix.new(matrix4, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)

      # Buttons for Turbulence
      frame6 = FXVerticalFrame.new(matrix4, LAYOUT_FILL_X| LAYOUT_FILL_Y)

      # attribute input for velocity
      FXLabel.new(matrix2, "Velocity Magnitude:        ", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @velmag = FXTextField.new(matrix2, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @velmag.connect(SEL_UPDATE){
         vmag = @velmag.text.to_f
         xvect = @xvec.text.to_f
         yvect = @yvec.text.to_f
         zvect = @zvec.text.to_f
         vectorlength = vectLength([xvect, yvect, zvect])
         @xvel.text = "#{vmag * xvect / vectorlength}"
         @yvel.text = "#{vmag * yvect / vectorlength}"
         @zvel.text = "#{vmag * zvect / vectorlength}"
     }
      FXLabel.new(matrix2, "x vector:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @xvec = FXTextField.new(matrix2, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix2, "y vector:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @yvec = FXTextField.new(matrix2, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix2, "z vector:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @zvec = FXTextField.new(matrix2, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      # velocity components
      FXLabel.new(matrix3, "x velocity:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @xvel = FXLabel.new(matrix3, "  0.0", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix3, "y velocity:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @yvel = FXLabel.new(matrix3, "  0.0", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix3, "z velocity:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @zvel = FXLabel.new(matrix3, "  0.0", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      
      # attribute input for turbulence
      FXLabel.new(matrix5, "Turbulence Intensity (%):", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @turbintensity = FXTextField.new(matrix5, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix5, "Turbulent Length Scale (m):", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @turblength = FXTextField.new(matrix5, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix5, "k:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @turbk = FXTextField.new(matrix5, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix5, "epsilon:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @turbepsilon = FXTextField.new(matrix5, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)

      descr = "Calculate k and epsilon\nfrom Velocity Magnitude,\nIntensity and Length Scale."
      FXLabel.new(frame6, descr, nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)

      #buttons
      @faceNormalButton = FXButton.new(frame5,   "Face Normal", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @flipNormalButton = FXButton.new(frame5,   "Flip Normal", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @faceNormalButton.connect(SEL_COMMAND){
         if @ref[0].class == InfoFace || @ref[0].class == LiteFace
            xnor, ynor, znor = faceNormal(@ref[0])
            @xvec.text, @yvec.text, @zvec.text = xnor.to_s, ynor.to_s, znor.to_s
         end
      }
      @flipNormalButton.connect(SEL_COMMAND){
         prex = @xvec.text.to_f
         prey = @yvec.text.to_f
         prez = @zvec.text.to_f
         @xvec.text = "#{-prex}" if prex != 0.0
         @yvec.text = "#{-prey}" if prey != 0.0
         @zvec.text = "#{-prez}" if prez != 0.0

      }
      @updateKEpsilonButton = FXButton.new(frame6,   "Update k-epsilon", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @updateKEpsilonButton.connect(SEL_COMMAND) {
         # this lengt scale fracton is 0.07 in fluent, could also be 0.1
         lengthScaleFraction = 0.07
         cmu = 0.09    # commonly used for k-epsilon model
         kvalue = 3.0/2.0 * (@velmag.text.to_f*@turbintensity.text.to_f/100.0)**2
         epsvalue = cmu**0.75 * kvalue**1.5 / @turblength.text.to_f / lengthScaleFraction 
         @turbk.text = sprintf "%.2f", kvalue
         @turbepsilon.text = sprintf "%.2f", epsvalue
      }
 
      FXLabel.new(frame4, "Reference: ", nil, LAYOUT_SIDE_BOTTOM|LAYOUT_CENTER_Y)
      @reftext = FXLabel.new(frame4, "f0", nil, LAYOUT_SIDE_BOTTOM|LAYOUT_CENTER_Y)
      @okButton = FXButton.new(frame4c, "  OK  ", nil, self, FXDialogBox::ID_ACCEPT, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
      FXButton.new(frame4c, "Cancel", nil, self, FXDialogBox::ID_CANCEL, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_RIGHT|LAYOUT_CENTER_Y)
      def setdefault
         @velmag.text = $defaults['bcvelmag'].to_s
         @xvec.text = $defaults['bcxvec'].to_s
         @yvec.text = $defaults['bcyvec'].to_s
         @zvec.text = $defaults['bczvec'].to_s
         @xvel.text = $defaults['bcxvel'].to_s
         @yvel.text = $defaults['bcyvel'].to_s
         @zvel.text = $defaults['bczvel'].to_s
         @turbintensity.text = $defaults['bcturbintensity'].to_s
         @turblength.text = $defaults['bcturblength'].to_s
         @turbk.text = $defaults['bck'].to_s
         @turbepsilon.text = $defaults['bcepsilon'].to_s
      end
   end

Public Instance methods

[Source]

# File dialogs.rb, line 1356
      def setdefault
         @velmag.text = $defaults['bcvelmag'].to_s
         @xvec.text = $defaults['bcxvec'].to_s
         @yvec.text = $defaults['bcyvec'].to_s
         @zvec.text = $defaults['bczvec'].to_s
         @xvel.text = $defaults['bcxvel'].to_s
         @yvel.text = $defaults['bcyvel'].to_s
         @zvel.text = $defaults['bczvel'].to_s
         @turbintensity.text = $defaults['bcturbintensity'].to_s
         @turblength.text = $defaults['bcturblength'].to_s
         @turbk.text = $defaults['bck'].to_s
         @turbepsilon.text = $defaults['bcepsilon'].to_s
      end

[Validate]