Hi! I met a confusing problem, and I would like to express it step by step
I need to trace main progenitor branch of a given subhalo at z=0
Specifically, I care about the BH evolution.
I found that bh['count']=1 when $z\in [0.0, 1.30)$ or $z\in(1.30,5.85]$ (snapNum=14,15,16,...,40,41,42, 44,45,46,...99).
However, bh['count']=1 when $z=1.30$, snapNum=43.
I understand that when the BH seeds has not been implemented at high-z Universe (like z>5.85). But it is confusing that the BH disappears only at z=1.30.
Guan-Fu Liu
4 Mar
Additionally, I also checked all the progenitor subhaloes by setting onlyMPB=False and I still did not find any BH at z=1.30.
Dylan Nelson
5 Mar
Are you saying that, following the MPB of a subhalo, you see that the progenitor no longer has a SMBH for snap <= 43?
If so, what is the SMBH mass at snap 44? If it is near the seed mass, perhaps the SMBH was seeded then?
Guan-Fu Liu
6 Mar
No. The subhalo has a SMBH from snap=14 to snap=42 and from snap=44 to snap=99. Namely, the SMBH disappears at snap=43.
Guan-Fu Liu
6 Mar
The corresponding python script is as follows,
import illustris_python as il
import numpy as np
basePath = '/home/tnguser/sims.TNG/TNG50-1/output/'
startSnapNum=99
startID=516760
PartTypeIndex = {"gas":0, "dm":1, "Unused":2, "tracers":3, "stars":4, "BHs":5} # Mass Types
tree1 = il.sublink.loadTree(basePath, startSnapNum, startID,
fields=['SubfindID','SnapNum', 'SubhaloID',
'SubhaloMassType', 'NextProgenitorID',
'MainLeafProgenitorID',
'FirstProgenitorID'], onlyMPB=False)
for i, snapNum in enumerate(tree1['SnapNum']):
snapNum = tree1['SnapNum'][i]
subhaloID = tree1['SubfindID'][i]
num = len(np.where(tree1['SnapNum']==snapNum,)[0])
arr1 = (tree1['SubhaloMassType'][np.where(tree1['SnapNum']==snapNum,)[0]])[:,PartTypeIndex['BHs']]
print("There are %d progenitors at %d snapshot, %d BHs"%(num, snapNum, len(arr1[arr1>0])))
part of the output will be
Dylan Nelson
6 Mar
I see, is it the same SMBH, i.e. it simply looks missing at snap 43, or is it e.g. ejected from the halo at snap 42, such that by snap 44 a new SMBH (with mass near the seed mass) is placed?
Guan-Fu Liu
6 Mar
I think it is the same SMBH, which could be confirmed by its mass evolution.
The mass evolution goes as follows,
I would like to check that if it originates from some fly-by events.
Dylan Nelson
6 Mar
Then I suspect that at snap 43 a merger is in progress, and (possibly) because of the usual "switching problem" of Subfind, i.e. that it chooses for this one snapshot a different subhalo to be the central of the halo, that the MPB from SubLink jumps to the "wrong" subhalo (in fact, one that has no SMBH).
This "switching" is temporary and lasts for only one snapshot.
Probably if you plot stellar mass of the subhalo itself, you see a strange spike or dip at this one snapshot as well.
It is a scenario that can happen, and you'll have to handle it in your analysis, i.e. by identifying and excluding (or interpolating for) such snapshots.
Guan-Fu Liu
7 Mar
No spike nor dip was observed in the stellar mass. It is still confusing that when I check all the progenitor subhaloes at snap=43, there is still no BH found.
Dylan Nelson
7 Mar
Does a BH with the ID of the BH at snap 42 and/or 44 exist at snap 43 (anywhere in the box)?
Guan-Fu Liu
8 Mar
There is another subhalo that is very close to the main progenitor subhalo at snap=43, with a distance of about 0.03 ckpc. Therefore, this BH is assigned to this subhalo, not to the main progenitor one.
Dylan Nelson
8 Mar
I see, then it seems for your goal of tracing the evolutionary history the BH, you have found it, and can get its properties at snap 43.
This seems like a corner case, that could be added to a general purpose analysis routine (if the subhalo MPB has no SMBH at one snapshot, try to find it by ID across the snapshot globally).
Hi! I met a confusing problem, and I would like to express it step by step
Additionally, I also checked all the progenitor subhaloes by setting
onlyMPB=False
and I still did not find any BH at z=1.30.Are you saying that, following the MPB of a subhalo, you see that the progenitor no longer has a SMBH for snap <= 43?
If so, what is the SMBH mass at snap 44? If it is near the seed mass, perhaps the SMBH was seeded then?
No. The subhalo has a SMBH from snap=14 to snap=42 and from snap=44 to snap=99. Namely, the SMBH disappears at snap=43.
The corresponding python script is as follows,
part of the output will be
I see, is it the same SMBH, i.e. it simply looks missing at snap 43, or is it e.g. ejected from the halo at snap 42, such that by snap 44 a new SMBH (with mass near the seed mass) is placed?
I think it is the same SMBH, which could be confirmed by its mass evolution.

The mass evolution goes as follows,
I would like to check that if it originates from some fly-by events.
Then I suspect that at snap 43 a merger is in progress, and (possibly) because of the usual "switching problem" of Subfind, i.e. that it chooses for this one snapshot a different subhalo to be the central of the halo, that the MPB from SubLink jumps to the "wrong" subhalo (in fact, one that has no SMBH).
This "switching" is temporary and lasts for only one snapshot.
Probably if you plot stellar mass of the subhalo itself, you see a strange spike or dip at this one snapshot as well.
It is a scenario that can happen, and you'll have to handle it in your analysis, i.e. by identifying and excluding (or interpolating for) such snapshots.
No spike nor dip was observed in the stellar mass. It is still confusing that when I check all the progenitor subhaloes at snap=43, there is still no BH found.
Does a BH with the ID of the BH at snap 42 and/or 44 exist at snap 43 (anywhere in the box)?
There is another subhalo that is very close to the main progenitor subhalo at snap=43, with a distance of about 0.03 ckpc. Therefore, this BH is assigned to this subhalo, not to the main progenitor one.
I see, then it seems for your goal of tracing the evolutionary history the BH, you have found it, and can get its properties at snap 43.
This seems like a corner case, that could be added to a general purpose analysis routine (if the subhalo MPB has no SMBH at one snapshot, try to find it by ID across the snapshot globally).