montepy.input_parser.syntax_node.ParametersNode#

class montepy.input_parser.syntax_node.ParametersNode#

Bases: SyntaxNodeBase

A node to hold the parameters, key-value pairs, for this input.

This behaves like a dictionary and is accessible by their key*

Note

How to access values.

The internal dictionary doesn’t use the full classifier directly, because some parameters should not be both allowed: e.g., fill and *fill. The key is a string that is all lower case, and only uses the classifiers prefix, and particles.

So to access a cell’s fill information you would run:

parameters["fill"]

And to access the n,p importance:

parameters["imp:n,p"]

Methods:

_delete_trailing_comment()

Deletes the trailing comment if any.

_grab_beginning_comment(extra_padding)

Consumes the provided comment, and moves it to the beginning of this node.

append(val[, is_default])

Append the node to this node.

check_for_graveyard_comments([...])

Checks if there is a graveyard comment that is preventing information from being part of the tree, and handles them.

flatten()

Flattens this tree structure into a list of leaves.

format()

Generate a string representing the tree's current state.

get_trailing_comment()

Get the trailing c style comments if any.

Attributes:

comments

A generator of all comments contained in this tree.

name

The name for the node.

nodes

The children nodes of this node.

_delete_trailing_comment()#

Deletes the trailing comment if any.

_grab_beginning_comment(extra_padding)#

Consumes the provided comment, and moves it to the beginning of this node.

Parameters:

extra_padding (list) – the padding comment to add to the beginning of this padding.

append(val, is_default=False)#

Append the node to this node.

This takes a syntax node, which requires the keys:

["classifier", "seperator", "data"]

Parameters:
  • val (SyntaxNode) – the parameter to append.

  • is_default (bool) – whether this parameter was added as a default tree not from the user.

check_for_graveyard_comments(has_following_input=False)#

Checks if there is a graveyard comment that is preventing information from being part of the tree, and handles them.

A graveyard comment is one that accidentally suppresses important information in the syntax tree.

For example:

imp:n=1 $ grave yard Vol=1

Should be:

imp:n=1 $ grave yard
Vol=1

These graveyards are handled by appending a new line, and the required number of continue spaces to the comment.

Added in version 0.4.0.

Parameters:

has_following_input (bool) – Whether there is another input (cell modifier) after this tree that should be continued.

Return type:

None

flatten()#

Flattens this tree structure into a list of leaves.

Added in version 0.4.0.

Returns:

a list of ValueNode and PaddingNode objects from this tree.

Return type:

list

format()#

Generate a string representing the tree’s current state.

Returns:

the MCNP representation of the tree’s current state.

Return type:

str

get_trailing_comment()#

Get the trailing c style comments if any.

Returns:

The trailing comments of this tree.

Return type:

list

property comments#

A generator of all comments contained in this tree.

Returns:

the comments in the tree.

Return type:

Generator

property name#

The name for the node.

Returns:

the node’s name.

Return type:

str

property nodes#

The children nodes of this node.

Returns:

a list of the nodes.

Return type:

list