AppSyntax Extension
The AppSyntax Extension defines the !syntax
markdown command, which contains various sub-commands for creating MOOSE specific links and tables within your markdown, each are explained below. Note, the examples below refer to documentation associated with Kernels and/or the Diffusion Kernel. This should be replaced by the syntax for the system or object being documented. The configuration options for the extension itself are listed in Table 1.
Table 1: Configuration options for the AppSyntax extension.
Key | Default | Description |
---|---|---|
inputs | [] | List of directories to interrogate for input files using an object. |
executable | None | The MOOSE application executable to use for generating syntax. |
hide | None | Dictionary of syntax to hide. |
alias | None | List of Dictionary of lists of syntax aliases. |
remove | None | List or Dictionary of lists of syntax to remove. |
includes | [] | List of include directories to investigate for class information. |
visible | set(['required', 'optional']) | Parameter groups to show as un-collapsed. |
disable | False | Disable running the MOOSE application executable and simply use place holder text. |
allow-test-objects | False | Enable the test objects. |
Class Description (!syntax description
)
The description
sub-command adds a paragraph with the content of InputParameters object class descriptions, which is added in the MOOSE application within the validParams
method. The available settings are included in Table 2.
Table 2: Available command settings for !syntax description
command.
Key | Default | Description |
---|---|---|
style | The style settings that are passed to rendered HTML tag. | |
syntax | None | The name of the syntax to extract. If the name of the syntax is the first item in the settings the 'syntax=' may be omitted, e.g., `!syntax parameters /Kernels/Diffusion`. |
class | The class settings to be passed to rendered HTML tag. | |
id | The class settings to be passed to the rendered tag. |
For example, the FileMesh object includes a validParams
function as shown in Listing 1. Notice, that the addClassDescription
method includes a short description of the object. To display this text the !syntax description
command is used followed by the MOOSE input file syntax for the object as in Example 1.
Example 1: Example use of the !syntax description
command.
!syntax description /Mesh/FileMesh style=color:green
Read a mesh from a file.
Listing 1: The validParams function from the FileMesh object.
template <>
InputParameters
validParams<FileMesh>()
{
InputParameters params = validParams<MooseMesh>();
params.addRequiredParam<MeshFileName>("file", "The name of the mesh file to read");
params.addClassDescription("Read a mesh from a file.");
return params;
}
(../moose/framework/src/mesh/FileMesh.C)Object Parameters (!syntax parameters
)
The parameters
sub-command provides a means for displaying the default input file syntax for an object as shown in Example 2. The available settings for the parameters commaond are shown in Table 3.
Table 3: Command settings for !syntax parameters
command.
Key | Default | Description |
---|---|---|
style | The style settings that are passed to rendered HTML tag. | |
hide | None | Space separated list of parameters to remove from output. |
groups | None | Space separated list of groups, in desired order, to output. |
show | None | Space separated list of parameters to display in output. |
class | The class settings to be passed to rendered HTML tag. | |
syntax | None | The name of the syntax to extract. If the name of the syntax is the first item in the settings the 'syntax=' may be omitted, e.g., `!syntax parameters /Kernels/Diffusion`. |
visible | None | Space separated list of parameter groups to display with un-collapsed sections. |
heading-level | 2 | Heading level for section title. |
id | The class settings to be passed to the rendered tag. | |
heading | Input Parameters | The heading title for the input parameters table, use 'None' to remove the heading. |
Example 2: Example of !syntax parameters
command.
!syntax parameters /Dampers/ConstantDamper
Input Parameters
Required Parameters
- dampingThe percentage (between 0 and 1) of the newton update to take.
C++ Type:double
Description:The percentage (between 0 and 1) of the newton update to take.
Optional Parameters
- min_damping0Minimum value of computed damping. Damping lower than this will result in an exception being thrown and cutting the time step
Default:0
C++ Type:double
Description:Minimum value of computed damping. Damping lower than this will result in an exception being thrown and cutting the time step
Advanced Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Description:Set the enabled status of the MooseObject.
Input Files (!syntax inputs
)
In many cases it is useful to know where in the examples, tutorials, or tests an object is utilized in an input file. Therefore, inputs
sub-command is defined. Example 3 lists all the input files that use include the ConstantDamper object and Table 4 provides the available settings for the inputs
command.
Table 4: Available command settings for !syntax inputs
commands.
Key | Default | Description |
---|---|---|
style | The style settings that are passed to rendered HTML tag. | |
class | The class settings to be passed to rendered HTML tag. | |
syntax | None | The name of the syntax to extract. If the name of the syntax is the first item in the settings the 'syntax=' may be omitted, e.g., `!syntax parameters /Kernels/Diffusion`. |
heading-level | 2 | Heading level for section title. |
id | The class settings to be passed to the rendered tag. | |
heading | Input Files | Heading to include for sections, use 'None' to remove the title. |
Example 3: Example use of the !syntax inputs
command.
!syntax inputs /Dampers/ConstantDamper
Child Objects (!syntax children
)
MOOSE is designed on the idea of inheritance, as such it is often useful to understand which classes inherit from another. The children
sub-command creates a list of all child classes of the given object, as shown in Example 4. The available settings for the children
command are provided below.
Example 4: Example use the the !syntax children
command.
!syntax children /Kernels/Diffusion
Table 5: Command settings for !syntax children
command.
Key | Default | Description |
---|---|---|
style | The style settings that are passed to rendered HTML tag. | |
class | The class settings to be passed to rendered HTML tag. | |
syntax | None | The name of the syntax to extract. If the name of the syntax is the first item in the settings the 'syntax=' may be omitted, e.g., `!syntax parameters /Kernels/Diffusion`. |
heading-level | 2 | Heading level for section title. |
id | The class settings to be passed to the rendered tag. | |
heading | Child Objects | Heading to include for sections, use 'None' to remove the title. |
Actions, Objects, and Systems (!syntax list
)
MOOSE is based on systems (e.g., Kernels), where each system contains a set of objects, actions, and subsystems that can be used within an input file block. It is desirable to list the available object for a given system, which is the reason behind the !syntax list
command. The available settings for this command are included in Table 6.
Table 6: Command settings for !syntax list
command.
Key | Default | Description |
---|---|---|
style | The style settings that are passed to rendered HTML tag. | |
subsystems | True | Include a list of sub system syntax in the output. |
actions | True | Include a list of Action objects in syntax. |
syntax | None | The name of the syntax to extract. If the name of the syntax is the first item in the settings the 'syntax=' may be omitted, e.g., `!syntax parameters /Kernels/Diffusion`. |
objects | True | Include a list of MooseObject objects in syntax. |
groups | None | List of groups (apps) to include in the complete syntax list. |
id | The class settings to be passed to the rendered tag. | |
class | The class settings to be passed to rendered HTML tag. |
Example 5: None
!syntax list /Adaptivity
Complete Syntax List
!syntax complete level=3