亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
日本欧洲一区二区| 欧美日韩国产在线观看| 国产精品久久久久久久久动漫 | 亚洲地区一二三色| 国产亚洲欧美激情| 一区二区三区四区在线播放 | 91精品国产手机| 色婷婷香蕉在线一区二区| 欧美精品国产精品| 国产激情精品久久久第一区二区| 日韩三级电影网址| 久久国产精品99久久人人澡| 精品国产一区二区三区四区四| 亚洲在线观看免费| 日本一区二区三区在线不卡 | 欧美一级一级性生活免费录像| 不卡的av网站| 不卡电影一区二区三区| 国模大尺度一区二区三区| 中文字幕欧美三区| 欧美丝袜丝交足nylons| 欧美日韩不卡视频| 成人av先锋影音| 激情五月播播久久久精品| 日韩av在线发布| 亚洲成国产人片在线观看| 亚洲精品免费电影| 亚洲一区在线播放| 日本在线不卡视频| 美女视频黄免费的久久| 激情亚洲综合在线| 丁香一区二区三区| 色综合视频在线观看| 日本丰满少妇一区二区三区| 欧美影视一区在线| 欧美一区二区高清| 国产清纯在线一区二区www| 久久精品人人爽人人爽| 欧美国产一区视频在线观看| 亚洲精品国产成人久久av盗摄| 亚洲人成影院在线观看| 午夜精品免费在线| 狠狠色丁香婷综合久久| 99精品视频一区二区| 欧美日韩久久一区二区| 久久久久国产精品麻豆| 亚洲综合一区在线| 石原莉奈在线亚洲二区| 国产精品99久久久久久似苏梦涵| 成a人片国产精品| 91在线视频在线| 一本在线高清不卡dvd| 91精品国产色综合久久ai换脸| 久久影院视频免费| 一区二区在线观看视频在线观看| 一区二区欧美国产| 国产精品一区二区久久精品爱涩 | 韩日av一区二区| 成人h版在线观看| 欧美日韩中字一区| 中文字幕免费一区| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲图片另类小说| 在线观看视频一区| 国产女主播视频一区二区| 亚洲制服丝袜在线| 99精品国产视频| 国产精品久久精品日日| 成人蜜臀av电影| 精品视频一区三区九区| 中文字幕亚洲成人| 国产精品一区二区91| 亚洲精品在线三区| 激情综合色丁香一区二区| 欧美久久久久久蜜桃| 午夜精品久久一牛影视| 欧美日韩国产美| 日本强好片久久久久久aaa| 欧美一级生活片| 欧美视频中文字幕| 蜜臀精品久久久久久蜜臀| 欧美一级二级三级蜜桃| 玖玖九九国产精品| 国产嫩草影院久久久久| 91丨九色丨蝌蚪富婆spa| 樱花影视一区二区| 精品福利av导航| 国产精品白丝jk白祙喷水网站| 91精品久久久久久蜜臀| 洋洋成人永久网站入口| 久久国产视频网| 精品成a人在线观看| 一区二区三区欧美久久| 91日韩在线专区| 亚洲三级电影网站| 99精品久久只有精品| 亚洲少妇屁股交4| 欧美视频三区在线播放| 日韩精品免费专区| 久久精品人人爽人人爽| 欧美日韩视频不卡| 懂色av噜噜一区二区三区av| 一区二区理论电影在线观看| 欧美一区国产二区| 成人激情免费网站| 日本va欧美va欧美va精品| 一区二区三区免费在线观看| 色哟哟在线观看一区二区三区| 亚洲色图第一区| 精品99一区二区| 3d动漫精品啪啪一区二区竹菊| a级高清视频欧美日韩| 奇米影视一区二区三区| 亚洲另类在线一区| 欧美极品美女视频| 欧美精品一区二区三区视频 | 高清视频一区二区| 亚洲一区av在线| 国产精品对白交换视频| 中文字幕精品在线不卡| 国产精品系列在线| 亚洲精品一区在线观看| 色综合天天综合给合国产| 91视频免费播放| 色综合久久天天综合网| 色综合久久久久久久久| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 国产色综合一区| 欧美精品一区二区三区很污很色的| 欧美日韩在线播| 在线精品视频一区二区三四| 91极品视觉盛宴| 欧美日韩亚洲综合一区二区三区| 欧美一区二区三区小说| 欧美va亚洲va国产综合| 国产欧美日韩视频在线观看| 精品卡一卡二卡三卡四在线| 91精品国产乱| 久久色在线视频| 国产精品第四页| 日韩经典一区二区| 国产一区二区三区综合| 国产成人综合在线| 成人av午夜电影| 欧美日韩一区二区三区四区五区 | 久久99精品久久久久久久久久久久 | 欧美精品tushy高清| 中文欧美字幕免费| 久久精品免费看| fc2成人免费人成在线观看播放| 97精品电影院| 久久夜色精品一区| 亚洲午夜羞羞片| 成人黄动漫网站免费app| 欧美一卡2卡3卡4卡| 国产精品高潮久久久久无| 中文字幕一区二区视频| 夜夜揉揉日日人人青青一国产精品| 亚洲综合偷拍欧美一区色| 国产福利一区二区三区视频| 在线观看免费一区| 国产精品视频看| 黄页视频在线91| 欧美日韩国产小视频| 国产精品午夜免费| 国产老肥熟一区二区三区| 678五月天丁香亚洲综合网| 欧美韩国日本不卡| 国产精品亚洲午夜一区二区三区 | 91麻豆免费看片| 久久久久国产精品麻豆| 国产在线不卡视频| 中文字幕精品在线不卡| 日韩激情在线观看| 欧美日韩性生活| 亚洲国产wwwccc36天堂| 91久久一区二区| 一区二区视频在线| 99久久精品国产导航| 国产精品欧美经典| bt7086福利一区国产| 一区二区三区产品免费精品久久75| 色拍拍在线精品视频8848| 一区二区三区波多野结衣在线观看| 欧美久久高跟鞋激| 国产一区二区伦理| 国产午夜亚洲精品午夜鲁丝片 | 亚洲成人精品在线观看| 欧美性猛交xxxx乱大交退制版 | 精品视频一区三区九区| 日韩国产欧美一区二区三区| 日韩欧美亚洲国产另类| 国产呦精品一区二区三区网站| 中文字幕中文乱码欧美一区二区 | 国产精品国产自产拍高清av| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲免费av高清| 精品国产在天天线2019| 成人精品国产免费网站| 日韩综合小视频|