/* y = int_Gamma f*u*ds */
double interfaceIntegral(const my_mesh::MeshData& mesh, const arma::vec& u )
{	double sum=0;


	for (int i=0; i < mesh.interface_edges.size(); i++)
	{	int node0 = mesh.interface_nodes[i];			// two end nodes of interface
		int node1 = mesh.interface_nodes[i+1];

		double x0 = mesh.nodes[node0][0];
		double y0 = mesh.nodes[node0][1];
		double x1 = mesh.nodes[node1][0];
		double y1 = mesh.nodes[node1][1];

		double length = mesh.edge_lengths[ mesh.interface_edges[i] ];

		double increment = 0.5 * length * ( func_d(x0,y0)*u(node0) + func_d(x1,y1)*u(node1) );

/*		std::cout << "value of u is " << u(node0) << "\n";
		std::cout << "length is " << length << "\n";
		std::cout << "increment is " << increment << "\n";
*/

		sum += increment;

	}


	return sum;
}
Beispiel #2
0
int func_a()
{
   int a_val = (0xa << 4); 
   
   a_val |= func_c();
   a_val <<= 4;
   a_val |= func_d(); 
   
   return a_val;
}
Beispiel #3
0
void func_call()
{
	func_a ( 1, 2, 3);
	func_b ( 4,
	         5, 6 );
	func_c ( 7, 8, 9
	         );

	func_d ( "aaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbb",
	         "cccccccccccccccccccccc" );
}
Beispiel #4
0
void sxc_debug(FILE *fp)  //调试主监听程序
{
	char input[100],var[100];
	char cmd;
	int para = 0;
	int i = 0;
	
	de_flag = 0;
	para = 0;
	while (1)
	{
		gets(input);
		if (strcmp(input, "\0") != 0)
			break;
	}
	cmd = input[0];
	switch (cmd)
	{
	case 'h':	runcode = 0; show_help(); break;
	case 'b':	runcode = 0; if (input[1] != ' ')
				show_help();
		     else
			 {
				 i = 2;
				 while (input[i] != '\n' && input[i++] != '\0')
				 {
					 if (input[i - 1] >= 48 && input[i - 1] <= 57)
					 {
						 para = para*10+(input[i - 1] - '0');
					 }
					 else
					 {
						 show_help();
						 break;
					 }
				 }
				 if (de_flag == 0)
				 {
					 func_b(para,0);
				 }
			 }
			 break;
	case 'n':	runcode = 1; if (input[1] != '\0') show_help(); else func_n(fp); break;
	case 'r':	runcode = 1; if (input[1] != '\0') show_help(); else sxc(fp); break;			
	case 'p':	runcode = 0; if (input[1] != ' ' && input[1] != '\n' && input[1] != '\0')
			     show_help();
	    	 else if (input[1] == '\0')
				 func_p("-a");
			 else
				 func_p(input + 2);
			 break;
	case 'l':	runcode = 0; if (input[1] != ' ' && input[1] != '\n' && input[1] != '\0')
		show_help();
				else if (input[1] == '\0')
					func_l(fp, -1);
				else
				{
					i = 2;
					while (input[i] != '\n' && input[i++] != '\0')
					{
						if (input[i - 1] >= 48 && input[i - 1] <= 57)
						{
							para = para * 10 + (input[i - 1] - '0');
						}
						else
						{
							show_help();
							break;
						}
					}
					if (de_flag == 0)
					{
						func_l(fp, para);
					}
				}
				break;
	case 'd':	runcode = 0; if (input[1] != ' ')
				 show_help();
			 else
			 {
				 i = 2;
				 while (input[i] != '\n' && input[i++] != '\0')
				 {
					 if (input[i - 1] >= 48 && input[i - 1] <= 57)
					 {
						 para = para * 10 + (input[i - 1] - '0');
					 }
					 else
					 {
						 show_help();
						 break;
					 }
				 }
				 if (de_flag == 0)
				 {
					 func_d(para,0);
				 }
			 }
			 break;
	case 's':	runcode = 0; if (input[1] != '\0') show_help(); else func_s(); break;
	case 'k':if (input[1] != '\0') show_help(); else func_k(); break;
	case 'q':if (input[1] != '\0') show_help(); else func_q(fp); break;
	default:show_help(); break;
	}
}