Class OpenFoamDialog
In: dialogs.rb
Parent: FXDialogBox

maybe put this in another file later on

Methods

new   onFoamX   onParaView   onRun   setdefault  

Attributes

casename  [RW] 
foamtype  [RW] 
foamxButton  [RW] 
paraviewButton  [RW] 
runButton  [RW] 
scalefactor  [RW] 
turbepsilon  [RW] 
turbk  [RW] 
workdir  [RW] 
writeAndRunButton  [RW] 
writeCaseButton  [RW] 
writeMeshButton  [RW] 
xvel  [RW] 
yvel  [RW] 
zvel  [RW] 

Public Class methods

[Source]

# File dialogs.rb, line 1160
   def initialize(owner, title)
      super(owner, title)
      # frames, matrices and groupboxes
      frame1 = FXVerticalFrame.new(self, LAYOUT_FILL_X| LAYOUT_FILL_Y)
      matrix1 = FXMatrix.new(frame1, 2, MATRIX_BY_COLUMNS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
      matrix2 = FXMatrix.new(matrix1, 2, MATRIX_BY_ROWS|LAYOUT_SIDE_TOP|LAYOUT_FILL_X|LAYOUT_FILL_Y)
      frame2 = FXVerticalFrame.new(matrix1, LAYOUT_FILL_X| LAYOUT_FILL_Y)
      
      group1 = FXGroupBox.new(matrix2, "Case Info:",  FRAME_RIDGE|LAYOUT_FILL_X|LAYOUT_FILL_Y)
      group2 = FXGroupBox.new(matrix2, "Initial Conditions",FRAME_RIDGE|LAYOUT_FILL_X|LAYOUT_FILL_Y)

      matrix3 = FXMatrix.new(group1, 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)

      # attribute input
      FXLabel.new(matrix3, "Work Dir:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @workdir = FXTextField.new(matrix3, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix3, "Case Name:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @casename = FXTextField.new(matrix3, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix3, "OpenFOAM Solver:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @foamtype = FXTextField.new(matrix3, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix3, "Scale Factor:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @scalefactor = FXTextField.new(matrix3, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)

      FXLabel.new(matrix4, "x velocity:             ", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @xvel = FXTextField.new(matrix4, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix4, "y velocity:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @yvel = FXTextField.new(matrix4, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix4, "z velocity:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @zvel = FXTextField.new(matrix4, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix4, "k:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @turbk = FXTextField.new(matrix4, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)
      FXLabel.new(matrix4, "epsilon:", nil, LAYOUT_SIDE_LEFT|LAYOUT_CENTER_Y)
      @turbepsilon = FXTextField.new(matrix4, 8, nil, 0,JUSTIFY_RIGHT|FRAME_SUNKEN|FRAME_THICK|LAYOUT_SIDE_RIGHT|LAYOUT_CENTER_Y)

      # Buttons
      @writeMeshButton = FXButton.new(frame2,   "Write Mesh", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @writeCaseButton = FXButton.new(frame2,   "Write Case", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @writeAndRunButton = FXButton.new(frame2, "Write and Run", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @runButton = FXButton.new(frame2,         "Run", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @foamxButton = FXButton.new(frame2,       "FoamX", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)
      @paraviewButton = FXButton.new(frame2,    "Paraview", nil, nil, 0, FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)

      FXButton.new(frame2, "Cancel", nil, self, FXDialogBox::ID_CANCEL,FRAME_RAISED|FRAME_THICK|LAYOUT_SIDE_LEFT|LAYOUT_LEFT|LAYOUT_FILL_X)

      def onRun(sender, sel, ptr)
         getApp().beginWaitCursor()
         puts "simpleFoam . #{@casename.text.to_s}"
         Thread.new { system("simpleFoam . #{@casename.text.to_s}") }
         getApp().endWaitCursor()
      end
      def onFoamX(sender, sel, ptr)
         getApp().beginWaitCursor()
         puts "FoamX . #{@casename.text.to_s}"
         system("FoamX . #{@casename.text.to_s}")
         getApp().endWaitCursor()
      end
      def onParaView(sender, sel, ptr)
         getApp().beginWaitCursor()
         puts "paraFoam . #{@casename.text.to_s}"
         Thread.new { system("paraFoam . #{@casename.text.to_s}") }
         getApp().endWaitCursor()
      end
      @runButton.connect(SEL_COMMAND, method(:onRun))
      @foamxButton.connect(SEL_COMMAND, method(:onFoamX))
      @paraviewButton.connect(SEL_COMMAND, method(:onParaView))


      # set default values
      def setdefault
         @workdir.text = $defaults['workdir'].to_s
         @casename.text = $defaults['casename'].to_s
         @foamtype.text = $defaults['foamtype'].to_s
         @scalefactor.text = $defaults['scalefactor'].to_s
         @xvel.text = $defaults['bcxvel'].to_s
         @yvel.text = $defaults['bcyvel'].to_s
         @zvel.text = $defaults['bczvel'].to_s
         @turbk.text = $defaults['bck'].to_s
         @turbepsilon.text = $defaults['bcepsilon'].to_s
      end

   end

Public Instance methods

[Source]

# File dialogs.rb, line 1211
      def onFoamX(sender, sel, ptr)
         getApp().beginWaitCursor()
         puts "FoamX . #{@casename.text.to_s}"
         system("FoamX . #{@casename.text.to_s}")
         getApp().endWaitCursor()
      end

[Source]

# File dialogs.rb, line 1217
      def onParaView(sender, sel, ptr)
         getApp().beginWaitCursor()
         puts "paraFoam . #{@casename.text.to_s}"
         Thread.new { system("paraFoam . #{@casename.text.to_s}") }
         getApp().endWaitCursor()
      end

[Source]

# File dialogs.rb, line 1205
      def onRun(sender, sel, ptr)
         getApp().beginWaitCursor()
         puts "simpleFoam . #{@casename.text.to_s}"
         Thread.new { system("simpleFoam . #{@casename.text.to_s}") }
         getApp().endWaitCursor()
      end

set default values

[Source]

# File dialogs.rb, line 1229
      def setdefault
         @workdir.text = $defaults['workdir'].to_s
         @casename.text = $defaults['casename'].to_s
         @foamtype.text = $defaults['foamtype'].to_s
         @scalefactor.text = $defaults['scalefactor'].to_s
         @xvel.text = $defaults['bcxvel'].to_s
         @yvel.text = $defaults['bcyvel'].to_s
         @zvel.text = $defaults['bczvel'].to_s
         @turbk.text = $defaults['bck'].to_s
         @turbepsilon.text = $defaults['bcepsilon'].to_s
      end

[Validate]