montepy.universes module

class montepy.universes.Universes(objects=None, problem=None)

Bases: NumberedObjectCollection

A container of multiple Universe instances.

append(obj)

Appends the given object to the end of this collection.

Parameters:

obj (Numbered_MCNP_Object) – the object to add.

Raises:

NumberConflictError – if this object has a number that is already in use.

append_renumber(obj, step=1)

Appends the object, but will renumber the object if collision occurs.

This behaves like append, except if there is a number collision the object will be renumbered to an available number. The number will be incremented by step until an available number is found.

Parameters:
  • obj (Numbered_MCNP_Object) – The MCNP object being added to the collection.

  • step (int) – the incrementing step to use to find a new number.

Returns:

the number for the object.

Return type:

int

check_number(number)

Checks if the number is already in use, and if so raises an error.

Parameters:

number (int) – The number to check.

Raises:

NumberConflictError – if this number is in use.

clear()

Removes all objects from this collection.

extend(other_list)

Extends this collection with another list.

Parameters:

other_list (list) – the list of objects to add.

Raises:

NumberConflictError – if these items conflict with existing elements.

get(i: int, default=None) -> (<class 'montepy.numbered_mcnp_object.Numbered_MCNP_Object'>, None)

Get i if possible, or else return default.

Parameters:
  • i (int) – number of the object to get, not it’s location in the internal list

  • default (object) – value to return if not found

Return type:

Numbered_MCNP_Object

items() Generator[Tuple[int, Numbered_MCNP_Object], None, None]

Get iterator of the collections (number, object) pairs.

Return type:

tuple(int, MCNP_Object)

keys() Generator[int, None, None]

Get iterator of the collection’s numbers.

Return type:

int

Links the card to the parent problem for this card.

This is done so that cards can find links to other objects.

Parameters:

problem (MCNP_Problem) – The problem to link this card to.

next_number(step=1)

Get the next available number, based on the maximum number.

This works by finding the current maximum number, and then adding the stepsize to it.

Parameters:

step (int) – how much to increase the last number by

property numbers

A generator of the numbers being used.

Return type:

generator

property objects

Returns a shallow copy of the internal objects list.

The list object is a new instance, but the underlying objects are the same.

Return type:

list

pop(pos=-1)

Pop the final items off of the collection

Parameters:

pos (int) – The index of the element to pop from the internal list.

Returns:

the final elements

Return type:

Numbered_MCNP_Object

remove(delete)

Removes the given object from the collection.

Parameters:

delete (Numbered_MCNP_Object) – the object to delete

request_number(start_num=1, step=1)

Requests a new available number.

This method does not “reserve” this number. Objects should be immediately added to avoid possible collisions caused by shifting numbers of other objects in the collection.

Parameters:
  • start_num (int) – the starting number to check.

  • step (int) – the increment to jump by to find new numbers.

Returns:

an available number

Return type:

int

values() Generator[Numbered_MCNP_Object, None, None]

Get iterator of the collection’s objects.

Return type:

Numbered_MCNP_Object