Skip to content

Commit

Permalink
Fixed various bugs with how default numbers are loaded.
Browse files Browse the repository at this point in the history
  • Loading branch information
MicahGale committed Nov 22, 2024
1 parent 0009c78 commit d3d1acc
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 11 deletions.
6 changes: 3 additions & 3 deletions montepy/cell.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def __init__(
self._complements = Cells()
super().__init__(input, self._parser, number)
if not input:
self._generate_default_tree()
self._generate_default_tree(number)
self._old_number = copy.deepcopy(self._tree["cell_num"])
self._number = self._tree["cell_num"]
mat_tree = self._tree["material"]
Expand Down Expand Up @@ -574,7 +574,7 @@ def _update_values(self):
for input_class, (attr, _) in self._INPUTS_TO_PROPERTY.items():
getattr(self, attr)._update_values()

def _generate_default_tree(self):
def _generate_default_tree(self, number: int = None):
material = syntax_node.SyntaxNode(
"material",
{
Expand All @@ -586,7 +586,7 @@ def _generate_default_tree(self):
self._tree = syntax_node.SyntaxNode(
"cell",
{
"cell_num": self._generate_default_node(int, None),
"cell_num": self._generate_default_node(int, number),
"material": material,
"geometry": None,
"parameters": syntax_node.ParametersNode(),
Expand Down
14 changes: 11 additions & 3 deletions montepy/data_inputs/data_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,18 @@ def __init__(
if input:
self.__split_name(input)
else:
input = copy.copy(input)
input.__class__ = _ClassifierInput
if input:
if isinstance(input, str):
input = _ClassifierInput(
input.split("\n"),
montepy.input_parser.block_type.BlockType.DATA,
)
else:
input = copy.copy(input)
input.__class__ = _ClassifierInput
super().__init__(input, self._classifier_parser)
self.__split_name(input)
if input:
self.__split_name(input)

@staticmethod
@abstractmethod
Expand Down
4 changes: 2 additions & 2 deletions montepy/data_inputs/material.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ def __init__(
self._material_components = {}
self._thermal_scattering = None
self._is_atom_fraction = True
self._number = self._generate_default_node(int, -1)
super().__init__(input, number)
super().__init__(input)
self._load_init_num(number)
if input:
num = self._input_number
self._old_number = copy.deepcopy(num)
Expand Down
4 changes: 2 additions & 2 deletions montepy/data_inputs/transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ def __init__(
number: int = None,
):
self._pass_through = pass_through
self._number = self._generate_default_node(int, -1)
self._old_number = self._generate_default_node(int, -1)
self._displacement_vector = np.array([])
self._rotation_matrix = np.array([])
self._is_in_degrees = False
self._is_main_to_aux = True
super().__init__(input, number)
super().__init__(input)
self._load_init_num(number)
if input:
words = self._tree["data"]
i = 0
Expand Down
3 changes: 3 additions & 0 deletions montepy/numbered_mcnp_object.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ def __init__(
):
self._number = self._generate_default_node(int, -1)
super().__init__(input, parser)
self._load_init_num(number)

def _load_init_num(self, number):
if number is not None:
if not isinstance(number, int):
raise TypeError(
Expand Down
2 changes: 1 addition & 1 deletion montepy/surfaces/surface.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ def __init__(
number: int = None,
):
self._BLOCK_TYPE = montepy.input_parser.block_type.BlockType.SURFACE
self._number = self._generate_default_node(int, -1)
super().__init__(input, self._parser, number)
self._periodic_surface = None
self._old_periodic_surface = self._generate_default_node(int, None)
Expand All @@ -46,7 +47,6 @@ def __init__(
self._is_white_boundary = False
self._surface_constants = []
self._surface_type = self._generate_default_node(str, None)
self._number = self._generate_default_node(int, -1)
self._modifier = self._generate_default_node(str, None)
# surface number
if input:
Expand Down

0 comments on commit d3d1acc

Please sign in to comment.