亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? d.h

?? 使用蒙特卡洛方法研究中子屏蔽以活求碰撞情況
?? H
?? 第 1 頁 / 共 2 頁
字號:
#if !defined(D_H_H__5A8BF52B_D92C_4512_8DDC_79FA24173FF3__INCLUDED_)
#define D_H__5A8BF52B_D92C_4512_8DDC_79FA24173FF3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


#define	 Pi     3.14159265357
#include<iomanip>
#include"d.h"
#include<cmath>
#include<complex>
#include<fstream>
#include<ctime>
#include<cstdlib>
#include<vector>
using namespace std;
enum Nreactiontype{N2N,Elastic_Deflection,Nonelastic_Deflection,Capture,Total_Reaction};
enum Type{H,Be,B,C,N,O,F};
ifstream  mynuc;
bool accompany;
int k;


///////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////



class Nucleus;
class Neutron;
class MainSpace;
Nucleus * prime;

class Unitboard
{
public:
	int EnergyDistribution[200];
	std::vector<complex<double> > Points;
	int PlaceZ;
	double width;
	Nucleus * indicator;
	Unitboard * next;
	Unitboard * previous;

public:
	Unitboard(Nucleus *,int,double);
	void AddToBoard( Neutron *);

};

class Nucleus
{
public:
	double Mass;
	double Ep;
	Nucleus * previous;
	Nucleus * next;
	Type  nucleustype;

public:
	Nucleus(Type);
	double N_Capture_Cross_Section( Neutron );
	double N_Elastic_Deflection_Cross_Section( Neutron );
	double N_Nonelastic_Deflection_Cross_Section( Neutron );
	double N2N_Cross_Section( Neutron );
	double NReaction_Cross_Section( Neutron);
    void   Reaction(Nreactiontype,Neutron *);
	void   Deflection(double,Neutron *);
	bool   return_type(Nreactiontype);
	int    findline(double,double,int,int);
	double return_energy(Neutron);
};


class Neutron
{
public:
	double CosX;
	double CosY;
	double CosZ;
	double Energy;
	double PositionX;
	double PositionY;
	double PZ;      // note this is a length within width
	double Mass;
	Unitboard * boardnode;
	Neutron * next;
	Neutron * previous;
	MainSpace * mainnode;
	double free;



public:
	Neutron(double,double,double,double,double,double,double);
	void Move(double TimeInterval);
	void Collision(Nucleus);
};


class MainSpace
{
public:
	Unitboard * head;
	Unitboard * end;
	Unitboard * unitcurrent;
	Neutron * headneutron;
	Neutron * endneutron;
	Neutron * current;
	Neutron * Pointer;
	bool count;

public:
	MainSpace(Nucleus * ptr,double);
	void Addboard(Nucleus *);
	void Addneutron(double,double,double,double,double,double,double,Unitboard *);
	bool Deleteneutron();
	void Generateneutron(double);
	void JudgeCollision();
	void JudgeEdge();
	void Action(double);
	Unitboard * GetPlace(int);
};
/////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////
MainSpace ms(prime,10);
int CaptureNumber=0;
int EscapeNumber=0;
int LostNumber=0;
int Total=0;
int CollisionNum=0; int N2NCN=0; int ECN=0; int NCN=0;
double MainTime=0;
double Dist=2; double Thickness=0.3;
double Interwidth=0.1;

///////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////


Unitboard::Unitboard(Nucleus * nuc,int pz,double wid)
{
	width=wid;
	PlaceZ=pz;
	indicator=nuc;
	next=NULL;
	previous=NULL;
	for(int j=0;j<200;j++)
		EnergyDistribution[j]=0;

}


void Unitboard::AddToBoard(Neutron * nut)
{
	EnergyDistribution[(int)(nut->Energy/32767*200)]++;
	complex<double> a(nut->PositionX,nut->PositionY);
	Points.push_back(a);
}

Nucleus::Nucleus(Type p)
{
	Mass=10;
	Ep=2;
	next=NULL;
	previous=NULL;
	nucleustype=p;
}

