extern void cubepm_prettyPrint(const cubepm_t cubepm, const char *prefix, FILE *f) { assert(f != NULL); const char *actPref = (prefix == NULL) ? "" : prefix; fprintf(f, "%s\n%sGeneral Information:\n", actPref, actPref); fprintf(f, "%s Number of files : %i\n", actPref, cubepm->numFiles); fprintf(f, "%s File Endianess : %s\n", actPref, endian_toString(cubepm->fileEndianess)); fprintf(f, "%s Last opened : %i\n", actPref, cubepm->lastOpened); fprintf(f, "%s Offset of last file : (%g,%g,%g)\n", actPref, cubepm->fileCoordOffset[0], cubepm->fileCoordOffset[1], cubepm->fileCoordOffset[2]); fprintf(f, "%s Total numer of particles: %" PRIu64 "\n", actPref, cubepm_calcTotalNumParts(cubepm)); fprintf(f, "%s\n%sGeneral Header Data:\n", actPref, actPref); fprintf(f, "%s a : %g (z = %g)\n", actPref, cubepm->a, 1. / (cubepm->a) - 1.); fprintf(f, "%s t : %g\n", actPref, cubepm->t); fprintf(f, "%s tau : %g\n", actPref, cubepm->tau); fprintf(f, "%s nts : %i\n", actPref, cubepm->nts); fprintf(f, "%s dt_f_acc : %g\n", actPref, cubepm->dt_f_acc); fprintf(f, "%s dt_pp_acc : %g\n", actPref, cubepm->dt_pp_acc); fprintf(f, "%s dt_c_acc : %g\n", actPref, cubepm->dt_c_acc); fprintf(f, "%s cur_checkpoint: %i\n", actPref, cubepm->cur_checkpoint); fprintf(f, "%s cur_projection: %i\n", actPref, cubepm->cur_projection); fprintf(f, "%s cur_halofind : %i\n", actPref, cubepm->cur_halofind); fprintf(f, "%s mass_p : %g\n", actPref, cubepm->mass_p); fprintf(f, "%s omega0 : %g\n", actPref, cubepm->omega0); fprintf(f, "%s lambda0 : %g\n", actPref, cubepm->lambda0); fprintf(f, "%s boxsize : %g Mpc/h\n", actPref, cubepm->boxsize); fprintf(f, "%s nodesDim : %i\n", actPref, cubepm->nodesDim); fprintf(f, "%s ngrid : %i\n", actPref, cubepm->ngrid); fprintf(f, "%s\n%sConversion Factors:\n", actPref, actPref); fprintf(f, "%s position to Mpc/h : %g\n", actPref, cubepm_calcFactorFilePositionToMpch(cubepm)); fprintf(f, "%s velocity to km/s : %g\n", actPref, cubepm_calcFactorFileVelocityToKms(cubepm)); fprintf(f, "%s mass of particles in M_sun/h: %g\n\n", actPref, cubepm_calcFactorParticleMassInMsunh(cubepm)); for (int i = 0; i < cubepm->numFiles; i++) { double offset[3]; local_calculateFileCoordOffset(i, cubepm->nodesDim, cubepm->ngrid, offset); fprintf(f, "%s%s:\n", actPref, cubepm->fileNames[i]); fprintf(f, "%s np_local: %i\n", actPref, cubepm->np_local[i]); fprintf(f, "%s offset : (%g,%g,%g)\n", actPref, offset[0], offset[1], offset[2]); } } /* cubepm_prettyPrint */
extern void artHeader_prettyPrint(const artHeader_t header, const char *prefix, FILE *f) { const char *actualPrefix = (prefix == NULL) ? "" : prefix; fprintf(f, "%s\n%sHeader values:\n", actualPrefix, actualPrefix); fprintf(f, "%s headerString: %s\n", actualPrefix, header->headerString); fprintf(f, "%s aexpn : %f\n", actualPrefix, header->aexpn); fprintf(f, "%s aexp0 : %f\n", actualPrefix, header->aexp0); fprintf(f, "%s amplt : %f\n", actualPrefix, header->amplt); fprintf(f, "%s astep : %f\n", actualPrefix, header->astep); fprintf(f, "%s istep : %i\n", actualPrefix, header->istep); fprintf(f, "%s partw : %f\n", actualPrefix, header->partw); fprintf(f, "%s tintg : %f\n", actualPrefix, header->tintg); fprintf(f, "%s ekin : %f\n", actualPrefix, header->ekin); fprintf(f, "%s ekin1 : %f\n", actualPrefix, header->ekin1); fprintf(f, "%s ekin2 : %f\n", actualPrefix, header->ekin2); fprintf(f, "%s au0 : %f\n", actualPrefix, header->au0); fprintf(f, "%s aeu0 : %f\n", actualPrefix, header->aeu0); fprintf(f, "%s nrowc : %i\n", actualPrefix, header->nrowc); fprintf(f, "%s ngridc : %i\n", actualPrefix, header->ngridc); fprintf(f, "%s nspecies : %i\n", actualPrefix, header->nspecies); fprintf(f, "%s nseed : %i\n", actualPrefix, header->nseed); fprintf(f, "%s Om0 : %f\n", actualPrefix, header->Om0); fprintf(f, "%s Oml0 : %f\n", actualPrefix, header->Oml0); fprintf(f, "%s hubble : %f\n", actualPrefix, header->hubble); fprintf(f, "%s wp5 : %f\n", actualPrefix, header->wp5); fprintf(f, "%s Ocurv : %f\n", actualPrefix, header->Ocurv); for (int i = 0; i < header->nspecies; i++) fprintf(f, "%s wspecies[%1i] : %f (%g M_sun/h)\n", actualPrefix, i, header->wspecies[i], header->wspecies[i] * header->factorFileWeightToMsunh); for (int i = 0; i < header->nspecies; i++) fprintf(f, "%s lspecies[%1i] : %" PRIi64 "\n", actualPrefix, i, header->lspecies[i]); fprintf(f, "%s boxsize : %f (extras[%2i])\n", actualPrefix, header->extras[ARTHEADER_EXTRA_POS_BOXSIZE], ARTHEADER_EXTRA_POS_BOXSIZE); fprintf(f, "%s extras[%2i] : %f\n", actualPrefix, 0, header->extras[0]); for (int i = 1; i < 100; i++) { if (islessgreater(header->extras[i], header->extras[i - 1])) fprintf(f, "%s extras[%2i] : %f\n", actualPrefix, i, header->extras[i]); } fprintf(f, "%s\n%sConversion factors\n", actualPrefix, actualPrefix); fprintf(f, "%s weights to M_sun/h: %g\n", actualPrefix, header->factorFileWeightToMsunh); fprintf(f, "%s position to Mpc/h : %g\n", actualPrefix, header->factorFilePositionToMpch); fprintf(f, "%s velocity to km/s : %g\n", actualPrefix, header->factorFileVelocityToKms); fprintf(f, "%s\n%sExtra Informations\n", actualPrefix, actualPrefix); fprintf(f, "%s file endianess : %s\n", actualPrefix, endian_toString(header->fileEndianess)); } /* artHeader_prettyPrint */