5.2.2. General Naming Pattern

Many ParAMS Input blocks have the following pattern:

  • A Type key which is a multiple-choice list of allowed types for that component;

  • Sub-blocks/keys which share names with the available types.

Not every type has a matching sub-block/key. They are only present for those types which require extra settings. If you use a sub-block/key which does not match the selected Type then it will be ignored and may sometimes result in errors.

The following patterns are correct:

ExitCondition
    Type MaxOptimizersConverged
    MaxOptimizersConverged 1
End

ExitCondition
    Type StopsAfterConvergence
    StopsAfterConvergence
        OptimizersConverged 1
        OptimizersStopped 1
    End
End

In the first example, we select Type MaxOptimizersConverged and then configure it with the similarly named key: MaxOptimizersConverged 1. Similarly in the second example, we select Type StopsAfterConvergence and the configure it with the similarly named block.

The following patterns are incorrect:

# Missing Type
ExitCondition
    MaxOptimizersConverged 1
End

# Sub-key doesn't match Type
ExitCondition
    Type MaxOptimizersConverged
    TargetFunctionValue 0
End

# Extra sub-key
ExitCondition
    Type MaxOptimizersConverged
    MaxOptimizersConverged 1
    TargetFunctionValue 0
End

# Multiple specifications in single block
ExitCondition
    Type MaxOptimizersConverged
    MaxOptimizersConverged 1
    Type FunctionValue
    TargetFunctionValue 0
End

Some of the blocks which follow this pattern are: