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

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

?? radarfdtd.cpp

?? MFC實現(xiàn)FDTD編程
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
/* Define the precision */
//#include "stdafx.h"

#include <iostream>
#define PRECISION double
#include "radarFDTD.h"

CradarFDTD::CradarFDTD()
{
	allocatedBytes = 0.0;        
	iteration = 0;     
	stimulus = 0.0;              
	currentSimulationTime = 0.0; 
	totalSimulationTime = 0.0; 
	currentConfigFileVersion = 3; 
	storage = 0;
}

CradarFDTD::~CradarFDTD()
{
	
}

PRECISION*** CradarFDTD::MyAllocPrecision(int dimensionX, int dimensionY, int dimensionZ, PRECISION value, int *storage)
{
	PRECISION ***returnArray;
	int i,j,k;
  
	*storage += sizeof(PRECISION) * dimensionX * dimensionY * dimensionZ;
	*storage += sizeof(PRECISION *) * dimensionX * dimensionY;
	*storage += sizeof(PRECISION **) * dimensionX;
  

	returnArray = (PRECISION ***) malloc(dimensionX * sizeof(PRECISION **));
	if (returnArray == NULL)
	{
		fprintf(stdout, "Sorry, but you don't have enough memory installed!");
		exit(1);
	}
  
	 for(i=0; i<dimensionX; i++)
	{
		returnArray[i] = (PRECISION **) malloc(dimensionY * sizeof(PRECISION *));
		if (returnArray[i] == NULL)
		{
		    fprintf(stdout, "Sorry, but you don't have enough memory installed!");
		    exit(1);
		}
		    for(j=0; j<dimensionY; j++)
		{
		    returnArray[i][j] = (PRECISION *) malloc(dimensionZ * sizeof(PRECISION));
		    if (returnArray[i][j] == NULL)
			{
			    fprintf(stdout, "Sorry, but you don't have enough memory installed!");
			    exit(1);
			}
			for(k=0; k<dimensionZ; k++)
			{
				returnArray[i][j][k] = value;
			}
		}
	}

	return returnArray;

}

unsigned short int*** CradarFDTD::MyAllocShortInt(int dimensionX, int dimensionY, int dimensionZ, int *storage)
{
	unsigned short int ***returnArray;
    int i,j,k;

    *storage += sizeof(unsigned short int) * dimensionX * dimensionY * dimensionZ;
    *storage += sizeof(unsigned short int *) * dimensionX * dimensionY;
    *storage += sizeof(unsigned short int **) * dimensionX;

    returnArray = (unsigned short int ***) malloc(dimensionX * sizeof(unsigned short int **));
    if (returnArray == NULL)
    {
        fprintf(stdout, "Sorry, but you don't have enough memory installed!");
        exit(1);
    }
  
    for(i=0; i<dimensionX; i++)
    {
        returnArray[i] = (unsigned short int **) malloc(dimensionY * sizeof(unsigned short int *));
        if (returnArray[i] == NULL)
		{
			fprintf(stdout, "Sorry, but you don't have enough memory installed!");
			exit(1);
		}

		for(j=0; j<dimensionY; j++)
		{
			returnArray[i][j] = (unsigned short int *) malloc(dimensionZ * sizeof(unsigned short int));
			if (returnArray[i][j] == NULL)
			{
				fprintf(stdout, "Sorry, but you don't have enough memory installed!");
				exit(1);
			}

			for(k=0; k<dimensionZ; k++)
			{
			   returnArray[i][j][k] = 0.0;
			}
		}
    }

  return returnArray;
  
}

int CradarFDTD::MyFreePrecision(PRECISION ***pointer, int x, int y, int z)
{
	int i,j;
  
	for(i=0; i<x; i++)
		for(j=0; j<y; j++)
			free(pointer[i][j]);
  
	 for(i=0; i<x; i++)
		free(pointer[i]);
  
	free(pointer);
	return 0;
}

int CradarFDTD::MyFreeShortInt(unsigned short int ***pointer, int x, int y, int z)
{
    int i,j;
  
    for(i=0; i<x; i++)
        for(j=0; j<y; j++)
			free(pointer[i][j]);
  
	for(i=0; i<x; i++)
		free(pointer[i]);
  
	free(pointer);
	return 0;
	
}

