Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

begrun.c File Reference

initial set-up of a simulation run More...

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <mpi.h>
#include <sys/types.h>
#include <unistd.h>
#include <gsl/gsl_rng.h>
#include "allvars.h"
#include "proto.h"

Go to the source code of this file.

Defines

#define DOUBLE   1
#define STRING   2
#define INT   3
#define MAXTAGS   300

Functions

void begrun (void)
void set_units (void)
void open_outputfiles (void)
void close_outputfiles (void)
void read_parameter_file (char *fname)
int read_outputlist (char *fname)
void readjust_timebase (double TimeMax_old, double TimeMax_new)


Detailed Description

initial set-up of a simulation run

This file contains various functions to initialize a simulation run. In particular, the parameterfile is read in and parsed, the initial conditions or restart files are read, and global variables are initialized to their proper values.

Definition in file begrun.c.


Define Documentation

#define DOUBLE   1
 

Referenced by read_parameter_file().

#define INT   3
 

Referenced by read_parameter_file().

#define MAXTAGS   300
 

#define STRING   2
 

Referenced by read_parameter_file().


Function Documentation

void begrun void   ) 
 

This function performs the initial set-up of the simulation. First, the parameterfile is set, then routines for setting units, reading ICs/restart-files are called, auxialiary memory is allocated, etc.

< code version string

Definition at line 28 of file begrun.c.

References All, allocate_commbuffers(), global_data_all_processes::ArtBulkViscConst, global_data_all_processes::BufferSize, global_data_all_processes::BunchSizeDensity, global_data_all_processes::BunchSizeDomain, global_data_all_processes::BunchSizeForce, global_data_all_processes::BunchSizeHydro, global_data_all_processes::ComovingIntegrationOn, global_data_all_processes::CourantFac, global_data_all_processes::CpuFile, global_data_all_processes::CpuTimeBetRestartFile, global_data_all_processes::EnergyFile, global_data_all_processes::ErrTolForceAcc, global_data_all_processes::ErrTolIntAccuracy, ewald_init(), find_next_outputtime(), GADGETVERSION, global_data_all_processes::InfoFile, init(), init_drift_table(), long_range_init(), long_range_init_regionsize(), global_data_all_processes::MaxNumNgbDeviation, global_data_all_processes::MaxRMSDisplacementFac, global_data_all_processes::MaxSizeTimestep, global_data_all_processes::MinSizeTimestep, NTask, global_data_all_processes::NumFilesPerSnapshot, global_data_all_processes::NumFilesWrittenInParallel, open_outputfiles(), global_data_all_processes::OutputDir, global_data_all_processes::OutputListFilename, global_data_all_processes::OutputListLength, global_data_all_processes::OutputListOn, global_data_all_processes::OutputListTimes, ParameterFile, random_generator, read_parameter_file(), readjust_timebase(), restart(), global_data_all_processes::RestartFile, RestartFlag, global_data_all_processes::ResubmitCommand, global_data_all_processes::ResubmitOn, set_random_numbers(), set_units(), global_data_all_processes::SnapFormat, global_data_all_processes::SnapshotFileBase, ThisTask, global_data_all_processes::Ti_Current, global_data_all_processes::Ti_nextoutput, global_data_all_processes::TimeBetSnapshot, global_data_all_processes::TimeBetStatistics, global_data_all_processes::TimeLastRestartFile, global_data_all_processes::TimeLimitCPU, global_data_all_processes::TimeMax, global_data_all_processes::TimingsFile, global_data_all_processes::TreeDomainUpdateFrequency, global_data_all_processes::TypeOfOpeningCriterion, and global_data_all_processes::TypeOfTimestepCriterion.

Referenced by main().

void close_outputfiles void   ) 
 

This function closes the global log-files.

Definition at line 257 of file begrun.c.

References FdCPU, FdEnergy, FdForceTest, FdInfo, FdTimings, and ThisTask.

Referenced by run().

void open_outputfiles void   ) 
 

This function opens various log-files that report on the status and performance of the simulstion. On restart from restart-files (start-option 1), the code will append to these files.

Definition at line 199 of file begrun.c.

References All, global_data_all_processes::CpuFile, endrun(), global_data_all_processes::EnergyFile, FdCPU, FdEnergy, FdForceTest, FdInfo, FdTimings, global_data_all_processes::InfoFile, global_data_all_processes::OutputDir, RestartFlag, ThisTask, and global_data_all_processes::TimingsFile.

Referenced by begrun().

int read_outputlist char *  fname  ) 
 

this function reads a table with a list of desired output times. The table does not have to be ordered in any way, but may not contain more than MAXLEN_OUTPUTLIST entries.

< maxmimum number of entries in list of snapshot output times

Definition at line 759 of file begrun.c.

References All, global_data_all_processes::OutputListLength, and global_data_all_processes::OutputListTimes.

Referenced by read_parameter_file().

void read_parameter_file char *  fname  ) 
 

