Ejemplo n.º 1
0
void FluxBoundary::operator ()(const double dt) {
	Operator::resume_timer();
	BOOST_FOREACH(Species *s, all_species) {
		Molecules& mols = s->mols;
		boost::poisson_distribution<> p_dist(dt*rate);
		boost::variate_generator<base_generator_type&, boost::poisson_distribution<> > poisson(generator, p_dist);
		const unsigned int n = poisson();
		for (int i = 0; i < n; ++i) {
			mols.add_molecule(p + uni1()*t1 + uni2()*t2);
		}
	}
Ejemplo n.º 2
0
void generateList(person A[])
{
	int i;
	int time=0;
	int timetemp;

	std::random_device rd;     // initialise seed engine
	std::mt19937 rng(rd());    // random-number engine Mersenne-Twister 
	std::uniform_int_distribution<int> uni(0,4);
	std::uniform_int_distribution<int> uni2(0,4);

	//generates each person entering time and service time ramdomly
	for(i=0; i<100; i++)
	{
		A[i].personId=i;
		timetemp=uni(rng);
		time+=timetemp;
		A[i].enterTime=time;
		A[i].serviceTime=uni2(rng);
	}
}