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.
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.
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.
!syntax description /Mesh/FileMesh style=color:green
Read a mesh from a file.
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.
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. |
!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.
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. |
!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.
!syntax children /Kernels/Diffusion
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.
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. |
!syntax list /Adaptivity
Complete Syntax List
!syntax complete level=3