int Nucleus::findline(double pt,double qt,int i, int j)
{
	int p;
	mynuc.seekg(i);  int a1; mynuc>>a1;	 mynuc.seekg(i-14);	 double b1; mynuc>>b1;
	mynuc.seekg(j);  int a2; mynuc>>a2;	 mynuc.seekg(j-14);  double b2; mynuc>>b2;
	if (pt>a2 || pt<a1 || (pt==a2 && qt>b2) || (pt==a1 && qt<b1)) return 0;
	else 
	{
		mynuc.seekg(j-27); int a3; mynuc>>a3;  mynuc.seekg(j-27-14);  double b3; mynuc>>b3;
		mynuc.seekg(i+27); int a4; mynuc>>a4;  mynuc.seekg(i+27-14);  double b4; mynuc>>b4;
		if ((pt>a3 || (pt==a3 && qt>b3)) && (pt<a2 ||(pt==a2 && qt<b2) )) 
			return j-27;
		if ((pt>a1 || (pt==a1 && qt>b1)) && (pt<a4 ||(pt==a4 && qt<b4) )) 
			return i;
		int q=i+27*(((j-i)/27+1)/2-1);
		mynuc.seekg(q); int a5; mynuc>>a5;	mynuc.seekg(q-14); double b5; mynuc>>b5;
		if (pt>a5 || (pt==a5 && qt>b5)) 
		{
			p=findline(pt,qt,q,j);
			return p;
		}			
		else if (pt<=a5) 
		{
			p=findline(pt,qt,i,q);
			return p;
		}
	}
	return 0;
}

double Nucleus::return_energy(Neutron n)
{
	mynuc.seekg(119);
	char a;  mynuc>>a;
	int totalnumber;  mynuc>>totalnumber; // totalnumber for line number
	double temp=log(n.Energy)/log(10);	
	int exponent=(temp>=0)?(int)temp:(int)temp-1;   
	double base=n.Energy/pow(10,exponent);
	int k=findline(exponent,base,241,241+(totalnumber-1)*27);
	if (k)
	{
	   mynuc.seekg(k+11); mynuc>>exponent;
	   mynuc.seekg(k+2);  mynuc>>base;
	   return (base*pow(10,exponent));
	}
	return 0;
}


double Nucleus::N_Capture_Cross_Section( Neutron n)	
{
	if(return_type(Capture))
	{	accompany=true;
	return return_energy(n);}
	else  return 0;

 
}

double Nucleus::N_Elastic_Deflection_Cross_Section( Neutron n)
{   
	if(return_type(Elastic_Deflection))
	{	accompany=true;
	return return_energy(n);}
	else  return 0;

}

double Nucleus::N_Nonelastic_Deflection_Cross_Section( Neutron n)
{   
	if(return_type(Nonelastic_Deflection))
	{	accompany=true;
	return return_energy(n);}
	else  return 0;

}		 

double Nucleus::N2N_Cross_Section( Neutron n)
{
	if(return_type(N2N))
	{	accompany=true;
	return return_energy(n);}
	else  return 0;

}

double Nucleus::NReaction_Cross_Section(Neutron n)
{
	if(return_type(Total_Reaction))
	{	accompany=true;
	return return_energy(n);}
	else  return 0;

}

void Nucleus::Deflection(double Ep,Neutron * nut)
{
	double v=sqrt(2*(nut->Energy)/nut->Mass);
	double v1=Mass*v/(Mass+1);  v1*=v1; v1-=2*Mass*Ep/(Mass+1); v1=sqrt(v1);
	double cosfi=2*(double)rand()/RAND_MAX-1;
	double sinfi=sqrt(1-cosfi*cosfi);
	double angle=(double)rand()/RAND_MAX*2*Pi;
	double SinZ=sqrt(1-(nut->CosZ)*(nut->CosZ));
	double vx=v1*cosfi*(nut->CosX);
	double vy=v1*cosfi*(nut->CosY);
    if (SinZ!=0)
	{
		   vx-=v1*sinfi*cos(angle)*(nut->CosZ)*(nut->CosX)/SinZ;
		   vx-=v1*sinfi*sin(angle)*(nut->CosY)/SinZ;
		   vx+=v*(nut->CosX)/(Mass+1);
	       vy-=v1*sinfi*cos(angle)*(nut->CosZ)*(nut->CosY)/SinZ;
		   vy+=v1*sinfi*sin(angle)*(nut->CosX)/SinZ;
		   vy+=v*(nut->CosY)/(Mass+1);
	}
	else
	{
		vx=vx-v1*sinfi*cos(angle);
		vy=vy+v1*sinfi*sin(angle);
	}
	double vz=v1*cosfi*(nut->CosZ)+v1*sinfi*cos(angle)*SinZ+v*(nut->CosZ)/(Mass+1);
	nut->Energy=0.5*(vx*vx+vy*vy+vz*vz);
	nut->CosX=vx/sqrt(2*(nut->Energy));
	nut->CosY=vy/sqrt(2*(nut->Energy));
	nut->CosZ=vz/sqrt(2*(nut->Energy));
}


