Config File

The Model Checker config file defines solver-specific checks and corrections. A unique config file exists for each supported solver. These files are located under the <altair_home>/hm/scripts/ModelCheck/<solver> directories and are named modelchecker. These files can be modified to add, remove or modify checks and corrections you wish to use. It is recommended to make a copy of the file and edit the copy instead of the original, as the original may be overwritten in newer releases. The new version can then be selected in the Model Checker GUI.

Syntax

The config file contains special keywords and syntax to define each check/correction. An excerpt from the LS-DYNA config file is given below:
/MODCHK/SOLVER/LSDYNA
#=======================================
/MODCHK/GROUP
Element Cards
#---------------------------------------
/MODCHK/CHECK/ERROR/RbodyCommonNodes/Elems
Common nodes of RBodies
N=N
/MODCHK/CORRECTION/ModifyManually
Modify Manually
/MODCHK/CORRECTIONMODE/ /rigids/ /
#=======================================
/MODCHK/GROUP
Part Cards
#---------------------------------------
/MODCHK/CHECK/INFO/NbInModel/Comps
Number of Comps
Number
#---------------------------------------
/MODCHK/CHECK/WARNING/Empty/Comps
Empty components
empty
/MODCHK/CORRECTION/Delete
Delete empty components
#---------------------------------------
/MODCHK/CHECK/ERROR/Checkformorethanoneelemtypeincomp/Comps
Component has more than one element type
comp elem type
/MODCHK/CORRECTION/ModifyManually
Modify Manually
/MODCHK/CORRECTIONMODE/ /collectors/ /
#=======================================
/MODCHK/GROUP
Group Cards
#---------------------------------------
/MODCHK/CHECK/ERROR/AttributeValueRange/Groups
Xtranode PID is not defined
PID = 0
/FILTER/CARD/XtraNode
/VALUE/ERROR/$LSD_PID/0/EQ
/MODCHK/CORRECTION/ModifyManually
Modify Manually
/MODCHK/CORRECTIONMODE/ /interfaces/ /
/END

Solver

The first line of a config file defines the solver that the checks apply to.

/MODCHK/SOLVER/<SOLVER>
  • /MODCHK/SOLVER: Identifies the line as defining the supported solver.
  • /<SOLVER>: The name of the solver.

Group

Following the solver definition are various blocks that define the checks and corrections, grouped according to entity type:

/MODCHK/GROUP
<NAME>
  • /MODCHK/GROUP: Identifies the following block to contain checks related to each other based on entity type.
  • <NAME>: The name/keyword of the group. This is currently not used in the GUI.

Check

Within each block are the definitions of the checks.
/MODCHK/CHECK/<TYPE>/<NAME>/<ENTITY_TYPE> 
<DISPLAY_NAME>
 <?SHORT_NAME?>
  • /MODCHK/CHECK: Identifies the line as having information about a check.
  • /<TYPE>: The type of the check.
    • INFO is used to post information only. There are no corrections available for INFO checks.
    • WARNING is used when the deck can run without passing the check.
    • ERROR is used when the deck cannot run without passing the check.
  • /<NAME>: The name/keyword of the check. There needs to be a function related to this check available with the same name. Most check functions provided with the default config files are implemented in the core and cannot be viewed/modified. Provided checks include:
    • AttributeValueRange: The check is defined for one or more attribute values or value ranges. One or more /VALUE lines, as defined below, are required.
    • NbInModel: Counts the number of entities.
    • Empty: Checks if a collector is empty.
    • FreeNodes: Checks for free nodes.
    • Unused: Checks if a collector is unused.
  • /<ENTITY_TYPE>: The name of the entity type to which the check is applicable.
  • <DISPLAY_NAME>: The display name that is shown in the Model Checker GUI for this check.
  • <?SHORT_NAME?>: An optional short name for the check. This is currently not implemented and is reserved for possible future use.

Filter

A check can have additional filters to specify only entities that have a specific card image, attribute values, and so on are to be included in the check. After the check definition, one or more optional filters can be specified. There are several filter types.
/FILTER/<ATTRIBUTE_NAME>/<ATTRIBUTE_VALUE>/<?QUALIFIER?>
  • /FILTER: Identifies the line as defining an entity filter. Multiple filters can be used as sub-filters on any previously defined filters.
  • /<ATTRIBUTE_NAME>: The entity attribute name, or one of the core types CARD or GROUPTYPE to filter on.
    • CARD: Filter based on a card image.
    • GROUPTYPE: Filter based on an entity type group. This is currently supported for mats and props only.
    • Entity attribute name: The name of an entity attribute, as defined in the solver template, to use as the filter.
  • /<ATTRIBUTE_VALUE>: The value of the attribute to use as the filter. This depends on the value of ATTRIBUTE_NAME.
    • CARD: The name of the card image. Multiple card images can be specified by using the | symbol between each name (e.g. /FILTER/CARD/TYPE7|TYPE11).
    • GROUPTYPE: The name of the entity type group (e.g. /FILTER/GROUPTYPE/ELASTO-PLASTIC)
    • Entity attribute name: The value of the entity attribute.
  • /<?QUALIFIER?>: If an entity attribute name is used for ATTRIBUTE_NAME, a qualifier also must be specified. The qualifier defines how the ATTRIBUTE_NAME is handled. Valid values are LT (less than), LE (less than or equal to) GT (greater than), GE (greater than or equal to), EQ (equal to) and NE (not equal to) (e.g. /FILTER/THICK/1/GT).

