1
0
Fork 0
mirror of https://github.com/cosmo-sims/monofonIC.git synced 2024-09-19 17:03:45 +02:00

Edited main.c to receive the descriptor and particle load grid,

and to choose the correct relative level for the Panphasia field.
This commit is contained in:
Adrian Jenkins 2021-05-11 14:51:53 +01:00
parent 974900dc81
commit 5a7aeffabe
3 changed files with 12 additions and 5 deletions

View file

@ -729,7 +729,7 @@ int demo_descriptor_()
return (0);
};
int PANPHASIA_init_descriptor_(char *descriptor, int *verbose)
int PANPHASIA_init_descriptor_(const char *descriptor, int *verbose)
{
int error;
int verb;

View file

@ -18,7 +18,7 @@ int number_omp_threads = 1;
#endif
// does the same as the main below, but does not initialise MPI or FFTW (this should be done in MONOFONIC)
int PANPHASIA_HO_main(void)
int PANPHASIA_HO_main(const char *descriptor, size_t *ngrid_load)
{
int verbose = 0;
int error;
@ -26,11 +26,18 @@ int PANPHASIA_HO_main(void)
size_t rel_level;
int fdim=1; //Option to scale Fourier grid dimension relative to Panphasia coefficient grid
char descriptor[300] = "[Panph6,L20,(424060,82570,148256),S1,KK0,CH-999,Auriga_100_vol2]";
//char descriptor[300] = "[Panph6,L20,(424060,82570,148256),S1,KK0,CH-999,Auriga_100_vol2]";
PANPHASIA_init_descriptor_(descriptor, &verbose);
rel_level = 6; //Set size of test dataset
printf("Descriptor %s\n ngrid_load %llu\n",descriptor,*ngrid_load);
// Choose smallest value of level to equal of exceed *ngrid_load)
for (rel_level=0; fdim*(descriptor_base_size<<(rel_level+1))<=*ngrid_load; rel_level++);
printf("Setting relative level = %llu\n",rel_level);
if (error = PANPHASIA_init_level_(&rel_level, &x0, &y0, &z0, &verbose))
{

View file

@ -54,7 +54,7 @@ void return_root_legendre_coefficients_(PAN_REAL *root);
int parse_and_validate_descriptor_(const char *, int *);
int demo_descriptor_();
long long int compute_check_digit_();
int PANPHASIA_init_descriptor_(char *descriptor, int *verbose);
int PANPHASIA_init_descriptor_(const char *descriptor, int *verbose);
int PANPHASIA_init_level_(size_t *oct_level, size_t *rel_orig_x, size_t *rel_orig_y,size_t *rel_orig_z,int *verbose);