void Nucleus::Reaction(Nreactiontype react,Neutron * nut)
{
	CollisionNum++;
	switch (react)  
	{
	case N2N:
		//
		nut->CosX=0.3;
		nut->CosY=0.4;
		nut->CosZ=sqrt(1-0.09-0.16);
		nut->mainnode->Addneutron(nut->PositionX,nut->PositionY,nut->PZ,0.5,0.6,sqrt(1-0.25-0.36),nut->Energy*0.13,nut->boardnode);
		nut->Energy*=0.87;
		N2NCN++;
		// add reaction information
		break;
	case Elastic_Deflection:
		//
//		nut->CosX=0.2;
//		nut->CosY=0.5;
//		nut->CosZ=sqrt(1-0.04-0.25);
		Deflection(0,nut);
		ECN++;
		// add reaction information
		break;
	case Nonelastic_Deflection:
//		nut->CosX=0.7;
//		nut->CosY=0.3;
//		nut->CosZ=sqrt(1-0.49-0.09);
//		nut->Energy*=0.56;
		Deflection(Ep,nut);
		NCN++;
		// add reaction information
		break;
	case Capture:
		nut->mainnode->Deleteneutron();
		CaptureNumber++;
		// add reaction information
	default:
		// do something
		break;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片大码女人| 五月天一区二区| 日韩av中文字幕一区二区| 精品一区二区三区视频在线观看| 夜夜嗨av一区二区三区四季av | 夜色激情一区二区| 久久精品国产在热久久| 欧美性生活影院| 国产精品久久久久久久久动漫 | 久久婷婷综合激情| 婷婷丁香久久五月婷婷| 色哟哟一区二区在线观看| 国产日韩欧美制服另类| 久久99精品久久久| 日韩午夜小视频| 日韩精品一级二级 | 在线免费观看日本一区| 国产精品免费人成网站| 国产精一区二区三区| 亚洲精品一线二线三线无人区| 午夜视频在线观看一区二区| 色综合久久中文字幕综合网| 综合分类小说区另类春色亚洲小说欧美| www久久久久| 蜜桃精品视频在线观看| 911精品国产一区二区在线| 亚洲综合在线电影| 欧美性大战xxxxx久久久| 一区二区三区在线免费观看| 91亚洲精品久久久蜜桃| 亚洲特级片在线| 一本大道久久a久久精二百 | 91亚洲永久精品| 国产精品不卡在线观看| 91婷婷韩国欧美一区二区| 亚洲免费观看视频| 色噜噜狠狠成人中文综合| 亚洲一区二区三区激情| 69堂国产成人免费视频| 麻豆精品一区二区av白丝在线| 日韩亚洲国产中文字幕欧美| 精品中文av资源站在线观看| 久久久精品影视| 99在线精品一区二区三区| 亚洲天天做日日做天天谢日日欢 | 美女国产一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 精品亚洲免费视频| 国产欧美久久久精品影院| 国产成人精品综合在线观看| 国产精品毛片高清在线完整版| 91在线一区二区| 午夜激情一区二区三区| 欧美一级电影网站| 成人免费视频视频在线观看免费 | 国产精品丝袜黑色高跟| 色婷婷av一区二区三区gif| 日韩综合一区二区| 国产视频在线观看一区二区三区| 99久久综合色| 日韩制服丝袜av| 国产日韩欧美精品综合| 欧美日韩精品电影| 国产精品一品二品| 亚洲成国产人片在线观看| 久久九九99视频| 欧美日韩精品免费观看视频| 国产麻豆一精品一av一免费| 一区二区三区在线视频免费| 日韩欧美一级精品久久| 99这里只有久久精品视频| 亚洲.国产.中文慕字在线| 国产欧美日韩精品在线| 欧美乱熟臀69xxxxxx| 成人一区二区三区| 亚洲午夜国产一区99re久久| 久久人人爽人人爽| 欧美中文字幕一区二区三区亚洲| 韩国视频一区二区| 亚洲国产日韩一区二区| 亚洲国产岛国毛片在线| 日韩视频免费观看高清在线视频| 99久久久久久99| 国产一区91精品张津瑜| 丝袜国产日韩另类美女| 亚洲视频网在线直播| 国产亚洲欧美在线| 欧美电影免费观看高清完整版在| 日本丶国产丶欧美色综合| 岛国一区二区在线观看| 久久99精品久久久久婷婷| 亚洲成人免费视频| 悠悠色在线精品| 国产精品国产精品国产专区不蜜 | 不卡的av电影在线观看| 狠狠色丁香九九婷婷综合五月| 天天操天天综合网| 亚洲一区二区视频在线| 中文字幕一区二区三区不卡| 久久精品日韩一区二区三区| 日韩欧美中文一区| 717成人午夜免费福利电影| 在线精品国精品国产尤物884a| av在线播放一区二区三区| 国产剧情一区二区| 国产盗摄一区二区三区| 国产精品99久久久久久似苏梦涵| 精品一区二区免费看| 六月丁香婷婷色狠狠久久| 青青草成人在线观看| 日本一不卡视频| 日韩电影在线一区二区| 免费av成人在线| 久久se精品一区二区| 国精品**一区二区三区在线蜜桃| 美国毛片一区二区三区| 麻豆专区一区二区三区四区五区| 日韩精品电影在线| 精品在线一区二区三区| 国产在线视视频有精品| 国产成人啪免费观看软件| 成人激情校园春色| 97国产一区二区| 在线观看av一区二区| 欧美日韩五月天| 日韩视频一区在线观看| 26uuu成人网一区二区三区| 欧美国产禁国产网站cc| 亚洲精品欧美综合四区| 亚洲成人免费在线| 久久国产精品99久久人人澡| 国产一区二区三区黄视频| 成人小视频在线| 欧美制服丝袜第一页| 欧美男人的天堂一二区| 日韩欧美一区在线观看| 欧美极品少妇xxxxⅹ高跟鞋 | 欧美日韩免费观看一区三区| 91精品久久久久久久91蜜桃| 一区二区三区在线视频免费| 亚洲电影欧美电影有声小说| 卡一卡二国产精品| 97精品电影院| 欧美一级理论片| 国产精品三级电影| 亚洲成a人在线观看| 国产乱码精品一区二区三区忘忧草 | 欧美国产1区2区| 亚洲图片一区二区| 国产一区 二区| 欧美亚洲一区三区| 久久精品这里都是精品| 亚洲国产日产av| 国产福利一区在线观看| 欧美吻胸吃奶大尺度电影| 2020国产精品| 亚洲自拍欧美精品| 国产乱码精品一品二品| 一本一本久久a久久精品综合麻豆| 9191成人精品久久| 亚洲欧美日韩在线播放| 狠狠色狠狠色综合系列| 欧美亚洲国产一区在线观看网站| 久久久久久夜精品精品免费| 亚洲大片在线观看| av亚洲精华国产精华| 精品国产乱码久久| 婷婷综合另类小说色区| 91年精品国产| 久久久久久麻豆| 久久精品国产网站| 欧美麻豆精品久久久久久| 亚洲少妇30p| 成人综合婷婷国产精品久久免费| 在线播放/欧美激情| 有码一区二区三区| 99国产欧美另类久久久精品| 精品成a人在线观看| 三级在线观看一区二区| 日本高清不卡在线观看| 国产精品成人午夜| 国产99精品在线观看| 欧美成人精品3d动漫h| 亚洲午夜成aⅴ人片| 一本色道综合亚洲| 国产精品人成在线观看免费| 激情综合网av| 日韩欧美久久一区| 免费观看在线色综合| 制服丝袜在线91| 亚欧色一区w666天堂| 欧美在线免费观看亚洲| 亚洲人精品一区| 一本色道久久综合亚洲精品按摩| 国产精品视频观看| 成人av在线网| 日韩美女视频一区二区| 99久久精品国产精品久久| 中文字幕精品一区| 99精品欧美一区|