# SolverManager rules file
#
# This file is placed in $CFX5_ETC_DIR/smrules.ccl by the install script.
# It contains 
#
# $Id$
# $Revision$



RULES:

SINGLETON: RULES
  Allowed Parent List = ROOT
  Description = RULES is automatically read from the rules.ccl library file.
END

SINGLETON: ROOT
  Description = The ROOT object lists all the object types that can be defined \
               in CFX.
END

PARAMETER: Option
  Parameter Type = String
END

PARAMETER: Monitor Directory
  Parameter Type = String
END

PARAMETER: Monitor Out File
  Parameter Type = String
END

PARAMETER: Monitor Source
  Parameter Type = String
  Allowed String List = Results File, Run Directory
END

PARAMETER: Monitor Completed Run
  Parameter Type = String
END

PARAMETER: Window Label
  Parameter Type = String
END

PARAMETER: Background Colour
  Parameter Type = Real List
END

PARAMETER: Display Legend
  Parameter Type = Logical
END

PARAMETER: Grid Mode
  Parameter Type = String
  Allowed String List = None, X, Y, Both  
END

PARAMETER: Grid Colour
  Parameter Type = Real List
END

PARAMETER: Logarithmic Y
  PARAMETER Type = Integer
END

PARAMETER: Window Visibility
  Parameter Type = Logical
END

PARAMETER: Plot X Axis Label
  Parameter Type = String
END

PARAMETER: Plot Y Axis Label
  Parameter Type = String
END

PARAMETER: Text File Name
  Parameter Type = String
END

PARAMETER: Variable Name
  Parameter Type = String
END

PARAMETER: Visibility
  Parameter Type = Logical
END

PARAMETER: Initial Geometry
  Parameter Type = String
END

PARAMETER: Monitor Group
  Parameter Type = String
END

PARAMETER: Group Priority
  Parameter Type = Real
END

PARAMETER: Residual Mode
  Parameter Type = String
  Allowed String List = RMS, MAX
END

PARAMETER: Plot Data By
  Parameter Type = String
  Allowed String List = Workspace Default, Time Step, Simulation Time, Specified Variable
END

PARAMETER: X Axis Variable
  Parameter Type = String
END

PARAMETER: Plot Coefficient Loop Data
  Parameter Type = Logical
END

PARAMETER: Line Number
  Parameter Type = Integer
END

PARAMETER: Bookmark Target
  Parameter Type = String
END

PARAMETER: Disabled Monitor
  Parameter Type = Logical
END

PARAMETER: Foo
  Parameter Type = String
END

PARAMETER: Bar
  Parameter Type = String
END

PARAMETER: Baz
  Parameter Type = String
END


# test stuff

OBJECT: TESTOBJECT
  Allowed Parent List = ROOT
  Optional Parameter List = Foo, Bar, Baz
END

# Multi Config Run Control
SINGLETON: MULTICONFIG DATABASE
  Allowed Parent List = MONITOR WORKSPACE
  Optional Child List = CONFIGURATION
  Essential Parameter List = Multi Config Status, Next Configuration ID
END

OBJECT: CONFIGURATION
  Essential Parameter List = Configuration ID, Configuration Status, \
                             Monitor Workspace Name
  Optional Parameter List = Termination Time, Results File, RST File
END

PARAMETER: Configuration Status
  Parameter Type = String
  Allowed String List = ERROR, NORMAL, RUNNING, USER
  Default = NORMAL
END

PARAMETER: Monitor Workspace Name
  Parameter Type = String
END

PARAMETER: Results File
  Parameter Type = String
  Default = Unknown
END

PARAMETER: RST File
  Parameter Type = String
  Default = Unknown
END

PARAMETER: Termination Time
  Parameter Type = String
  Default = Unknown
END

PARAMETER: Configuration ID
  Parameter Type = Integer
  Default = 1
END

PARAMETER: Next Configuration ID
  Parameter Type = Integer
  Default = 1
END

PARAMETER: Multi Configuration Status
  Parameter Type = String
  Allowed String List = ERROR, NORMAL, RUNNING, USER
  Default = NORMAL
END

# Workspace definition

OBJECT: MONITOR WORKSPACE
  Allowed Parent List = ROOT
  Optional Child List = PLOT MONITOR, RESIDUAL MONITOR, TEXT MONITOR, MONITOR DATABASE, MULTICONFIG DATABASE
  Optional Parameter List = Monitor Directory, \
                            Monitor Completed Run, \
                            Monitor Source, \
                            Monitor Out File, \
			    Plot Data By, \
			    Plot Coefficient Loop Data
END

SINGLETON: GROUP RULES
  Allowed Parent List = ROOT
  Optional Child List = GROUP RULE
END