Value

For checks defined using /MODCHK/CHECK/<TYPE>/AttributeValueRange, one or more value checks need to be specified.
/VALUE/<TYPE>/<ATTRIBUTE_NAME>/<ATTRIBUTE_VALUE>/<QUALIFIER>
  • /VALUE: Identifies the line as defining a value check.
  • /<TYPE>: The type of the value check.
    • WARNING is used when the deck can run without passing the value check.
    • ERROR is used when the deck cannot run without passing the value check.
  • /<ATTRIBUTE_NAME>: The name of an entity attribute, as defined in the solver template, to use for the value check.
  • /<ATTRIBUTE_VALUE>: The value of the entity attribute to use for the value check. Multiple values can be specified by using the | symbol between each value (such as, /VALUE/WARNING/Igap/0|2/NE).
  • /<QUALIFIER>: The qualifier defines how the ATTRIBUTE_VALUE is checked. Valid values are LT (less than), LE (less than or equal to) GT (greater than), GE (greater than or equal to), EQ (equal to) and NE (not equal to) (for example, /VALUE/WARNING/Nu/0.5/GT).

Correction

Each WARNING or ERROR check must define a correction method.
/MODCHK/CORRECTION/<NAME>
<DISPLAY_NAME>
<?SHORT_NAME?>
/MODCHK/CORRECTIONMODE/<?ENTITY_TYPE?>/<?PANEL_NAME?>/<?TCL_PROC?>/<?RESERVED?>
  • /MODCHK/CORRECTION: Identifies the line as having information about a correction.
  • /<NAME>: The name/keyword of the correction. There needs to be a function related to this correction available with the same name. Most correction functions provided with the default config files are implemented in the core and cannot be viewed/modified. If specified as ModifyManually, this indicates that only a manual correction can be applied. See the CORRECTIONMODE syntax below for details. Provided corrections include:
    • Delete: Deletes the entity.
    • DeleteFreeNodes: Deletes free nodes.
  • <DISPLAY_NAME>: The display name that is shown in the GUI for this correction. This is currently not implemented and is reserved for possible future use.
  • <?SHORT_NAME?>: An optional short name for the check. This is currently not implemented and is reserved for possible future use.
  • /MODCHK/CORRECTIONMODE: When <NAME> is specified as ManuallyModify, this defines the manual correction type. The fields define the type of manual correction to apply. Only one type can be specified and all others must be empty or white space.
  • /<?ENTITY_TYPE?>: Launches the card editor with the selected entity and the specified ENTITY_TYPE name.
  • /<?PANEL_NAME?>: Launches the panel specified by PANEL_NAME.
  • <?TCL_PROC?>: Launches the specified Tcl procedure.
  • /<?RESERVED?>: Reserved for future use.

Comments

Any line beginning with a # sign is a comment line.
#=======================================

End

The last line of a config file defines the end of the configuration.
/END

Example

For this example, the interface entity in RADIOSS is used, which is supported as a GROUP entity. A warning check for the FRIC attribute value of an interface entity needs to be defined. The value must be greater than or equal to 0.2, and less than or equal to 0.4. The check only applies to TYPE7 and TYPE11 card images. The correction is a manual correction to take you to the card editor for the entity.
/MODCHK/CHECK/WARNING/AttributeValueRange/Groups
FRIC less than 0.2 or greater than 0.4 for interfaces
FRIC
/FILTER/CARD/TYPE7|TYPE11
/VALUE/WARNING/FRIC/0.2/LT
/VALUE/WARNING/FRIC/0.4/GT
/MODCHK/CORRECTION/ModifyManually
Modify Manually
/MODCHK/CORRECTIONMODE/groups/ / /
In this example, the Igap attribute is tested for the same entity as above. The value must be equal to either 0 or 2 or a warning is generated. Again, the check only applies to TYPE7 and TYPE11 card images. The correction is a manual correction to take you to the card editor for the entity.
/MODCHK/CHECK/WARNING/AttributeValueRange/Groups
IGAP is not equal to 0 or 2 for interfaces
IGAP
/FILTER/CARD/TYPE7|TYPE11
/VALUE/WARNING/Igap/0|2/NE
/MODCHK/CORRECTION/ModifyManually
Modify Manually
/MODCHK/CORRECTIONMODE/groups/ / /
In this example, multiple filters are specified so that only groups with card image TYPE7 or TYPE11 with an Igap attribute equal to 0 are considered. The GAP attribute is tested and its value must be less than 0.5 or a warning is generated. The correction is a manual correction to take you to the card editor for the entity.
/MODCHK/CHECK/WARNING/AttributeValueRange/Groups
GAP is greater than 0.5 for interfaces
Gap
/FILTER/CARD/TYPE7|TYPE11
/FILTER/Igap/0/EQ
/VALUE/WARNING/GAP/0.5/LT
/MODCHK/CORRECTION/ModifyManually
Modify Manually
/MODCHK/CORRECTIONMODE/groups/ / /
There also exists is the ability to specify an ERROR value check under certain conditions and a WARNING under others. For example, to specify that an error is generated when an attribute is less than 0.05 but only a warning if it's between 0.5 and 0.1:
/VALUE/ERROR/ATTRIBUTE_NAME/0.05/LT
/VALUE/WARNING/ATTRIBUTE_NAME/0.1/LT