[Mesa-users] Simple one zone nuclear burning call using MESA
Rob Farmer
robert.j.farmer37 at gmail.com
Fri Feb 18 20:51:51 UTC 2022
Hi,
This is prefaced that the one zone burn code is not well tested or used. If
something is not being used by star/ then there is likely a) bugs b) lack
of development c) things that no longer make sense.
>1. There are a load of pointers that are allocated on the module level
like xin, xin_copy, etc.
Yes we need to allocate things at runtime as we don't know the number of
isotopes or number of reactions until runtime.
> 2. net_1_zone_burn_const_density takes two external functions,
get_eos_info_for_burn_at_const_density and burn_finish_substep.
Lack of development. Though that has been cleaned up in recent versions of
mesa.
> 3. There is a lot of allocations and deallocation per call to nuclear
burning.
The only way to know if it's significant to your runtime is to profile the
code.
> 4. mod_one_zone_burn.f is a bit convoluted in how it runs. I am
wondering if there are any other recommendations for good implementation
nuclear burning networks that can be integrated into a hydrodynamic
code.
Have you looked at skynet
https://ui.adsabs.harvard.edu/abs/2017ApJS..233...18L/abstract ?
Prompted by this and other recent questions on using the one zone burn, I
will be removing the one zone burner for the next mesa release.
Rob
On Fri, 18 Feb 2022 at 20:56, Philip Chang via Mesa-users <
mesa-users at lists.mesastar.org> wrote:
> Hi All,
>
> Just wondering if anyone has any advice. I am working with a student
> integrating nuclear burning in my moving-mesh code, MANGA. I've
> previously integrated the mesa eos module into MANGA, e.g., compiling
> the mesa libraries and writing glue code to called the mesa libraries in
> MANGA. I now want to integrate the nuclear burning module in MESA into
> MANGA.
>
> The version of mesa that I am using is release 10398. I cannot upgrade
> yet as MESA moves from including crlibm to including crlibm in mesasdk
> release 12778, which causes issues with compilation and linking with MANGA.
>
> The mesa nuclear burning module will be called as a one zone burn at
> constant density per mesh point. As such I am using
> net/test/src/mod_one_zone_burn.f as the example. However, as I read it,
> I do not quite understand all the choices that was made it's
> development. Hopefully someone can answer some of the questions that I
> have.
>
> 1. There are a load of pointers that are allocated on the module level
> like xin, xin_copy, etc. It is not clear why they are declared as
> pointers rather than arrays outright. My guess is that size of the
> array is not necessarily known at compile time because you can use
> different networks. Is this correct?
>
> 2. net_1_zone_burn_const_density takes two external functions,
> get_eos_info_for_burn_at_const_density and burn_finish_substep.
> get_eos_for_burn_at_const_density explicitly uses the HELMHOLTZ eos,
> while burner_finish_substep using the mesa eos module. Is there a
> reason for the difference?
>
> 3. There is a lot of allocations and deallocation per call to nuclear
> burning. For instance, there is one allocation and deallocation per call
> to burner_finish_substep. This seems excessive to me. Usually
> allocation on the stack is much faster than allocation on the heap
> because of the (usually) expensive malloc call. I'm slightly concerned
> about the number of allocs in my MANGA code, as the usual usage for
> MANGA is running on a large node with 16-32+ threads per processes. As
> each thread will call the nuclear burning step simultaneously, I am
> concerned that the number of allocs will really slow the nuclear burning
> calls. Is this necessarily a major concern?
>
> 4. mod_one_zone_burn.f is a bit convoluted in how it runs. I am
> wondering if there are any other recommendations for good implementation
> nuclear burning networks that can be integrated into a hydrodynamic
> code. I have looked at Frank Timmes cococubed site which has aprox13.
> This is significantly simpler than mesa, but I know that it is not
> thread-safe, which is a necessity.
>
> Thanks.
>
> Cheers,
>
> Phil Chang
>
> _______________________________________________
> mesa-users at lists.mesastar.org
> https://lists.mesastar.org/mailman/listinfo/mesa-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20220218/51ec7b61/attachment.htm>
More information about the Mesa-users
mailing list