void CradarFDTD::PrintCorrectOrder(PRECISION number, FILE *output)
{
    int order = (int) log(number) / log(10) - 0.5;
  
	switch(order)
	{
		case -15: fprintf(output, "%5.2f f", number*1.0e+15);break;
		case -14: fprintf(output, "%5.2f f", number*1.0e+15);break;
		case -13: fprintf(output, "%5.2f f", number*1.0e+15);break;
		case -12: fprintf(output, "%5.2f p", number*1.0e+12);break;
		case -11: fprintf(output, "%5.2f p", number*1.0e+12);break;
		case -10: fprintf(output, "%5.2f p", number*1.0e+12);break;
		case -9: fprintf(output, "%5.2f n", number*1.0e+9);break;
		case -8: fprintf(output, "%5.2f n", number*1.0e+9);break;
		case -7: fprintf(output, "%5.2f n", number*1.0e+9);break;
		case -6: fprintf(output, "%5.2f t", number*1.0e+6);break;
		case -5: fprintf(output, "%5.2f t", number*1.0e+6);break;
		case -4: fprintf(output, "%5.2f t", number*1.0e+6);break;
		case -3: fprintf(output, "%5.2f m", number*1.0e+3);break;
		case -2: fprintf(output, "%5.2f m", number*1.0e+3);break;
		case -1: fprintf(output, "%5.2f m", number*1.0e+3);break;
		case 0: fprintf(output, "%5.2f", number);break;
		case 1: fprintf(output, "%5.2f", number);break;
		case 2: fprintf(output, "%5.2f", number);break;
		case 3: fprintf(output, "%5.2f k", number*1.0e-3);break;
		case 4: fprintf(output, "%5.2f k", number*1.0e-3);break;
		case 5: fprintf(output, "%5.2f k", number*1.0e-3);break;
		case 6: fprintf(output, "%5.2f M", number*1.0e-6);break;
		case 7: fprintf(output, "%5.2f M", number*1.0e-6);break;
		case 8: fprintf(output, "%5.2f M", number*1.0e-6);break;
		case 9: fprintf(output, "%5.2f G", number*1.0e-9);break;
		case 10: fprintf(output, "%5.2f G", number*1.0e-9);break;
		case 11: fprintf(output, "%5.2f G", number*1.0e-9);break;
		case 12: fprintf(output, "%5.2f T", number*1.0e-12);break;
		case 13: fprintf(output, "%5.2f T", number*1.0e-12);break;
		case 14: fprintf(output, "%5.2f T", number*1.0e-12);break;
		default: fprintf(output, "%5.2e", number);
  }
	
}


void CradarFDTD::ReadNextLine (FILE *file, char s[]) 
{
  /*  Read next line, which is not a comment, i.e. there is no '#' at the beginning */
   s[0] = '#';
   while ((s[0] == '#') && (!feof(file)))
      fscanf (file, "%[^\n]\n", s);
}

