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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? m.txt

?? 一階有限元通用程序
?? TXT
字號:

# include<stdio.h>
# include<stdlib.h>
# include<math.h>


# define LND 700
# define LEL 1200
#define PI 3.1415927
# define MU0 (4*PI*(1.0e-10))



struct Nodetype {float x;float y;};
struct elementtype {int i;int j;int m;};
struct boundaryNodetype {int bNode;float bptal;};


void KMatricStorageAddress();	/*Form the addressofK matric*/
void KPMatricSetup();			/* Form K & P matric*/
void BoundaryConditionDeal();	/* Dealwith boundary condition * /
void solveq();					/* Resolve thematric equation*/
void mbbub();					/* Sorting the coordinates*/


void solveq(a,m,b,id,n)
int m,n,*id;
float *a,*b;

{	int i,j,k,l,l1,l2,l3,k1,k2;

	for(i=0;i<n-1;i++)

	{l=id[i];

		for(j=i+1;j<n;j++)

		{	l1=j+1-(id[j]-id[j-1]);
			if(l1<=i)
			{	l2=id[j]-j+i;

				for(k=j;k<n;k++)
				{	l3=k+1-(id[k]-id[k-1]);

					if(l3<=i)
					{ 	k1=id[k]-k+i;
						k2=id[k]-k+j;
						a[k2]=a[k2]-a[k1]*a[l2]/a[l];  /* ???k1*/
					}
				}

				b[j]=b[j]-b[i]*a[l2]/a[l];

			}
		}
	}

	b[n-1]=b[n-1]/a[m -1];

	for(i=0;i<n-1;i++)

	{	k=n-2-i;

		for(j=k+1;j<n;j++)

		{	l1=j+1-(id[j]-id[j-1]);

			if(l1<=k)
			{l2=id[j]-j+k;b[k]=b[k]-b[j]*a[l2];
			}
		}

		l=id[k];
		b[k]=b[k]/a[l];
	}
}


