[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