void CradarFDTD::ReadConfigfile(char *directory, char *filename)
{
	  FILE *configFile;
	  float a,b,c,d;
	  int h,i,j,k;
	  PRECISION maxEpsilon;
	  PRECISION tmpdt;
	  PRECISION tmpSigma, tmpEpsilon;
	  char string[4000];
	  PRECISION maxStep;
	  PRECISION tmpReflection;
	  int boxStartX, boxStartY, boxStartZ, boxEndX, boxEndY, boxEndZ;
	  int warningStop = 0;
  
	  /* open configfile */

	  fprintf(stdout, "Opening configfile %s\n\n", filename);
 
	  configFile = fopen(filename, "r");
  
	  if (configFile == NULL)
	  {
		  fprintf(stderr, "Cannot open file %s. Please check this!\n", filename);
		  exit(1);
	  }

	  /* ok, file is opened now read that cryptic file */

	  /* check version of config-file */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%d\n", &h);

	  if (h != currentConfigFileVersion)
	  {
		  fprintf(stderr, "WARNING!!\n\nThis configfile (%s) is NOT suitable for this program.\n\n", filename);
		  exit(1);
	  }
    
	  /* max memory [bytes] */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%d\n", &maxAllowedMemory);
	  /* range checking: must not be negative */
	  if (maxAllowedMemory < 0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: max. allowed memory is less than 0!\n");
	  }

	  /* maximum Sigma [S/m] */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%f\n", &a);
	  maxSigma = (PRECISION) a;
	  /* range checking: must not be negative */
	  if (maxSigma < 0.0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: max. conductivity is less than 0!\n");
	  }

	  /* maximum Stretching [1] */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%f\n", &a);
	  maxStretching = (PRECISION) a;
	  /* range checking: must not be negative */
	  if (maxStretching < 0.0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: max. stretching is less than 0!\n");
	  }
  
	  /* steepness of stretch parameter */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%d\n", &stretchSteepness);
	  /* range checking: must not be zero */
	  if (fabs(stretchSteepness) < LIMIT)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: stretching-exponent must not be 0!\n");
	  }
  
	  /* length of simulation */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%g\n", &a);
	  simulationLength = (PRECISION) a;
	  /* range checking: must not be negative */
	  if (simulationLength < 0.0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: length of simulation is less than 0!\n");
	  }
  
	  /* number of cells in x,y,z-direction */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%d %d %d\n", &nx, &ny, &nz);
	  /* range checking: must not be negative */
	  if (nx < 0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: number of cells in x-direction is less than 0!\n");
	  }
	  if (ny < 0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: number of cells in y-direction is less than 0!\n");
	  }
	  if (nz < 0)
	  {
		  warningStop = 1;
		  fprintf(stderr, "WARNING: number of cells in z-direction is less than 0!\n");
	  }

	  /* cell dimensions (x,y,z) */
	  ReadNextLine(configFile, string);
	  sscanf(string, "%g %g %g\n", &a, &b, &c);
	  dx = (PRECISION) a;
	  dy = (PRECISION) b;
	  dz = (PRECISION) c;
	  /* range checking: must not be negative */
	  if (dx < 0.0)
		{
		  warningStop = 1;
		  fprintf(stderr, "WARNING: number of cells in x-direction is less than 0!\n");
		}
	  if (dy < 0.0)
		{
		  warningStop = 1;
		  fprintf(stderr, "WARNING: number of cells in y-direction is less than 0!\n");
		}
	  if (dz < 0.0)
		{
		  warningStop = 1;
		  fprintf(stderr, "WARNING: number of cells in z-direction is less than 0!\n");
		}
	  dim_X = nx * dx;
	  dim_Y = ny * dy;
	  dim_Z = nz * dz;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看网站黄不卡| 免费不卡在线视频| 丁香天五香天堂综合| 国产亚洲欧美一级| 岛国精品在线观看| 国产精品电影院| 精品少妇一区二区三区日产乱码| 亚洲777理论| 日韩欧美一级二级三级久久久| 日韩精品乱码免费| 欧美mv日韩mv亚洲| 国产成人鲁色资源国产91色综| 中文字幕乱码一区二区免费| 欧美mv和日韩mv国产网站| 免费av网站大全久久| 国产亚洲欧美在线| 在线观看亚洲一区| 另类中文字幕网| 欧美国产一区二区| 在线观看免费一区| 美腿丝袜在线亚洲一区| 亚洲国产精品精华液ab| 日本电影欧美片| 免费视频一区二区| 国产精品国产三级国产aⅴ中文| 在线观看免费亚洲| 久久精品国产999大香线蕉| 国产日韩欧美麻豆| 欧美丝袜丝nylons| 国产精品小仙女| 亚洲国产wwwccc36天堂| 精品av久久707| 色激情天天射综合网| 老司机一区二区| 一区二区三区精品久久久| 欧美va亚洲va| 欧美综合欧美视频| 国产成人精品三级麻豆| 舔着乳尖日韩一区| 国产精品不卡视频| 日韩视频在线永久播放| 日本乱码高清不卡字幕| 国产精品一区专区| 日韩高清欧美激情| 亚洲精品乱码久久久久久久久 | 成人精品免费视频| 美女网站一区二区| 亚洲一区二区三区美女| 中文字幕一区在线| 久久久久国产精品人| 亚洲日本成人在线观看| 日韩一区二区三区视频| 91久久精品一区二区三| 懂色av一区二区三区免费观看| 免费一区二区视频| 亚洲国产毛片aaaaa无费看 | 国产精品久线在线观看| 日韩区在线观看| 欧美日韩二区三区| 欧洲一区在线电影| 懂色av一区二区在线播放| 国内一区二区视频| 久久国产尿小便嘘嘘尿| 亚洲成人免费av| 亚洲一区二区三区四区在线观看 | 国产精品一二三四区| 免费高清在线一区| 日韩成人一区二区| 亚洲www啪成人一区二区麻豆| 最新热久久免费视频| 国产精品入口麻豆原神| 久久精品亚洲精品国产欧美| 日韩欧美第一区| 日韩欧美精品三级| 日韩欧美不卡在线观看视频| 91精品久久久久久久久99蜜臂| 欧美无乱码久久久免费午夜一区 | 一区二区三区加勒比av| 一区二区三区色| 亚洲品质自拍视频| 一区二区三区91| 亚洲国产成人精品视频| 亚洲成av人在线观看| 亚洲国产精品欧美一二99| 亚洲一区二区四区蜜桃| 亚洲国产wwwccc36天堂| 日韩国产欧美视频| 久久国产精品露脸对白| 国产一区二区三区精品欧美日韩一区二区三区 | 在线一区二区三区做爰视频网站| 97精品国产露脸对白| 91在线国产福利| 在线观看三级视频欧美| 欧美猛男超大videosgay| 91精品国产综合久久久久久久| 日韩欧美一区在线观看| 久久欧美一区二区| 日韩久久一区二区| 亚洲永久精品大片| 日本成人超碰在线观看| 国产一区二区三区香蕉| www.久久精品| 欧美日韩五月天| 国内偷窥港台综合视频在线播放| 国产精品综合av一区二区国产馆| 国产99一区视频免费| 欧洲精品一区二区三区在线观看| 欧美日韩你懂得| 久久久五月婷婷| 亚洲乱码中文字幕| 日本aⅴ免费视频一区二区三区| 国产乱码精品1区2区3区| 91视频一区二区三区| 91精品欧美福利在线观看| 日本一区二区久久| 午夜在线电影亚洲一区| 国产精品白丝av| 欧美日韩一区二区三区在线看| 欧美tk丨vk视频| 亚洲精品乱码久久久久久久久 | 精品一区二区三区香蕉蜜桃| 成人av小说网| 日韩一区二区三| 亚洲欧美另类在线| 激情都市一区二区| 欧美日韩一本到| 国产精品久久久久aaaa| 免费一级片91| 91久久香蕉国产日韩欧美9色| 久久影院午夜片一区| 亚洲午夜免费电影| 成人亚洲一区二区一| 欧美一级生活片| 一区二区三区电影在线播| 国产精品一区久久久久| 欧美福利视频导航| 怡红院av一区二区三区| 国产成人免费9x9x人网站视频| 欧美一区二区三区啪啪| 亚洲三级久久久| 91精品国产入口| 中文字幕中文在线不卡住| 久久精品国产网站| 欧美日韩国产精选| 亚洲女子a中天字幕| 国产宾馆实践打屁股91| 欧美v亚洲v综合ⅴ国产v| 午夜精品在线视频一区| 色噜噜狠狠成人网p站| 国产精品美女久久久久久久久| 精品亚洲成a人在线观看| 7777精品伊人久久久大香线蕉完整版 | 亚洲三级在线免费| 成人国产一区二区三区精品| 精品国产乱码久久久久久浪潮| 五月天亚洲精品| 欧美三级欧美一级| 一区二区三区**美女毛片| 91色porny| 亚洲视频你懂的| 91影院在线免费观看| ...xxx性欧美| 99久久久无码国产精品| 国产精品久久三区| 成人综合在线网站| 日本一区免费视频| 成人av在线网站| 国产精品入口麻豆原神| av激情综合网| 亚洲美女淫视频| 欧美伊人久久久久久午夜久久久久| 亚洲另类在线视频| 欧美亚日韩国产aⅴ精品中极品| 一区二区三区精品久久久| 欧洲中文字幕精品| 午夜激情综合网| 日韩一区二区三区视频在线观看| 美腿丝袜亚洲三区| wwwwww.欧美系列| 国产超碰在线一区| 最好看的中文字幕久久| 色琪琪一区二区三区亚洲区| 一区二区三区精品视频在线| 欧美日韩一区二区三区四区五区| 亚洲va韩国va欧美va| 日韩视频免费观看高清在线视频| 久久99久久久久| 国产亚洲短视频| 一本高清dvd不卡在线观看| 亚洲一区二区高清| 日韩免费电影一区| 成人福利视频网站| 一区二区三区在线观看欧美| 欧美群妇大交群的观看方式| 美女一区二区三区| 亚洲国产精品av| 欧美三日本三级三级在线播放| 青青草视频一区| 中文字幕永久在线不卡| 欧美日韩一区二区在线观看 |