main ()
{
	int k,nk,BeginNumber,SegmentTotal,LASTND,LASTEL,*Address;
	int BlockTotal,*BeNumber;
	float Rlarge,*Beta,*KMatric,*PMatric;
	struct Nodetype *Node;
	struct elementtype *Element;
	FILE *FilePoint,*fp;

	if((FilePoint=fopen("AGEN.dat","rb"))==NULL)

	{printf("cannotopen AGEN.datfile!\n");exit(0);}



	fread(&BlockTotal,sizeof(int),1,FilePoint);
	BeNumber=malloc(BlockTotal*sizeof(int));
	Beta=malloc(BlockTotal*sizeof(float));


	for(k=0;k<BlockTotal;k++)
	{	fread(&Beta[k],sizeof(float),1,FilePoint);
		fread(&BeNumber[k],sizeof(int),1,FilePoint);
	}


	fread(&BeginNumber,sizeof(int),1,FilePoint);
	fread(&SegmentTotal,sizeof(int),1,FilePoint);
	fread(&Rlarge,sizeof(float),1,FilePoint);
	fread(&LASTND,sizeof(int),1,FilePoint);
	fread(&LASTEL,sizeof(int),1,FilePoint);

	if((LASTND >LND)||(LASTEL>LEL))
	{printf("There isn’tenough memory!\n");exit(0);}


	Node=malloc(LASTND*sizeof(struct Nodetype));
	fread(Node,sizeof(struct Nodetype),LASTND,FilePoint);
	fread(&LASTEL,sizeof(int),1,FilePoint);

	Element=malloc(LASTEL*sizeof(struct elementtype));
	fread(Element,sizeof(struct elementtype),LASTEL,FilePoint);
	fclose(FilePoint);

	Address=malloc(LASTND*sizeof(int));

	KMatricStorageAddress(BeginNumber,LASTND,Address);
	nk=Address[LASTND -1]+1;
	KMatric=malloc(nk*sizeof(float));
	PMatric=malloc(LASTND*sizeof(float));

	for(k=0;k<BlockTotal;k++)
		Beta[k]=1/(Beta[k]*MU0);

	KPMatricSetup(Node,Address,Element,Beta,BeNumber,BlockTotal,KMatric,nk,PMatric,LASTND);

	/* Deal with boundary condition according to certain problem */

	{	int nbn,count=0;
		float DeltaTheta;
		struct boundaryNodetype *BoundaryNode;

		nbn=2*SegmentTotal+BeginNumber;			/* BeginNumber=1 */
		BoundaryNode=malloc(nbn*sizeof(struct boundaryNodetype));

		for(k=0;k<=SegmentTotal;k++)
		{count+=k;
		 BoundaryNode[k].bNode=count;
		 BoundaryNode[k].bptal=0.0;
		}

		for(k=1;k<=SegmentTotal;k++)
		{DeltaTheta=PI/(2*SegmentTotal);
		 BoundaryNode[k+SegmentTotal].bNode=(1+SegmentTotal)*SegmentTotal/2+k;
		 BoundaryNode[k+SegmentTotal].bptal=-Rlarge*sin(k*DeltaTheta);
		}

		BoundaryConditionDeal(BoundaryNode,nbn,KMatric,PMatric,Address,LASTND);
		free(BoundaryNode);
	}


	solveq(KMatric,nk,PMatric,Address,LASTND);
	free(BeNumber);
	free(Beta);
	free(KMatric);
	free(Address);


	/*Fine the coordinate ofisopotentialpoints*/

   {	    	int i,j,count,num=40,Number0,Number;
		int ei,ej,em;
		float Maxfi=0.0,Minfi=0.0,Deltafi,fi,p[200][2];

		if((FilePoint=fopen("emf2dout.dat","wb"))==NULL)
		{printf("cannotopen outputfile! \n");exit(0);}

		fwrite(&num,sizeof(int),1,FilePoint);

		for(k=0;k<LASTND;k++)
		{if(PMatric[k]>Maxfi)Maxfi=PMatric[k];
		if(PMatric[k]<Maxfi)Minfi=PMatric[k];
		}

		Deltafi=(Maxfi-Minfi)/(num+1);

	for(i=1;i<=num;i++)
	{	fi=Minfi+Deltafi*i;
		count=0;
		Number0=0;
		Number=1;

		for(j=0;j<SegmentTotal;j++)
		{
			for(k=Number0;k<Number0+Number;k+=2)
 	 		{	ei=Element[k].i;
				ej=Element[k].j;
				em =Element[k].m;

				if((fi-PMatric[ei])*(fi-PMatric[ej])<=0.0)
				{p[count][0]=Node[ei].x+(fi-PMatric[ei])*(Node[ej].x-Node[ei].x)/(PMatric[ej]-PMatric[ei]);
				 p[count][1]=Node[ei].y+(fi-PMatric[ei])*(Node[ej].y-Node[ei].y)/(PMatric[ej]-PMatric[ei]);
				 count++;
				}

				if((fi-PMatric[ej])*(fi-PMatric[em])<=0.0)
				{p[count][0]=Node[ej].x+(fi-PMatric[ej])*(Node[em].x-Node[ej].x)/(PMatric[em]-PMatric[ej]);
				p[count][1]=Node[ej].y+(fi-PMatric[ej])*(Node[em].y-Node[ej].y)/(PMatric[em]-PMatric[ej]);
				count++;
				}

				if((fi-PMatric[em])*(fi-PMatric[ei])<=0.0)
				{p[count][0]=Node[em].x+(fi-PMatric[em])*(Node[ei].x-Node[em].x)/(PMatric[ei]-PMatric[em]);
				p[count][1]=Node[em].y+(fi-PMatric[em])*(Node[ei].y-Node[em].y)/(PMatric[ei]-PMatric[em]);
				count++;
				}
			}

			Number0+=Number;
			Number+=2;

		}

		mbbub(p,count);

		fwrite(&count,sizeof(int),1,FilePoint);

		fwrite(&fi,sizeof(float),1,FilePoint);

		for(k=0;k<count;k++)
		{	fwrite(&p[k][0],sizeof(float),1,FilePoint);
		 	fwrite(&p[k][1],sizeof(float),1,FilePoint);
		}
	}

   }


	fclose(FilePoint);

}



