예제 #1
0
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 */
예제 #2
0
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 */