OBJECT: GROUP RULE
  Allowed Parent List = GROUP RULES 
  Optional Child List = PLOT MONITOR, RESIDUAL MONITOR, TEXT MONITOR
  Optional Parameter List = Group Priority
END

OBJECT: PLOT MONITOR
  Optional Child List = PLOT LINE
  Optional Parameter List = Plot X Axis Label, \
			    Plot Y Axis Label, \
         		    Window Label, \
                            Background Colour, \
                            Display Legend, \
                            Grid Mode, \
                            Grid Colour, \
                            Logarithmic Y, \
			    Visible Plot Lines, \
                            Initial Variable Match List, \
                            Variable Rule, \
                            Rule Selected Variables, \
                            User Added Variables, \
                            User Deleted Variables, \
                            Display All Timesteps, \
                            Timestep Range Option, \
                            Number of Visible Timesteps, \
                            Timestep Fixed Start, \
                            Timestep Fixed End, \
                            Manual Y Linear Scale, \
                            Manual Y Log Scale, \
                            Manual Y Lower Bound, \
                            Manual Y Upper Bound, \
                            Initial Geometry, \
                            Monitor Group, \
                            Visibility, \
                            MonDatabase Name, \
                            Plot Data By, \
                            X Axis Variable
END

OBJECT: RESIDUAL MONITOR
  Optional Child List = PLOT LINE
  Optional Parameter List = Plot X Axis Label, \
			    Plot Y Axis Label, \
         		    Window Label, \
                            Background Colour, \
                            Display Legend, \
                            Grid Mode, \
                            Grid Colour, \
                            Logarithmic Y, \
			    Visible Plot Lines, \
                            Initial Variable Match List, \
                            Variable Rule, \
                            Rule Selected Variables, \
                            User Added Variables, \
                            User Deleted Variables, \
                            Display All Timesteps, \
                            Timestep Range Option, \
                            Number of Visible Timesteps, \
                            Timestep Fixed Start, \
                            Timestep Fixed End, \
                            Manual Y Linear Scale, \
                            Manual Y Log Scale, \
                            Manual Y Lower Bound, \
                            Manual Y Upper Bound, \
                            Initial Geometry, \
                            Monitor Group, \
                            Visibility, \
                            Residual Mode, \
                            MonDatabase Name, \
                            Plot Data By, \
                            X Axis Variable
END

OBJECT: TEXT MONITOR
  Optional Child List = BOOKMARK
  Optional Parameter List = Window Label, \
                            Text File Name, \
			    Window Visibility, \
                            Initial Geometry, \
                            Monitor Group, \
                            Visibility, \
                            Disabled Monitor, \
                            Bookmark Target, \
                            MonDatabase Name
END

OBJECT: MULTICONFIG MONITOR
  Optional Parameter List = Window Label, \
                            Visibility, \
                            Initial Geometry
END

OBJECT: MONITOR
  Optional Parameter List = Window Label, \
                            Window Visibility, \
                            Initial Geometry, \
                            Monitor Group, \
                            MonDatabase Name
END

OBJECT: MONITOR DATABASE
  Optional Parameter List = Database Type, \
                            Database Primary
END

OBJECT: PLOT LINE
  Optional Parameter List = Plot Line Name, \
                            Plot Line Variable, \
                            Visibility, \
                            Display Plot Line, \
                            Plot Line Style, \
                            Plot Line Pen Style, \
                            Plot Line Width, \
                            Plot Line Colour, \
                            Display Plot Symbol,\
                            Plot Symbol Style, \
                            Plot Symbol Size, \
                            Plot Symbol Colour, \
                            Automatic Style Slot
END

OBJECT: BOOKMARK
  Optional Parameter List = Line Number
END

SINGLETON: DEFAULT PLOT LINE STYLE
  Allowed Parent List = ROOT
  Optional Child List = PLOT LINE
END

SINGLETON: SOLVER MANAGER DEFAULTS
  Allowed Parent List = ROOT
  Optional Child List = RESIDUAL MONITOR, PLOT MONITOR, TEXT MONITOR, MONITOR WORKSPACE
  Optional Parameter List = Default Layout File, Layout List, Default File Version
END

PARAMETER: Default Layout File
  Parameter Type = String
END

PARAMETER: Layout List
  Parameter Type = String List
END

PARAMETER: Default File Version
  Parameter Type = String
END

PARAMETER: Plot Line Name
  Parameter Type = String
END

PARAMETER: Plot Line Variable
  Parameter Type = String
END

PARAMETER: Initial Variable Match List 
  Parameter Type = String List
END

PARAMETER: Variable Rule
  Parameter Type = String 
END

PARAMETER: Display All Timesteps
  Parameter Type = Logical
END