void KMatricStorageAddress(int BeginNumber,int LASTND,int *Address)

{	int k,count,width0,*width;
	width=(int*)malloc(LASTND*sizeof(int));
	width[0]=1;

	if(BeginNumber>=2)
		for(k=1;k<BeginNumber;k++)
			width[k]=2;

	width[BeginNumber]=BeginNumber+1;
	width0=BeginNumber+2;
	count=0;


	for(k=BeginNumber+1;k<LASTND;k++)
	{
	width[k]=width0;
	count++;
		if(count==width0-1)
		{width0++;
		count=0;
		}
	}

	Address[0]=0;

	for(k=1;k<LASTND -1;k++)
	Address[k]=Address[k-1]+width[k];

	free(width);
}



void KPMatricSetup(struct Nodetype *Node,int *Address,struct elementtype *Element,float *Beta,int *BeNumber,int nb,float *KMatric,int nk,float *PMatric,int np)


{	int i,k,k0=0,ads;float bi,bj,bm,ci,cj,cm,Delta,kr;

	for(i=0;i<nk;i++)
	KMatric[i]=0.0;

	for(i=0;i<np;i++)
	PMatric[i]=0.0;

	for(i=0;i<nb;i++)

	{for(k=k0;k<k0+BeNumber[i];k++)

	    {    bi=Node[Element[k].j].y-Node[Element[k].m].y;
		 bj=Node[Element[k].m].y-Node[Element[k].i].y;
		 bm=Node[Element[k].i].y-Node[Element[k].j].y;
		 ci=Node[Element[k].m].x-Node[Element[k].j].x;
		 cj=Node[Element[k].i].x-Node[Element[k].m].x;
		 cm=Node[Element[k].j].x-Node[Element[k].i].x;
		 Delta=(bi*cj-bj*ci)/2;kr=Beta[i]/4/Delta;

		 ads=Address[Element[k].i];
		 KMatric[ads]+=kr*(bi*bi+ci*ci);
		 ads=Address[Element[k].j];
		 KMatric[ads]+=kr*(bj*bj+cj*cj);
		 ads=Address[Element[k].m];
		 KMatric[ads]+=kr*(bm*bm +cm*cm);


		if(Element[k].i>Element[k].j)

		ads=Address[Element[k].i]-(Element[k].i-Element[k].j);
		else

		ads=Address[Element[k].j]-(Element[k].j-Element[k].i);

		KMatric[ads]+=kr*(bi*bj+ci*cj);

		if(Element[k].j>Element[k].m)
		ads=Address[Element[k].j]-(Element[k].j-Element[k].m);
		else
		ads=Address[Element[k].m]-(Element[k].m -Element[k].j);

		KMatric[ads]+=kr*(bj*bm +cj*cm);

		if(Element[k].m >Element[k].i)
		ads=Address[Element[k].m]-(Element[k].m -Element[k].i);
		else
		ads=Address[Element[k].i]-(Element[k].i-Element[k].m);

		KMatric[ads]+=kr*(bm*bi+cm*ci);

	    }

		k0+=BeNumber[i];
	}
}




void BoundaryConditionDeal(struct boundaryNodetype *BoundaryNode,int nbn,float *KMatric,float *PMatric,int *Address,int np)


{	int k,n,n1,nn1,n11,n12,n13;
	float uu,Kij;
	for(k=0;k<nbn;k++)

	{	n=BoundaryNode[k].bNode;
		uu=BoundaryNode[k].bptal;
		KMatric[Address[n]]=1.0;
		PMatric[n]=uu;

		if(n>0)
		{n11=n-(Address[n]-Address[n-1]-1);
			n12=n-1;
			for(n1=n11;n1<=n12;n1++)

			{
			 	PMatric[n1]=PMatric[n1]-uu*KMatric[Address[n]-(n-n1)];
				KMatric[Address[n]-(n-n1)]=0.0;
			}

		}

		n13=n+1;
		if(n13<=np-1)

		{for(n1=n13;n1<np;n1++)

			{	nn1=n1-n;
				Kij=0.0;

				if(nn1<=(Address[n1]-Address[n1-1]-1))
					Kij=KMatric[Address[n1]-nn1];

				PMatric[n1]=PMatric[n1]-uu*Kij;
				if(Kij!=0.0)KMatric[Address[n1]-nn1]=0.0;
			}
		}
	}
}






