-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update the CDM halo construction in HaloMerger test problem #134
base: psidm
Are you sure you want to change the base?
Conversation
Since these two parts are small and both about the CDM halo construction, I implemented them in the same branch. Therefore, I have modified this PR and changed the title and description. |
example/test_problem/ELBDM/HaloMerger/Make_ParCloud_ExtPotTable.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ChunYen-Chen Thank you so much for your review. I have updated it accordingly.
example/test_problem/ELBDM/HaloMerger/Make_ParCloud_ExtPotTable.py
Outdated
Show resolved
Hide resolved
Updated to the latest psidm branch. |
[Part I.] Support adding the external potential for CDM halo construction
Why
The CDM halo is constructed using the
Par_EquilibriumIC
, which can construct the particle cloud with its velocity dispersion taking the external potential into account. Previously, in the HaloMerger test problem, this functionality was forced to be turned off internally because we didn't need it. However, in future applications (e.g., putting a particle cloud inside an FDM halo), we may need to construct the particle cloud in equilibrium with an external potential.Changes
HaloMerger_ParCloud_?_BuiltWithExtPot
inInput__TestProb_ParCloud
to decide whether to consider the external potential for constructing the particle cloud.HaloMerger_ParCloud_?_ExtPot_Filename
to provide the external potential table ifHaloMerger_ParCloud_?_BuiltWithExtPot
is on.Make_ParCloud_ExtPotTable.py
, to generate the example external potential table.Input__TestProb
).Verifications
Setups
python3 Make_ParCloud_ExtPotTable.py
OPT__EXT_POT = 1
inInput__Parameter
.Input__TestProb
Input__TestProb_ParCloud
Results
OPT__EXT_POT = 1
(left), and it will spread out ifOPT__EXT_POT = 0
(right).Issues
The current version of
Par_EquilibriumIC
has some limitations (e.g., the bins of the external potential table have to be the same as the density profile table) and potential bugs with the effect of external potential.[Part II.] Change the CDM halo density profile
Why
The CDM halo in the
HaloMerger
test problem is constructed from the given density profile.Previously, we used the formula
rho_0 * ( x**(-gamma) ) * ( ( 1.0+(x**alpha) )**( (gamma-beta)/alpha ) )
to fit the FDM halo without a soliton and construct the CDM halo.However, the density distribution of the CDM halo looks more extended than the FDM halo.
Although the differences are in the large-radius and small-density regions, it still makes the comparison of simulation results between CDM and FDM less straightforward.
Changes
Therefore, in this PR, we change the default CDM density profile to the density profile extracted from the FDM simulations.
In this way, the density distributions (especially at the large radius) look almost the same.
Density Projections
Density Profiles