← Back to team overview

team-galacticus team mailing list archive

[Bug 853559] Re: Floating exception when using non-instant merging of black holes

 

The problem arises (I think) when AGN feedback is active from multiple
AGN - which can happen when we don't merge black holes instantaneously.
Gas (+elements+angular momentum) is pushed to the cooling pipes by
cooling, and is then pulled back as AGN feedback occurs. If it takes two
(or more) AGN to pull back all of the gas then it is possible that there
will be some amount of angular momentum (and elements) left behind due
to rounding errors.

A sensible solution would be to record the amount of angular momentum
and elements pushed by cooling in addition to the mass pushed. Then, if
any of these reach zero, ensure that they all reach zero. Will probably
have to record also the original amount pushed since we don't want to
force all to zero if, for example, the original metal amount was zero
from the start.

** Changed in: galacticus/v0.9.0
       Status: Opinion => Confirmed

-- 
You received this bug notification because you are a member of Team
Galacticus, which is subscribed to v0.9.0.
https://bugs.launchpad.net/bugs/853559

Title:
  Floating exception when using non-instant merging of black holes

Status in Galacticus: A Semi-Analytic Model of Galaxy Formation:
  Confirmed
Status in Galacticus v0.9.0 series:
  Confirmed
Status in Galacticus v0.9.1 series:
  Confirmed

Bug description:
  The attached example crashes with a floating exception:

  Backtrace for this error:
   #0  /home/abenson/gcc-4.7/lib64/libgfortran.so.3[0x2b38478153b7]
   #1  /home/abenson/gcc-4.7/lib64/libgfortran.so.3[0x2b3847815d7f]
   #2  /lib64/libc.so.6[0x3c274302d0]
   #3  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x5C696E] in __star_formation_timescale_disks_dynamical_time_MOD_star_formation_timescale_disk_dynamical_time at star_formation.timescales.disks.dynamical_time.F90:152
   #4  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x5C857F] in __star_formation_timescales_disks_MOD_star_formation_timescale_disk at star_formation.timescales.disks.F90:164
   #5  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x5040A9] in __tree_node_methods_exponential_disk_MOD_exponential_disk_sfr at objects.tree_node.methods.disk.exponential.F90:1783
   #6  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x514536] in __tree_node_methods_exponential_disk_MOD_tree_node_disk_stellar_mass_rate_compute_exponential at objects.tree_node.methods.disk.exponential.F90:656
   #7  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x4D0036] in __merger_trees_MOD_tree_node_compute_derivatives at objects.tree_node.derivatives.inc:20
   #8  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x4D57D0] in tree_node_odes at objects.merger_trees.F90:605
   #9  /usr/local/lib/libgsl.so.0[0x2b384679590c]
   #10  /usr/local/lib/libgsl.so.0(gsl_odeiv_step_apply+0x25)[0x2b38467915b5]
   #11  /usr/local/lib/libgsl.so.0(gsl_odeiv_evolve_apply+0x18c)[0x2b384679112c]
   #12  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x755941] in __fgsl_MOD_fgsl_odeiv_evolve_apply
   #13  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x4BD8E2] in __ode_solver_MOD_ode_solve at numerical.ODE_solver.F90:132
   #14  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x4D608C] in __merger_trees_MOD_tree_node_evolve at objects.merger_trees.F90:537
   #15  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x4AB0FA] in __merger_trees_evolve_MOD_merger_tree_evolve_to at merger_trees.evolve.F90:232
   #16  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x47AD24] in __galacticus_tasks_evolve_tree_MOD_galacticus_task_evolve_tree._omp_fn.0 at galacticus.tasks.evolve_tree.F90:196
   #17  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x47A966] in __galacticus_tasks_evolve_tree_MOD_galacticus_task_evolve_tree at galacticus.tasks.evolve_tree.F90:150
   #18  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x47B094] in __galacticus_tasks_MOD_galacticus_task_do at galacticus.tasks.task_rules.inc:6
   #19  /home/abenson/Galacticus/v0.9.1/Galacticus.exe[0x466C6E] in galacticus at Galacticus.F90:101
  Floating exception

  Seems to be due to the use of a non-zero initial radius for black
  holes in galaxy mergers. Presumably affects v0.9.0 and later.

To manage notifications about this bug go to:
https://bugs.launchpad.net/galacticus/+bug/853559/+subscriptions