void mbbub(float (*p)[2],int n)

/*int n;float p[][2];*/

{	int m,k,i,j;
	float dx,dy;

	k=0;m =n-1;

	while(k<m)
	{	j=m -1;m =0;

		for(i=k;i<=j;i++)

			if(p[i][0]>p[i+1][0])
			{dx=p[i][0];p[i][0]=p[i+1][0];
			p[i+1][0]=dx;m =i;dy=p[i][1];
			p[i][1]=p[i+1][1];p[i+1][1]=dy;
			}

		j=k+1;
		k=0;

		for(i=m;i>=j;i--)
			if(p[i-1][0]>p[i][0])
			{dx=p[i][0];p[i][0]=p[i-1][0];
			p[i-1][0]=dx;k=i;dy=p[i][1];
			p[i][1]=p[i-1][1];p[i-1][1]=dy;
			}

	}
	return;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情视频| 欧美mv和日韩mv的网站| 日韩西西人体444www| 国产女主播视频一区二区| 亚洲午夜久久久久久久久电影院 | 久久久久久久久免费| 一色桃子久久精品亚洲| 久久99精品久久久| 在线亚洲一区二区| 亚洲欧洲韩国日本视频| 黄色日韩三级电影| 制服.丝袜.亚洲.中文.综合| 中文字幕一区av| 国产精品一区不卡| 欧美成人精精品一区二区频| 亚洲一二三四区| 99精品视频一区二区三区| 亚洲精品一区二区三区在线观看 | 中文字幕av资源一区| 麻豆精品一区二区| 欧美一区二区精美| 亚洲动漫第一页| 欧美撒尿777hd撒尿| 一区二区三区在线视频免费| 99精品一区二区三区| 日本一区二区成人| 粉嫩av亚洲一区二区图片| 亚洲女同女同女同女同女同69| 懂色av一区二区夜夜嗨| 久久久av毛片精品| 不卡一区二区在线| 专区另类欧美日韩| 欧美亚洲国产一区二区三区va| 最新不卡av在线| 色综合视频一区二区三区高清| 一色屋精品亚洲香蕉网站| av电影一区二区| 亚洲综合小说图片| 欧美日韩国产不卡| 免费av成人在线| 欧美videos大乳护士334| 久久se这里有精品| 久久久不卡网国产精品二区| 成人动漫一区二区在线| 日韩理论电影院| 欧美三级日韩三级国产三级| 性感美女极品91精品| 日韩三区在线观看| 国产麻豆午夜三级精品| 国产精品久久久久久久第一福利| 91麻豆免费观看| 丝袜a∨在线一区二区三区不卡| 欧美大胆一级视频| 欧美日韩日日夜夜| 久久爱www久久做| 国产欧美综合色| 欧美系列一区二区| 激情综合网最新| 亚洲日穴在线视频| 91精品中文字幕一区二区三区| 国内精品伊人久久久久影院对白| 国产精品久久久久久妇女6080| 欧美视频日韩视频在线观看| 免费观看91视频大全| 国产精品天美传媒沈樵| 欧美片在线播放| 成人激情图片网| 日本 国产 欧美色综合| 国产精品免费丝袜| 欧美精品自拍偷拍动漫精品| 国产盗摄视频一区二区三区| 一区二区三区欧美在线观看| 日韩精品最新网址| 色婷婷国产精品综合在线观看| 麻豆久久一区二区| 亚洲资源在线观看| 欧美国产日韩一二三区| 91精品国模一区二区三区| 成a人片亚洲日本久久| 丁香一区二区三区| 日韩不卡在线观看日韩不卡视频| 国产午夜三级一区二区三| 欧美日韩国产在线观看| 成人av小说网| 国模一区二区三区白浆| 午夜精品福利在线| 亚洲精品视频在线| 亚洲精品一区在线观看| 国产裸体歌舞团一区二区| 7777女厕盗摄久久久| 成人做爰69片免费看网站| 蜜桃视频在线观看一区| 一区二区三区加勒比av| 国产精品人妖ts系列视频| 91麻豆精品国产91| 欧美亚洲图片小说| 91在线观看成人| 成人av免费观看| 国产一区二区福利| 国产一区二区中文字幕| 免费一级片91| 日韩中文字幕亚洲一区二区va在线| 亚洲欧美一区二区不卡| 欧美国产成人精品| 欧美韩国日本综合| 亚洲一二三区视频在线观看| 最新日韩在线视频| 综合久久给合久久狠狠狠97色| 久久色成人在线| 久久久精品日韩欧美| 精品日本一线二线三线不卡| 91麻豆精品国产91久久久| 欧美日韩免费不卡视频一区二区三区| 色欲综合视频天天天| 一本一道波多野结衣一区二区 | 日韩美女视频一区二区在线观看| 欧美日韩极品在线观看一区| 欧美日韩久久久一区| 欧美日韩大陆在线| 5858s免费视频成人| 日韩一区和二区| 久久人人爽人人爽| 国产色91在线| 亚洲欧美经典视频| 一区二区三区久久| 午夜视频一区二区| 美女性感视频久久| 国产激情视频一区二区在线观看| 成人小视频在线观看| 91蜜桃免费观看视频| 欧美主播一区二区三区美女| 久久青草欧美一区二区三区| 久久久午夜精品| 中文字幕一区av| 三级久久三级久久久| 激情五月婷婷综合| 99re66热这里只有精品3直播| 一本一道波多野结衣一区二区| 欧美日韩精品欧美日韩精品一| 日韩一区二区电影| 国产精品欧美一区二区三区| 亚洲视频网在线直播| 日韩精品国产精品| 岛国精品在线播放| 欧美在线你懂的| 久久综合九色综合97婷婷女人| 国产精品久久久久久妇女6080| 亚洲一区二区三区四区五区中文| 免费人成网站在线观看欧美高清| 国产精品一级在线| 欧美酷刑日本凌虐凌虐| 久久久久久久综合色一本| 成人免费一区二区三区视频| 日本午夜一区二区| 91丨九色丨国产丨porny| 91麻豆精品国产91久久久久| 亚洲国产岛国毛片在线| 天堂成人免费av电影一区| 成人动漫一区二区| 欧美一区二区视频在线观看| 午夜精品福利一区二区三区av| 国产精品小仙女| 欧美一卡二卡三卡四卡| 自拍偷拍亚洲综合| 国产一区二区电影| 欧美精品自拍偷拍| 国产精品美女久久久久久久久久久 | 亚洲尤物在线视频观看| 国产精品77777| 日韩一级成人av| 一区二区三区四区高清精品免费观看| 国产一区二三区| 91精品国产综合久久精品| 亚洲免费观看视频| 成人app在线观看| 精品嫩草影院久久| 天天操天天干天天综合网| 色综合久久综合| 国产精品久久久久一区| 国产大陆精品国产| 欧美精品一区在线观看| 日本女优在线视频一区二区| 色就色 综合激情| 中文字幕在线播放不卡一区| 国产精品2024| 久久九九久精品国产免费直播| 日韩高清不卡一区| 欧美日韩国产美| 日韩电影免费在线观看网站| 欧美日韩一卡二卡三卡| 亚洲国产日日夜夜| 在线视频亚洲一区| 亚洲最大成人综合| 欧美自拍偷拍一区| 亚洲香肠在线观看| 欧美亚州韩日在线看免费版国语版| 亚洲天天做日日做天天谢日日欢| 成人黄色777网| 国产精品电影院| 91玉足脚交白嫩脚丫在线播放|