Modify

Opened 18 months ago

Last modified 3 months ago

#2042 review enhancement

new thorns for hydro analysis

Reported by: Frank Löffler Owned by:
Priority: optional Milestone:
Component: Other Version: development version
Keywords: parma Cc:

Description (last modified by Frank Löffler)

The LSU and Parma groups developed, and used for publications, a set of two thorns for analysis of hydro quantities, in particular for mode analysis. We would like to have those included in the Einstein Toolkit. We are aware that a few things are still missing for that (documentation, test suites), but before we go that extra step and create all of that, we want to be sure the following is seen as 'ok':

The main thorn (GRHydro_Analysis, _not_ to be specific to GRHydro, it only inherits hydrobase - could and should probably be renamed) does reductions of quite a few quantities. In practice, the memory required for this turned out to be a problem on some machines. These reductions are done at ANALYSIS, which means even telling Cactus to allocate/deallocate not once, globally, but instead doing that every time step does not help.

Thus, there is a second thorn, a utility thorn called 'TempPool'. It's task is nothing else than to provide an array of grid functions that are always allocated, but which can be used by other thorns for, e.g., reductions - and, and this is the interesting part - can be re-used by other thorns, for other reductions after that; within the same time step in ANALYSIS. This is how TempPool is used by GRHydro_Analysis.

TempPool is not tied to GRHydro_Analysis. Any other thorn can also request storage there, but there currently isn't another thorn doing so. It just seemed to good idea to split this functionality. The book keeping already now makes sure that the number of allocated grid functions is only as large as the maximum any thorn using it requests.

The relevant code can be found here:

https://bitbucket.org/GravityPR/prthorns/src

I'd like another developer to have a look and give input. Once/If this is deemed ok to be included on technical grounds, we will add the necessary documentation and test suites and make a proper proposal for inclusion.

Attachments (0)

Change History (6)

comment:1 Changed 18 months ago by Frank Löffler

Status: newreview

comment:2 Changed 18 months ago by Frank Löffler

Description: modified (diff)

comment:3 Changed 18 months ago by Frank Löffler

Description: modified (diff)

comment:4 Changed 18 months ago by Frank Löffler

Keywords: parma added

comment:5 Changed 10 months ago by Roland Haas

If there is interest by users other than authors in having such functionality then the code can be included if technically sound and meeting the other restrictions.

Frank: do you know of someone having interest in the thorns (other than the authors)? From the description they seem interesting (and I have people in mind that could find it useful) but I do not eg myself have a project where I would use them (so I do not qualify myself as "community interest").

Basically: someone needs to review them, one of the authors need to agree to maintain them, and this time spend should be justified by interest (see "the Einstein Toolkit components should be of current interest to the community." in http://einsteintoolkit.org/contribute.html).

comment:6 Changed 3 months ago by Roland Haas

Most thorns have been added, with the exception of TempPool and GRHydro_Analysis.

TempPool is listed on the wiki: https://docs.einsteintoolkit.org/et-docs/Thorns_we_know_of

GRHydro_Analysis does not have a description in the README file so I have not added it.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as review The ticket will remain with no owner.
Next status will be 'reviewed_ok'.
as The resolution will be set.
The resolution will be deleted.
to The owner will be changed from (none) to the specified user.
to The owner will be changed from (none) to the specified user.
The owner will be changed from (none) to anonymous.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.