This function parses the parameterfile in a simple way. Each paramater is defined by a keyword (`tag'), and can be either of type double, int, or character string. The routine makes sure that each parameter appears exactly once in the parameterfile, otherwise error messages are produced that complain about the missing parameters.

Definition at line 280 of file begrun.c.

References All, global_data_all_processes::ArtBulkViscConst, global_data_all_processes::BoxSize, global_data_all_processes::BufferSize, global_data_all_processes::ComovingIntegrationOn, global_data_all_processes::CourantFac, global_data_all_processes::CpuFile, global_data_all_processes::CpuTimeBetRestartFile, global_data_all_processes::DesNumNgb, DOUBLE, endrun(), global_data_all_processes::EnergyFile, global_data_all_processes::ErrTolForceAcc, global_data_all_processes::ErrTolIntAccuracy, global_data_all_processes::ErrTolTheta, global_data_all_processes::GravityConstantInternal, global_data_all_processes::HubbleParam, global_data_all_processes::ICFormat, global_data_all_processes::InfoFile, global_data_all_processes::InitCondFile, global_data_all_processes::InitGasTemp, INT, global_data_all_processes::MaxNumNgbDeviation, global_data_all_processes::MaxRMSDisplacementFac, global_data_all_processes::MaxSizeTimestep, global_data_all_processes::MinGasHsmlFractional, global_data_all_processes::MinGasTemp, global_data_all_processes::MinSizeTimestep, global_data_all_processes::NumFilesPerSnapshot, global_data_all_processes::NumFilesWrittenInParallel, global_data_all_processes::Omega0, global_data_all_processes::OmegaBaryon, global_data_all_processes::OmegaLambda, global_data_all_processes::OutputDir, global_data_all_processes::OutputListFilename, global_data_all_processes::OutputListLength, global_data_all_processes::OutputListOn, global_data_all_processes::PartAllocFactor, global_data_all_processes::PeriodicBoundariesOn, read_outputlist(), global_data_all_processes::RestartFile, global_data_all_processes::ResubmitCommand, global_data_all_processes::ResubmitOn, global_data_all_processes::SnapFormat, global_data_all_processes::SnapshotFileBase, global_data_all_processes::SofteningBndry, global_data_all_processes::SofteningBndryMaxPhys, global_data_all_processes::SofteningBulge, global_data_all_processes::SofteningBulgeMaxPhys, global_data_all_processes::SofteningDisk, global_data_all_processes::SofteningDiskMaxPhys, global_data_all_processes::SofteningGas, global_data_all_processes::SofteningGasMaxPhys, global_data_all_processes::SofteningHalo, global_data_all_processes::SofteningHaloMaxPhys, global_data_all_processes::SofteningStars, global_data_all_processes::SofteningStarsMaxPhys, STRING, ThisTask, global_data_all_processes::TimeBegin, global_data_all_processes::TimeBetSnapshot, global_data_all_processes::TimeBetStatistics, global_data_all_processes::TimeLimitCPU, global_data_all_processes::TimeMax, global_data_all_processes::TimeOfFirstSnapshot, global_data_all_processes::TimingsFile, global_data_all_processes::TreeAllocFactor, global_data_all_processes::TreeDomainUpdateFrequency, global_data_all_processes::TypeOfOpeningCriterion, global_data_all_processes::TypeOfTimestepCriterion, global_data_all_processes::UnitLength_in_cm, global_data_all_processes::UnitMass_in_g, and global_data_all_processes::UnitVelocity_in_cm_per_s.

Referenced by begrun().

void readjust_timebase double  TimeMax_old,
double  TimeMax_new
 

If a restart from restart-files is carried out where the TimeMax variable is increased, then the integer timeline needs to be adjusted. The approach taken here is to reduce the resolution of the integer timeline by factors of 2 until the new final time can be reached within TIMEBASE.

< The simulated timespan is mapped onto the integer interval [0,TIMESPAN], where TIMESPAN needs to be a power of 2. Note that (1<<28) corresponds to 2^29

Definition at line 793 of file begrun.c.

References All, global_data_all_processes::ComovingIntegrationOn, endrun(), P, global_data_all_processes::PM_Ti_begstep, global_data_all_processes::PM_Ti_endstep, ThisTask, particle_data::Ti_begstep, global_data_all_processes::Ti_Current, particle_data::Ti_endstep, global_data_all_processes::Timebase_interval, global_data_all_processes::TimeBegin, and global_data_all_processes::TimeMax.

Referenced by begrun().

void set_units void   ) 
 

Computes conversion factors between internal code units and the cgs-system.

< Gravitational constant (in cgs units)

< mass fraction of hydrogen, relevant only for radiative cooling

< adiabatic index of simulated gas

Definition at line 149 of file begrun.c.

References All, BOLTZMANN, global_data_all_processes::G, GRAVITY, global_data_all_processes::GravityConstantInternal, global_data_all_processes::Hubble, HUBBLE, global_data_all_processes::MinEgySpec, global_data_all_processes::MinGasTemp, pow(), ThisTask, global_data_all_processes::UnitCoolingRate_in_cgs, global_data_all_processes::UnitDensity_in_cgs, global_data_all_processes::UnitEnergy_in_cgs, global_data_all_processes::UnitLength_in_cm, global_data_all_processes::UnitMass_in_g, global_data_all_processes::UnitPressure_in_cgs, global_data_all_processes::UnitTime_in_Megayears, global_data_all_processes::UnitTime_in_s, and global_data_all_processes::UnitVelocity_in_cm_per_s.

Referenced by begrun().


Generated on Sun May 22 17:33:29 2005 for GADGET-2 by  doxygen 1.3.9.1