[Developers] Infrastructure for initial data setup

Thomas Radke tradke at aei.mpg.de
Thu Oct 4 03:16:00 CDT 2007


Hi Erik,

I also support your suggestion to add such an ID infrastructure thorn.
Looking through the attached source code, I have two comments (only 
about minor things):

  1) The possible values for the keyword parameter
     InitBase::initial_data_setup_method don't need the word
     'init' again. I also suggest to use spaces rather than underscores
     as a delimiter (ie. "some levels" instead of "some_levels").

  2) Remove the empty thorn subdirectories 'par/' and 'test/'.

-- 
Cheers, Thomas.


Luca Baiotti wrote:
> Hi,
> 
> your proposal seems a good idea to me.
> 
> Luca.
> 
> 
> Erik Schnetter wrote:
> 
>>There is currently no infrastructure in Cactus which helps decide how to 
>>set up initial data.  With mesh refinement, there are several 
>>incompatible ways in which initial data thorns can set up initial data.  
>>Depending on this, evolution thorns may have to adapt, or mesh 
>>refinement drivers may schedule evolution differently.
>>
>>This lack of infrastructure leads to problems, since initial data 
>>thorns, evolution methods, and the Carpet mesh refinement driver are not 
>>well coordinated.  The user who writes parameter files has to know the 
>>behaviour of each of these, and then choose parameters so that these 
>>pieces work together correctly.  There is no entity in Cactus which 
>>knows how initial data should be set up, and which could provide error 
>>checking.  This leads to inconsistencies which are difficult to detect.
>>
>>I suggest to create a new thorn CactusBase/InitBase.  It would contain 
>>the following README:
>>
>>----------------------------------------
>>Specify how initial data are to be set up.  There are three
>>possibilities:
>>
>>1. The initial data thorn sets up data on one time level, while other
>>   time levels are scratch space.  The time evolution method must
>>   start up from a single time level.  (This is the default.)
>>
>>2. The initial data thorn sets up data on exactly one time level, and
>>   is called once for each active time level.  (This means that the
>>   initial data thorn can only access the current time level.)
>>
>>3. The initial data thorn sets up data on all active time levels.
>>   (This makes it necessary that the initial data thorn checks the
>>   number of active time levels.)
>>----------------------------------------
>>
>>Apart from this README, thorn InitBase would contain one restricted 
>>parameter "initial_data_setup_method" which allows users to choose the 
>>desired behaviour in the parameter file.  All initial data thorns, 
>>evolution methods, and drivers then have to check the value of this 
>>parameter, and either adapt their behaviour or signal an error.
>>
>>-erik
> 
> 
> _______________________________________________
> Developers mailing list
> Developers at cactuscode.org
> http://www.cactuscode.org/mailman/listinfo/developers
> 
> 



More information about the Developers mailing list