PARAMETER: Timestep Range Option 
  Parameter Type = String
  Allowed String List = Display All, Fixed, Most Recent, This Run Only
END

PARAMETER: Timestep Fixed Start
  Parameter Type = Integer
END

PARAMETER: Timestep Fixed End
  Parameter Type = Integer
END
  
PARAMETER: Number of Visible Timesteps
  Parameter Type = Integer
END

PARAMETER: Manual Y Linear Scale
  Parameter Type = Logical
END

PARAMETER: Manual Y Log Scale
  Parameter Type = Logical
END

PARAMETER: Manual Y Lower Bound
  Parameter Type = Real
END

PARAMETER: Manual Y Upper Bound
  Parameter Type = Real
END

PARAMETER: Visible Plot Lines
  Parameter Type = String List
END

PARAMETER: Rule Selected Variables
  Parameter Type = String
END

PARAMETER: User Added Variables
  Parameter Type = String
END

PARAMETER: User Deleted Variables
  Parameter Type = String
END


PARAMETER: Display Plot Line
  Parameter Type = Logical
END

PARAMETER: Plot Line Style
  Parameter Type = String
  Allowed String List = NoCurve, Lines, Sticks, Steps, Dots, Spline
END

PARAMETER: Plot Line Pen Style
  Parameter Type = String
  Allowed String List = NoPen, SolidLine, DashLine, DotLine, DashDotLine, \
                        DashDotDotLine
END

PARAMETER: Plot Line Colour
  Parameter Type = Real List
END

PARAMETER: Plot Line Width
  Parameter Type = Integer
END

PARAMETER: Display Plot Symbol
  Parameter Type = Logical
END

PARAMETER: Plot Symbol Style
  Parameter Type = String
  Allowed String List = Ellipse, Rect, Diamond, Triangle, DTriangle, \
                        UTriangle, LTriangle, RTriangle, Cross, \
                        XCross, None
END

PARAMETER: Plot Symbol Size
  Parameter Type = Integer
END

PARAMETER: Plot Symbol Colour
  Parameter Type = Real List
END

PARAMETER: Automatic Style Slot
  Parameter Type = String
END

PARAMETER: Database Type
  Parameter Type = String
  Allowed String List = CFX, ANSYS XML
END

PARAMETER: Database Primary
  Parameter Type = Logical
END

PARAMETER: MonDatabase Name
  Parameter Type = String
END

# script to solver communication

SINGLETON: GUI INFORMATION
  Allowed Parent List = ROOT
  Optional Child List = DISPLAY MESSAGE, RUN SETUP INFORMATION
  Optional Parameter List = Initial Values Requirement
END

OBJECT: DISPLAY MESSAGE
  Optional Parameter List = Title, Level, Message
END

SINGLETON: RUN SETUP INFORMATION
  Optional Parameter List = Run Name, Full Run Prefix, \
                            Working Directory, Output File
END

PARAMETER: Output File
  Parameter Type = String
END

PARAMETER: Full Run Prefix 
  Parameter Type = String
END

PARAMETER: Run Name
  Parameter Type = String
END



PARAMETER: Title
  Parameter Type = String
END

PARAMETER: Level
  Parameter Type = String
END

PARAMETER: Message
  Parameter Type = String List
END

PARAMETER: Initial Values Requirement
  Parameter Type = String
END


# Imported from RULES-- should be in exec rules.

  SINGLETON: AXIS DEFINITION
    Description = Specifies if we are using a Coordinate Axis or \
                  Two points to define a local cylindrical axis. \
                  "Coordinate Axis" currently only supports the \
                  global x, y, or z axis.
    Essential Parameter List = Option
    Allowed Option List = \
      Coordinate Axis, \
      Two Points
    Context Rule = Option
    CONTEXT: Coordinate Axis
      Essential Parameter List = \
        Rotation Axis
    END
    CONTEXT: Two Points
      Essential Parameter List = \
        Rotation Axis From, \
        Rotation Axis To
    END
  END
    PARAMETER: Rotation Axis 
    Description = Coordinate Frame Axis for rotating domains or \
                  cylindrical boundary condition specification
    Default = Coord 0.1
    Parameter Type = String
  END
  PARAMETER: Rotation Axis From
    Description = First <x,y,z> position for a rotation axis
    Parameter Type = Real Triplet
    Default = 0.0[m],0.0[m],0.0[m]
    Quantity Type = Length
    Dynamic Reread Item   = Yes
  END
  PARAMETER: Rotation Axis To
    Description = Second <x,y,z> position for a rotation axis
    Parameter Type = Real Triplet
    Default = 1.0[m],0.0[m],0.0[m]
    Quantity Type = Length
    Dynamic Reread Item   = Yes
  END




# end of rules
END
