⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 post.c

📁 OpenFVM-v1.1 open source cfd code
💻 C
📖 第 1 页 / 共 5 页
字号:
	  fprintf (fp, ")");	  fprintf (fp, "{");	  for (j = 0; j < elements[element].nbnodes; j++)	    {	      sd = se[element];	      fprintf (fp, " %f", sd);	      if (j != elements[element].nbnodes - 1)		fprintf (fp, ",");	    }	  fprintf (fp, "};\n");	}      fprintf (fp, "};\n");    }  free (se);  free (sf);}voidPrintAsciiHeaderScalarFace (FILE * fp, char *label){  fprintf (fp, "%s %d\n", label, 1);  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d\n", nbtris, 0, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d\n", nbquads, 0, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars}voidPrintAsciiHeaderScalarElement (FILE * fp, char *label){  fprintf (fp, "%s %d\n", label, 1);  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d\n", nbtetras, 0, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d\n", nbhexas, 0, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d\n", nbprisms, 0, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars}voidPrintAsciiHeaderVectorElement (FILE * fp, char *label){  fprintf (fp, "%s %d\n", label, 1);  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d\n", 0, nbtetras, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d\n", 0, nbhexas, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d\n", 0, nbprisms, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars}voidPrintAsciiHeaderVectorFace (FILE * fp, char *label){  fprintf (fp, "%s %d\n", label, 1);  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d\n", 0, nbtris, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d\n", 0, nbquads, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d\n", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars}voidPrintBinaryHeaderScalarFace (FILE * fp, char *label){  int one = 1;  fprintf (fp, "%s %d ", label, 1);	//view-name nb-time-steps,  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d ", nbtris, 0, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d ", nbquads, 0, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars  fwrite (&one, sizeof (int), 1, fp);}voidPrintBinaryHeaderScalarElement (FILE * fp, char *label){  int one = 1;  fprintf (fp, "%s %d ", label, 1);	//view-name nb-time-steps,  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d ", nbtetras, 0, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d ", nbhexas, 0, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d ", nbprisms, 0, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars  fwrite (&one, sizeof (int), 1, fp);}voidPrintBinaryHeaderVectorElement (FILE * fp, char *label){  int one = 1;  fprintf (fp, "%s %d ", label, 1);	//view-name nb-time-steps,  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-points nb-vector-points nb-tensor-points  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-lines nb-vector-lines nb-tensor-lines  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-triangles nb-vector-triangles nb-tensor-triangles  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-quadrangles nb-vector-quadrangles nb-tensor-quadrangles  fprintf (fp, "%d %d %d ", 0, nbtetras, 0);	//nb-scalar-tetrahedra nb-vector-tetrahedra nb-tensor-tetrahedra  fprintf (fp, "%d %d %d ", 0, nbhexas, 0);	//nb-scalar-hexahedra nb-vector-hexahedra nb-tensor-hexahedra  fprintf (fp, "%d %d %d ", 0, nbprisms, 0);	//nb-scalar-prisms nb-vector-prisms nb-tensor-prisms  fprintf (fp, "%d %d %d ", 0, 0, 0);	//nb-scalar-pyramids nb-vector-pyramids nb-tensor-pyramids  fprintf (fp, "%d %d %d %d\n", 0, 0, 0, 0);	//nb-text2d nb-text2d-chars nb-text3d nb-text3d-chars  fwrite (&one, sizeof (int), 1, fp);}voidPrintAsciiTime (FILE * fp, double curtime){  fprintf (fp, "%E\n", curtime);}voidPrintBinaryTime (FILE * fp, double curtime){  double *times;  times = calloc (1, sizeof (double));  times[0] = curtime;  fwrite (times, sizeof (double), 1, fp);  free (times);}voidPrintAsciiScalarNode (FILE * fp, double *sn){  int i, j;  int element;  double sd;  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != TETRAHEDRON)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  sd = sn[elements[element].node[j]];	  fprintf (fp, " %E", sd);	}      fprintf (fp, "\n");    }  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != HEXAHEDRON)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  sd = sn[elements[element].node[j]];	  fprintf (fp, " %E", sd);	}      fprintf (fp, "\n");    }  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != PRISM)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  sd = sn[elements[element].node[j]];	  fprintf (fp, " %E", sd);	}      fprintf (fp, "\n");    }}voidPrintAsciiScalarElement (FILE * fp, double *se){  int i, j;  int element;  double sd;  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != TETRAHEDRON)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  sd = se[element];	  fprintf (fp, " %E", sd);	}      fprintf (fp, "\n");    }  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != HEXAHEDRON)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  sd = se[element];	  fprintf (fp, " %E", sd);	}      fprintf (fp, "\n");    }  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != PRISM)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  sd = se[element];	  fprintf (fp, " %E", sd);	}      fprintf (fp, "\n");    }}voidPrintAsciiVectorElement (FILE * fp, int iphix, int iphiy, int iphiz){  int i, j;  int element;  double vx, vy, vz;  vx = 0.0;  vy = 0.0;  vz = 0.0;      for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != TETRAHEDRON)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      if (iphix == 0)	vx = V_GetCmp (&xu, element + 1);      if (iphix == 1)	vx = V_GetCmp (&xv, element + 1);      if (iphix == 2)	vx = V_GetCmp (&xw, element + 1);      if (iphix == 3)	vx = V_GetCmp (&xp, element + 1);      if (iphix == 4)	vx = V_GetCmp (&xT, element + 1);      if (iphix == 5)	vx = V_GetCmp (&xs, element + 1);      if (iphiy == 0)	vy = V_GetCmp (&xu, element + 1);      if (iphiy == 1)	vy = V_GetCmp (&xv, element + 1);      if (iphiy == 2)	vy = V_GetCmp (&xw, element + 1);      if (iphiy == 3)	vy = V_GetCmp (&xp, element + 1);      if (iphiy == 4)	vy = V_GetCmp (&xT, element + 1);      if (iphiy == 5)	vy = V_GetCmp (&xs, element + 1);      if (iphiz == 0)	vz = V_GetCmp (&xu, element + 1);      if (iphiz == 1)	vz = V_GetCmp (&xv, element + 1);      if (iphiz == 2)	vz = V_GetCmp (&xw, element + 1);      if (iphiz == 3)	vz = V_GetCmp (&xp, element + 1);      if (iphiz == 4)	vz = V_GetCmp (&xT, element + 1);      if (iphiz == 5)	vz = V_GetCmp (&xs, element + 1);      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E %E %E", vx, vy, vz);	}      fprintf (fp, "\n");    }  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != HEXAHEDRON)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].z);	}      if (iphix == 0)	vx = V_GetCmp (&xu, element + 1);      if (iphix == 1)	vx = V_GetCmp (&xv, element + 1);      if (iphix == 2)	vx = V_GetCmp (&xw, element + 1);      if (iphix == 3)	vx = V_GetCmp (&xp, element + 1);      if (iphix == 4)	vx = V_GetCmp (&xT, element + 1);      if (iphix == 5)	vx = V_GetCmp (&xs, element + 1);      if (iphiy == 0)	vy = V_GetCmp (&xu, element + 1);      if (iphiy == 1)	vy = V_GetCmp (&xv, element + 1);      if (iphiy == 2)	vy = V_GetCmp (&xw, element + 1);      if (iphiy == 3)	vy = V_GetCmp (&xp, element + 1);      if (iphiy == 4)	vy = V_GetCmp (&xT, element + 1);      if (iphiy == 5)	vy = V_GetCmp (&xs, element + 1);      if (iphiz == 0)	vz = V_GetCmp (&xu, element + 1);      if (iphiz == 1)	vz = V_GetCmp (&xv, element + 1);      if (iphiz == 2)	vz = V_GetCmp (&xw, element + 1);      if (iphiz == 3)	vz = V_GetCmp (&xp, element + 1);      if (iphiz == 4)	vz = V_GetCmp (&xT, element + 1);      if (iphiz == 5)	vz = V_GetCmp (&xs, element + 1);      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E %E %E", vx, vy, vz);	}      fprintf (fp, "\n");    }  for (i = 0; i < nbelements; i++)    {      element = i;      if (elements[element].type != PRISM)	continue;      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].x);	}      for (j = 0; j < elements[element].nbnodes; j++)	{	  fprintf (fp, " %E", nodes[elements[element].node[j]].y);	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -