montepy.universe module#
Classes:
|
Class to represent an MCNP universe, but not handle the input directly. |
- class montepy.universe.Universe(number: int)#
Bases:
Numbered_MCNP_Object
Class to represent an MCNP universe, but not handle the input directly.
- Parameters:
number (int) – The number for the universe, must be ≥ 0
Methods:
claim
(cells)Take the given cells and move them into this universe, and out of their original universe.
clone
([starting_number, step])Create a new independent instance of this object with a new number.
format_for_mcnp_input
(mcnp_version)Creates a list of strings representing this MCNP_Object that can be written to file.
link_to_problem
(problem)Links the input to the parent problem for this input.
mcnp_str
([mcnp_version])Returns a string of this input as it would appear in an MCNP input file.
validate
()Validates that the object is in a usable state.
wrap_string_for_mcnp
(string, mcnp_version, ...)Wraps the list of the words to be a well formed MCNP input.
Attributes:
A generator of the cell objects in this universe.
The comments associated with this input if any.
A generator of the cells that use this universe.
Any comments that come before the beginning of the input proper.
The current number of the object that will be written out to a new input.
Original universe number from the input file.
A dictionary of the additional parameters for the object.
The trailing comments and padding of an input.
- static wrap_string_for_mcnp(string, mcnp_version, is_first_line, suppress_blank_end=True) list[str] #
Wraps the list of the words to be a well formed MCNP input.
multi-line inputs will be handled by using the indentation format, and not the “&” method.
- Parameters:
string (str) – A long string with new lines in it, that needs to be chunked appropriately for MCNP inputs
mcnp_version (tuple) – the tuple for the MCNP that must be formatted for.
is_first_line (bool) – If true this will be the beginning of an MCNP input. The first line will not be indented.
suppress_blank_end (bool) – Whether or not to suppress any blank lines that would be added to the end. Good for anywhere but cell modifiers in the cell block.
- Returns:
A list of strings that can be written to an input file, one item to a line.
- Return type:
list
- claim(cells)#
Take the given cells and move them into this universe, and out of their original universe.
Can be given a single Cell, a list of cells, or a Cells object.
- clone(starting_number=None, step=None)#
Create a new independent instance of this object with a new number.
This relies mostly on
copy.deepcopy
.Notes
If starting_number, or step are not specified
starting_number()
, andstep()
are used as default values, if this object is tied to a problem. For instance aMaterial
will useproblem.materials
default information. Otherwise1
will be used as default valuesAdded in version 0.5.0.
- Parameters:
starting_number (int) – The starting number to request for a new object number.
step (int) – the step size to use to find a new valid number.
- Returns:
a cloned copy of this object.
- Return type:
type(self)
- format_for_mcnp_input(mcnp_version: tuple[int]) list[str] #
Creates a list of strings representing this MCNP_Object that can be written to file.
- Parameters:
mcnp_version (tuple[int]) – The tuple for the MCNP version that must be exported to.
- Returns:
a list of strings for the lines that this input will occupy.
- Return type:
list
- link_to_problem(problem: MCNP_Problem)#
Links the input to the parent problem for this input.
This is done so that inputs can find links to other objects.
- Parameters:
problem (MCNP_Problem) – The problem to link this input to.
- mcnp_str(mcnp_version: tuple[int] = None)#
Returns a string of this input as it would appear in an MCNP input file.
..versionadded:: 1.0.0
- Parameters:
mcnp_version (tuple[int]) – The tuple for the MCNP version that must be exported to.
- Returns:
The string that would have been printed in a file
- Return type:
str
- validate()#
Validates that the object is in a usable state.
- property cells: Generator[Cell, None, None]#
A generator of the cell objects in this universe.
- Returns:
a generator returning every cell in this universe.
- Return type:
Generator
- property comments: list[PaddingNode]#
The comments associated with this input if any.
This includes all
C
comments before this card that aren’t part of another card, and any comments that are inside this card.- Returns:
a list of the comments associated with this comment.
- Return type:
list
- property filled_cells: Generator[Cell, None, None]#
A generator of the cells that use this universe.
- Returns:
an iterator of the Cell objects which use this universe as their fill.
- Return type:
Generator[Cell]
- property leading_comments: list[PaddingNode]#
Any comments that come before the beginning of the input proper.
- Returns:
the leading comments.
- Return type:
list
- property number#
The current number of the object that will be written out to a new input.
- Return type:
int
- property old_number#
Original universe number from the input file.
- property parameters: dict[str, str]#
A dictionary of the additional parameters for the object.
e.g.:
1 0 -1 u=1 imp:n=0.5
has the parameters{"U": "1", "IMP:N": "0.5"}
- Returns:
a dictionary of the key-value pairs of the parameters.
- Return type:
unknown
- Rytpe:
dict
- property trailing_comment: list[PaddingNode]#
The trailing comments and padding of an input.
Generally this will be blank as these will be moved to be a leading comment for the next input.
- Returns:
the trailing
c
style comments and intermixed padding (e.g., new lines)- Return type:
list