def _calculate_simulation_bounds(self): """ Figure out the starting and stopping time and redshift for the simulation. """ # Convert initial/final redshifts to times. if self.cosmological_simulation: self.initial_time = self.cosmology.t_from_z(self.initial_redshift) self.initial_time.units.registry = self.unit_registry self.final_time = self.cosmology.t_from_z(self.final_redshift) self.final_time.units.registry = self.unit_registry # If not a cosmology simulation, figure out the stopping criteria. else: if "TimeBegin" in self.parameters: self.initial_time = self.quan(self.parameters["TimeBegin"], "code_time") else: self.initial_time = self.quan(0., "code_time") if "TimeMax" in self.parameters: self.final_time = self.quan(self.parameters["TimeMax"], "code_time") else: self.final_time = None if "TimeMax" not in self.parameters: raise NoStoppingCondition(self.parameter_filename)
def _calculate_simulation_bounds(self): """ Figure out the starting and stopping time and redshift for the simulation. """ if 'StopCycle' in self.parameters: self.stop_cycle = self.parameters['StopCycle'] # Convert initial/final redshifts to times. if self.cosmological_simulation: self.initial_time = self.cosmology.t_from_z(self.initial_redshift) self.initial_time.units.registry = self.unit_registry self.final_time = self.cosmology.t_from_z(self.final_redshift) self.final_time.units.registry = self.unit_registry # If not a cosmology simulation, figure out the stopping criteria. else: if 'InitialTime' in self.parameters: self.initial_time = self.quan(self.parameters['InitialTime'], "code_time") else: self.initial_time = self.quan(0., "code_time") if 'StopTime' in self.parameters: self.final_time = self.quan(self.parameters['StopTime'], "code_time") else: self.final_time = None if not ('StopTime' in self.parameters or 'StopCycle' in self.parameters): raise NoStoppingCondition(self.parameter_filename) if self.final_time is None: mylog.warning( "Simulation %s has no stop time set, stopping condition " + "will be based only on cycles.", self.parameter_filename)