def new_instance_of_capreole_and_nbody_code(self):
     gridcode=Capreole(number_of_workers=self.number_of_workers)
     gridcode.initialize_code()
     nbodycode = PhiGRAPE(mode="gpu")
     #nbodycode = Octgrav(mode="gpu")
     nbodycode.initialize_code()
     nbodycode.parameters.epsilon_squared = (self.size / (10000.0 * self.number_of_grid_points)) ** 2
     nbodycode.commit_parameters()
     
     result = HydroGridAndNbodyWithAccelerationTransfer(gridcode, nbodycode)
     return result
    def new_instance_of_capreole_and_nbody_code(self):
        gridcode = Capreole(number_of_workers=self.number_of_workers)
        gridcode.initialize_code()
        nbodycode = PhiGRAPE(mode="gpu")
        #nbodycode = Octgrav(mode="gpu")
        nbodycode.initialize_code()
        nbodycode.parameters.epsilon_squared = (
            self.size / (10000.0 * self.number_of_grid_points))**2
        nbodycode.commit_parameters()

        result = HydroGridAndNbodyWithAccelerationTransfer(gridcode, nbodycode)
        return result
 def new_instance_of_athena_and_nbody_code(self):
     gridcode=Athena(redirection="none", number_of_workers=1)
     gridcode.initialize_code()
     gridcode.parameters.gamma = self.gamma
     gridcode.parameters.courant_number=0.3
     
     gridcode.set_has_external_gravitational_potential(1)
     
     nbodycode = PhiGRAPE(mode="gpu")
     #nbodycode = Octgrav(mode="gpu")
     nbodycode.initialize_code()
     nbodycode.parameters.epsilon_squared = (self.size / (10000.0 * self.number_of_grid_points)) ** 2
     nbodycode.commit_parameters()
     
     result = HydroGridAndNbody(gridcode, nbodycode)
     return result
    def new_instance_of_athena_and_nbody_code(self):
        gridcode = Athena(redirection="none", number_of_workers=1)
        gridcode.initialize_code()
        gridcode.parameters.gamma = self.gamma
        gridcode.parameters.courant_number = 0.3

        gridcode.set_has_external_gravitational_potential(1)

        nbodycode = PhiGRAPE(mode="gpu")
        #nbodycode = Octgrav(mode="gpu")
        nbodycode.initialize_code()
        nbodycode.parameters.epsilon_squared = (
            self.size / (10000.0 * self.number_of_grid_points))**2
        nbodycode.commit_parameters()

        result = HydroGridAndNbody(gridcode, nbodycode)
        return result