| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mg_t), | intent(inout) | :: | mg | |||
| integer, | intent(in) | :: | id |
Id of box that gets children |
||
| integer, | intent(in) | :: | n_boxes_lvl |
subroutine add_single_child(mg, id, n_boxes_lvl) type(mg_t), intent(inout) :: mg integer, intent(in) :: id !< Id of box that gets children integer, intent(in) :: n_boxes_lvl integer :: lvl, c_id c_id = mg%n_boxes + 1 mg%n_boxes = mg%n_boxes + 1 mg%boxes(id)%children(1) = c_id lvl = mg%boxes(id)%lvl+1 mg%boxes(c_id)%rank = mg%boxes(id)%rank mg%boxes(c_id)%ix = mg%boxes(id)%ix mg%boxes(c_id)%lvl = lvl mg%boxes(c_id)%parent = id mg%boxes(c_id)%children = mg_no_box where (mg%boxes(id)%neighbors == mg_physical_boundary) mg%boxes(c_id)%neighbors = mg%boxes(id)%neighbors elsewhere mg%boxes(c_id)%neighbors = mg%boxes(id)%neighbors + n_boxes_lvl end where mg%boxes(c_id)%r_min = mg%boxes(id)%r_min mg%boxes(c_id)%dr(:) = mg%dr(:, lvl) end subroutine add_single_child