montepy.input_parser.syntax_node.MaterialsNode#
- class montepy.input_parser.syntax_node.MaterialsNode(name)#
Bases:
SyntaxNodeBase
A node for representing isotopes and their concentration, and the material parameters.
This stores a list of tuples of ZAIDs and concentrations, or a tuple of a parameter.
Added in version 1.0.0: This was added as a more general version of
IsotopesNodes
.- Parameters:
name (str) – a name for labeling this node.
Methods:
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
()Append the node to this node.
append_nuclide
(isotope_fraction)Append the isotope fraction to this node.
append_param
(param)Append the parameter 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 the trailing
c
style comments if any.Attributes:
A generator of all comments contained in this tree.
The name for the node.
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()#
Append the node to this node.
- Parameters:
node (SyntaxNodeBase, str, None) – node
- append_nuclide(isotope_fraction)#
Append the isotope fraction to this node.
Added in version 1.0.0: Added to replace
append
- Parameters:
isotope_fraction (tuple) – the isotope_fraction to add. This must be a tuple from A Yacc production. This will consist of: the string identifying the Yacc production, a ValueNode that is the ZAID, and a ValueNode of the concentration.
- append_param(param)#
Append the parameter to this node.
Added in version 1.0.0: Added to replace
append
- Parameters:
param (ParametersNode) – the parameter to add to this node.
- 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