MP-Gadget
5.0.1.dev1-76bc7d4726-dirty
|
routines for gas accretion onto black holes, and black hole mergers More...
#include <mpi.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <gsl/gsl_math.h>
#include <omp.h>
#include "physconst.h"
#include "cooling.h"
#include "gravity.h"
#include "densitykernel.h"
#include "treewalk.h"
#include "slotsmanager.h"
#include "blackhole.h"
#include "timestep.h"
#include "hydra.h"
#include "density.h"
#include "sfr_eff.h"
#include "winds.h"
#include "walltime.h"
Go to the source code of this file.
Classes | |
struct | BlackholeParams |
struct | TreeWalkQueryBHAccretion |
struct | TreeWalkResultBHAccretion |
struct | TreeWalkNgbIterBHAccretion |
struct | TreeWalkQueryBHDynfric |
struct | TreeWalkResultBHDynfric |
struct | TreeWalkNgbIterBHDynfric |
struct | TreeWalkQueryBHFeedback |
struct | TreeWalkResultBHFeedback |
struct | TreeWalkNgbIterBHFeedback |
struct | BHPriv |
Macros | |
#define | BH_GET_PRIV(tw) ((struct BHPriv *) (tw->priv)) |
#define | BHPOTVALUEINIT 1.0e29 |
Variables | |
struct BlackholeParams | blackhole_params |
routines for gas accretion onto black holes, and black hole mergers
Definition in file blackhole.c.
#define BH_GET_PRIV | ( | tw | ) | ((struct BHPriv *) (tw->priv)) |
Definition at line 201 of file blackhole.c.
#define BHPOTVALUEINIT 1.0e29 |
Definition at line 361 of file blackhole.c.
struct __attribute__ | ( | (__packed__) | ) |
Definition at line 60 of file blackhole.c.
References blackhole_params, and BlackholeParams::BlackHoleRepositionEnabled.
|
static |
Definition at line 374 of file blackhole.c.
References BOLTZMANN, GAMMA_MINUS1, HYDROGEN_MASSFRAC, and PROTONMASS.
Referenced by blackhole_feedback_ngbiter().
|
static |
Definition at line 1560 of file blackhole.c.
References blackhole_params, get_random_number(), BlackholeParams::MaxSeedBlackHoleMass, BlackholeParams::SeedBlackHoleMass, and BlackholeParams::SeedBlackHoleMassIndex.
Referenced by blackhole_make_one().
int BHGetRepositionEnabled | ( | void | ) |
Definition at line 60 of file blackhole.c.
Referenced by real_drift_particle().
void blackhole | ( | const ActiveParticles * | act, |
double | atime, | ||
Cosmology * | CP, | ||
ForceTree * | tree, | ||
const struct UnitSystem | units, | ||
FILE * | FdBlackHoles, | ||
FILE * | FdBlackholeDetails | ||
) |
Definition at line 516 of file blackhole.c.
References BHPriv::a3inv, ActiveParticles::ActiveParticle, BHPriv::atime, BHPriv::BH_accreted_BHMass, BHPriv::BH_accreted_Mass, BHPriv::BH_accreted_momentum, BHPriv::BH_accreted_Mtrack, BlackholeParams::BH_DynFrictionMethod, BHPriv::BH_Entropy, BHPriv::BH_FeedbackWeightSum, BHPriv::BH_SurroundingDensity, BHPriv::BH_SurroundingGasVel, BHPriv::BH_SurroundingParticles, BHPriv::BH_SurroundingRmsVel, BHPriv::BH_SurroundingVel, BhP, blackhole_accretion_copy(), blackhole_accretion_ngbiter(), blackhole_accretion_postprocess(), blackhole_accretion_preprocess(), blackhole_accretion_reduce(), blackhole_dynfric_copy(), blackhole_dynfric_haswork(), blackhole_dynfric_ngbiter(), blackhole_dynfric_postprocess(), blackhole_dynfric_reduce(), blackhole_feedback_copy(), blackhole_feedback_haswork(), blackhole_feedback_ngbiter(), blackhole_feedback_postprocess(), blackhole_feedback_reduce(), blackhole_params, collect_BH_info(), BHPriv::CP, CP, TreeWalk::ev_label, TreeWalk::fill, GRAVITY, TreeWalk::haswork, BHPriv::hubble, hubble_function(), slots_manager_type::info, BHPriv::KEflag, LIGHTCGS, message(), BHPriv::MgasEnc, BHPriv::MinPot, MPI_INT64, MPIU_Barrier, myfree, mymalloc, BHPriv::N_BH_swallowed, BHPriv::N_sph_swallowed, TreeWalk::ngbiter, TreeWalk::ngbiter_type_elsize, ActiveParticles::NumActiveParticle, BHPriv::NumDM, TreeWalk::postprocess, TreeWalk::preprocess, TreeWalk::priv, PROTONMASS, TreeWalk::query_type_elsize, TreeWalk::reduce, TreeWalk::repeatdisallowed, TreeWalk::result_type_elsize, SEC_PER_YEAR, slot_info::size, SlotsManager, SOLAR_MASS, BHPriv::SPH_SwallowID, ta_free, ta_malloc, THOMPSON, TreeWalk::tree, treewalk_build_queue(), treewalk_run(), treewalk_visit_ngbiter(), UnitSystem::UnitMass_in_g, BHPriv::units, UnitSystem::UnitTime_in_s, BHPriv::V1sumDM, BHPriv::V2sumDM, TreeWalk::visit, walltime_measure, TreeWalk::WorkSet, and TreeWalk::WorkSetSize.
Referenced by run().
|
static |
Definition at line 1492 of file blackhole.c.
References TreeWalkQueryBHAccretion::Accel, TreeWalkQueryBHAccretion::BH_Mass, BHP, TreeWalkQueryBHAccretion::Density, TreeWalkQueryBHAccretion::Hsml, TreeWalkQueryBHAccretion::ID, TreeWalkQueryBHAccretion::Mass, TreeWalkQueryBHAccretion::Mtrack, P, and TreeWalkQueryBHAccretion::Vel.
Referenced by blackhole().
|
static |
Definition at line 1063 of file blackhole.c.
References TreeWalkQueryBHAccretion::Accel, TreeWalkNgbIterBHAccretion::accretion_kernel, TreeWalkQueryBHAccretion::base, TreeWalkNgbIterBHAccretion::base, BH_FEEDBACK_MASS, BH_FEEDBACK_OPTTHIN, BH_FEEDBACK_SPLINE, BH_GET_PRIV, TreeWalkQueryBHAccretion::BH_Mass, TreeWalkResultBHAccretion::BH_MinPot, TreeWalkResultBHAccretion::BH_MinPotPos, TreeWalkResultBHAccretion::BH_MinPotVel, TreeWalkResultBHAccretion::BH_minTimeBin, BHP, BHPOTVALUEINIT, blackhole_params, BlackholeParams::BlackHoleFeedbackMethod, BlackholeParams::BlackHoleKineticOn, BlackholeParams::BlackHoleRepositionEnabled, part_manager_type::BoxSize, check_grav_bound(), TreeWalkQueryBHAccretion::Density, density_kernel_init(), density_kernel_wk(), TreeWalkResultBHAccretion::encounter, TreeWalkNgbIterBHAccretion::feedback_kernel, TreeWalkResultBHAccretion::FeedbackWeightSum, FORCE_SOFTENING(), TreeWalkResultBHAccretion::GasVel, get_neutral_fraction_sfreff(), get_random_number(), GetDensityKernelType(), HAS, DensityKernel::Hinv, TreeWalkQueryBHAccretion::Hsml, TreeWalkNgbIterBase::Hsml, TreeWalkQueryBHAccretion::ID, TreeWalkNgbIterBase::mask, TreeWalkQueryBHAccretion::Mass, BlackholeParams::MergeGravBound, TreeWalkResultBHAccretion::MgasEnc, TreeWalkQueryBHAccretion::Mtrack, NEAREST, NGB_TREEFIND_ASYMMETRIC, TreeWalkResultBHAccretion::NumDM, TreeWalkNgbIterBase::other, P, PartManager, TreeWalkQueryBase::Pos, TreeWalkNgbIterBase::r, TreeWalkNgbIterBase::r2, BlackholeParams::SeedBHDynMass, TreeWalkResultBHAccretion::SmoothedEntropy, BHPriv::SPH_SwallowID, SPHP, TreeWalkNgbIterBase::symmetric, TIMEBINS, LocalTreeWalk::tw, TreeWalkResultBHAccretion::V1sumDM, TreeWalkResultBHAccretion::V2sumDM, TreeWalkQueryBHAccretion::Vel, winds_is_particle_decoupled(), and wk.
Referenced by blackhole().
|
static |
Definition at line 905 of file blackhole.c.
References BHPriv::atime, BlackholeParams::BH_DRAG, BHPriv::BH_Entropy, BH_GET_PRIV, BHPriv::BH_SurroundingGasVel, BlackholeParams::BHKE_EddingtonMFactor, BlackholeParams::BHKE_EddingtonMIndex, BlackholeParams::BHKE_EddingtonMPivot, BlackholeParams::BHKE_EddingtonThrFactor, BlackholeParams::BHKE_EffCap, BlackholeParams::BHKE_EffRhoFactor, BlackholeParams::BHKE_InjEnergyThr, BlackholeParams::BHKE_SfrCritOverDensity, BHP, blackhole_params, blackhole_soundspeed(), BlackholeParams::BlackHoleAccretionFactor, BlackholeParams::BlackHoleEddingtonFactor, BlackholeParams::BlackHoleKineticOn, CP, get_dloga_for_bin(), GRAVITY, Cosmology::Hubble, LIGHTCGS, P, PROTONMASS, THOMPSON, BHPriv::units, UnitSystem::UnitVelocity_in_cm_per_s, and BHPriv::V1sumDM.
Referenced by blackhole().
|
static |
Definition at line 1017 of file blackhole.c.
References BH_GET_PRIV, BHP, and P.
Referenced by blackhole().
|
static |
Definition at line 1457 of file blackhole.c.
References BHPriv::BH_Entropy, BHPriv::BH_FeedbackWeightSum, BH_GET_PRIV, TreeWalkResultBHAccretion::BH_MinPot, TreeWalkResultBHAccretion::BH_MinPotPos, TreeWalkResultBHAccretion::BH_MinPotVel, TreeWalkResultBHAccretion::BH_minTimeBin, BHPriv::BH_SurroundingGasVel, BHP, blackhole_params, BlackholeParams::BlackHoleRepositionEnabled, TreeWalkResultBHAccretion::encounter, TreeWalkResultBHAccretion::FeedbackWeightSum, TreeWalkResultBHAccretion::GasVel, TreeWalkResultBHAccretion::MgasEnc, BHPriv::MgasEnc, BHPriv::MinPot, TreeWalkResultBHAccretion::NumDM, BHPriv::NumDM, P, TreeWalkResultBHAccretion::SmoothedEntropy, TREEWALK_REDUCE, BHPriv::V1sumDM, TreeWalkResultBHAccretion::V1sumDM, TreeWalkResultBHAccretion::V2sumDM, and BHPriv::V2sumDM.
Referenced by blackhole().
|
static |
Definition at line 859 of file blackhole.c.
References TreeWalkQueryBHDynfric::Hsml, and P.
Referenced by blackhole().
|
static |
Definition at line 840 of file blackhole.c.
References P.
Referenced by blackhole().
|
static |
Definition at line 866 of file blackhole.c.
References TreeWalkNgbIterBHDynfric::base, BlackholeParams::BH_DynFrictionMethod, blackhole_params, density_kernel_init(), density_kernel_wk(), TreeWalkNgbIterBHDynfric::dynfric_kernel, GetDensityKernelType(), DensityKernel::Hinv, TreeWalkQueryBHDynfric::Hsml, TreeWalkNgbIterBase::Hsml, TreeWalkNgbIterBase::mask, NGB_TREEFIND_ASYMMETRIC, TreeWalkNgbIterBase::other, P, TreeWalkNgbIterBase::r, TreeWalkNgbIterBase::r2, TreeWalkResultBHDynfric::SurroundingDensity, TreeWalkResultBHDynfric::SurroundingParticles, TreeWalkResultBHDynfric::SurroundingRmsVel, TreeWalkResultBHDynfric::SurroundingVel, TreeWalkNgbIterBase::symmetric, and wk.
Referenced by blackhole().
|
static |
Definition at line 757 of file blackhole.c.
References BHPriv::atime, BlackholeParams::BH_DFbmax, BlackholeParams::BH_DFBoostFactor, BH_GET_PRIV, BHPriv::BH_SurroundingDensity, BHPriv::BH_SurroundingParticles, BHPriv::BH_SurroundingRmsVel, BHPriv::BH_SurroundingVel, BHP, blackhole_params, message(), and P.
Referenced by blackhole().
|
static |
Definition at line 846 of file blackhole.c.
References BH_GET_PRIV, BHPriv::BH_SurroundingDensity, BHPriv::BH_SurroundingParticles, BHPriv::BH_SurroundingRmsVel, BHPriv::BH_SurroundingVel, P, TreeWalkResultBHDynfric::SurroundingDensity, TreeWalkResultBHDynfric::SurroundingParticles, TreeWalkResultBHDynfric::SurroundingRmsVel, TreeWalkResultBHDynfric::SurroundingVel, and TREEWALK_REDUCE.
Referenced by blackhole().
|
static |
Definition at line 1516 of file blackhole.c.
References BH_GET_PRIV, TreeWalkQueryBHFeedback::BH_Mass, BHP, blackhole_params, BlackholeParams::BlackHoleFeedbackFactor, BlackholeParams::BlackHoleKineticOn, TreeWalkQueryBHFeedback::Density, TreeWalkQueryBHFeedback::FdbkChannel, TreeWalkQueryBHFeedback::FeedbackEnergy, TreeWalkQueryBHFeedback::FeedbackWeightSum, get_dloga_for_bin(), TreeWalkQueryBHFeedback::Hsml, TreeWalkQueryBHFeedback::ID, TreeWalkQueryBHFeedback::KEFeedbackEnergy, BHPriv::KEflag, LIGHTCGS, TreeWalkQueryBHFeedback::Mtrack, P, BHPriv::units, and UnitSystem::UnitVelocity_in_cm_per_s.
Referenced by blackhole().
|
static |
Definition at line 1509 of file blackhole.c.
Referenced by blackhole().
|
static |
perform blackhole swallow / merger;
Definition at line 1278 of file blackhole.c.
References TreeWalkResultBHFeedback::AccretedMomentum, TreeWalkResultBHFeedback::acMtrack, add_injected_BH_energy(), TreeWalkNgbIterBHFeedback::base, TreeWalkResultBHFeedback::BH_CountProgs, BH_FEEDBACK_MASS, BH_FEEDBACK_SPLINE, BH_GET_PRIV, TreeWalkResultBHFeedback::BH_Mass, BHP, blackhole_params, BlackholeParams::BlackHoleFeedbackMethod, TreeWalkQueryBHFeedback::Density, density_kernel_init(), density_kernel_wk(), DMAX, endrun(), TreeWalkQueryBHFeedback::FdbkChannel, TreeWalkNgbIterBHFeedback::feedback_kernel, TreeWalkQueryBHFeedback::FeedbackEnergy, TreeWalkQueryBHFeedback::FeedbackWeightSum, GAMMA_MINUS1, get_random_dir(), GetDensityKernelType(), HAS, DensityKernel::Hinv, TreeWalkQueryBHFeedback::Hsml, TreeWalkNgbIterBase::Hsml, TreeWalkQueryBHFeedback::ID, TreeWalkQueryBHFeedback::KEFeedbackEnergy, TreeWalkNgbIterBase::mask, TreeWalkResultBHFeedback::Mass, TreeWalkQueryBHFeedback::Mtrack, NGB_TREEFIND_SYMMETRIC, TreeWalkNgbIterBase::other, P, PartManager, TreeWalkNgbIterBase::r, TreeWalkNgbIterBase::r2, BlackholeParams::SeedBHDynMass, sfreff_on_eeqos(), slots_mark_garbage(), SlotsManager, BHPriv::SPH_SwallowID, SPHP, TreeWalkNgbIterBase::symmetric, LocalTreeWalk::tw, winds_is_particle_decoupled(), and wk.
Referenced by blackhole().
|
static |
Definition at line 1029 of file blackhole.c.
References BHPriv::BH_accreted_BHMass, BHPriv::BH_accreted_Mass, BHPriv::BH_accreted_momentum, BH_GET_PRIV, BHP, blackhole_params, BHPriv::KEflag, P, and BlackholeParams::SeedBHDynMass.
Referenced by blackhole().
|
static |
Definition at line 1543 of file blackhole.c.
References TreeWalkResultBHFeedback::AccretedMomentum, TreeWalkResultBHFeedback::acMtrack, BHPriv::BH_accreted_BHMass, BHPriv::BH_accreted_Mass, BHPriv::BH_accreted_momentum, BHPriv::BH_accreted_Mtrack, TreeWalkResultBHFeedback::BH_CountProgs, BH_GET_PRIV, TreeWalkResultBHFeedback::BH_Mass, BHP, TreeWalkResultBHFeedback::Mass, P, and TREEWALK_REDUCE.
Referenced by blackhole().
void blackhole_make_one | ( | int | index, |
const double | atime | ||
) |
Definition at line 1576 of file blackhole.c.
References BHPriv::atime, bh_powerlaw_seed_mass(), BHP, blackhole_params, endrun(), BlackholeParams::MaxSeedBlackHoleMass, P, PartManager, BlackholeParams::SeedBHDynMass, BlackholeParams::SeedBlackHoleMass, slots_convert(), and SlotsManager.
Referenced by fof_seed_make_one().
|
static |
Definition at line 363 of file blackhole.c.
References GAMMA, and GAMMA_MINUS1.
Referenced by blackhole_accretion_postprocess().
|
static |
Definition at line 400 of file blackhole.c.
Referenced by blackhole_accretion_ngbiter().
|
static |
Definition at line 423 of file blackhole.c.
References BHPriv::atime, BHPriv::BH_accreted_BHMass, BHPriv::BH_accreted_Mass, BHPriv::BH_accreted_momentum, BHPriv::BH_Entropy, BHPriv::BH_FeedbackWeightSum, BHPriv::BH_SurroundingDensity, BHPriv::BH_SurroundingGasVel, BHPriv::BH_SurroundingParticles, BHPriv::BH_SurroundingRmsVel, BHPriv::BH_SurroundingVel, BHP, part_manager_type::CurrentParticleOffset, BHPriv::KEflag, message(), BHPriv::MgasEnc, BHPriv::MinPot, myfree, mymalloc, BHPriv::NumDM, P, PartManager, report_memory_usage, BHPriv::SPH_SwallowID, sumup_large_ints(), BHPriv::V1sumDM, and BHPriv::V2sumDM.
Referenced by blackhole().
|
static |
Definition at line 386 of file blackhole.c.
References get_random_number(), and P.
Referenced by blackhole_feedback_ngbiter().
void set_blackhole_params | ( | ParameterSet * | ps | ) |
Definition at line 257 of file blackhole.c.
References BlackholeParams::BH_DFbmax, BlackholeParams::BH_DFBoostFactor, BlackholeParams::BH_DRAG, BlackholeParams::BH_DynFrictionMethod, BlackholeParams::BHKE_EddingtonMFactor, BlackholeParams::BHKE_EddingtonMIndex, BlackholeParams::BHKE_EddingtonMPivot, BlackholeParams::BHKE_EddingtonThrFactor, BlackholeParams::BHKE_EffCap, BlackholeParams::BHKE_EffRhoFactor, BlackholeParams::BHKE_InjEnergyThr, BlackholeParams::BHKE_SfrCritOverDensity, blackhole_params, BlackholeParams::BlackHoleAccretionFactor, BlackholeParams::BlackHoleEddingtonFactor, BlackholeParams::BlackHoleFeedbackFactor, BlackholeParams::BlackHoleFeedbackMethod, BlackholeParams::BlackHoleKineticOn, BlackholeParams::BlackHoleRepositionEnabled, BlackholeParams::MaxSeedBlackHoleMass, BlackholeParams::MergeGravBound, param_get_double(), param_get_enum(), param_get_int(), BlackholeParams::SeedBHDynMass, BlackholeParams::SeedBlackHoleMass, BlackholeParams::SeedBlackHoleMassIndex, and ThisTask.
Referenced by read_parameter_file().
struct BlackholeParams blackhole_params |
Referenced by __attribute__(), bh_powerlaw_seed_mass(), blackhole(), blackhole_accretion_ngbiter(), blackhole_accretion_postprocess(), blackhole_accretion_reduce(), blackhole_dynfric_ngbiter(), blackhole_dynfric_postprocess(), blackhole_feedback_copy(), blackhole_feedback_ngbiter(), blackhole_feedback_postprocess(), blackhole_make_one(), and set_blackhole_params().