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

📄 param.c

📁 OpenFVM-v1.1 open source cfd code
💻 C
📖 第 1 页 / 共 2 页
字号:
		  break;		case 30200:		  // Adjust time interval		  GetLine (fp);		  fscanf (fp, "%d", &parameter.adjdt);		  if (parameter.adjdt == LOGICAL_TRUE)		    printf ("Adjust time intervals.\n");		  else		    printf ("Do not adjust time intervals.\n");		  printf ("\n");		  break;		case 30201:		  // Maximum Courant number		  GetLine (fp);		  fscanf (fp, "%f", &parameter.maxCp);		  printf ("Maximum Courant number: \t\t\t%.3f\n",			  parameter.maxCp);		  printf ("\n");		  break;		case 30400:		  // Number of saves		  GetLine (fp);		  fscanf (fp, "%d", &parameter.nsav);		  printf ("Number of saves: \t\t\t\t%d\n", parameter.nsav);		  printf ("\n");		  break;		case 30440:		  // Save face flux		  GetLine (fp);		  fscanf (fp, "%d", &parameter.savflux);		  printf ("Save flux: \t\t\t\t\t%d\n", parameter.savflux);		  printf ("\n");		  break;		case 30450:		  // Write face scalars (u v w p T s)		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%d", &parameter.fsav[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Save scalars on face: \t\t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %d", parameter.fsav[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30455:		  //Write face vectors (uvw)		  GetLine (fp);		  fscanf (fp, "%d", &parameter.fvec);		  if (parameter.fvec == LOGICAL_TRUE)		    printf ("Save face - vector magnitude: \t\t\t[yes]\n");		  else		    printf ("Save face - vector magnitude: \t\t\t[no]\n");		  printf ("\n");		  break;		case 30460:		  // Write element scalars (u v w p T s)		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%d", &parameter.csav[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Save scalars in cell: \t\t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %d", parameter.csav[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30465:		  // Write element vectors (uvw)		  GetLine (fp);		  fscanf (fp, "%d", &parameter.cvec);		  if (parameter.cvec == LOGICAL_TRUE)		    printf ("Save cell center - vector: \t\t\t[yes]\n");		  else		    printf ("Save cell center - vector: \t\t\t[no]\n");		  printf ("\n");		  break;		case 30470:		  // Write vorticity (x y z)		  GetLine (fp);		  for (j = 0; j < 3; j++)		    fscanf (fp, "%d", &parameter.vortex[j]);		  printf ("Axis: \t\t\t\t\t\t[ x y z]\n");		  printf ("Save vorticity: \t\t\t\t[");		  for (j = 0; j < 3; j++)		    printf (" %d", parameter.vortex[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30475:		  // Write stream function (xy)		  GetLine (fp);		  fscanf (fp, "%d", &parameter.streamf);		  if (parameter.streamf == LOGICAL_TRUE)		    printf ("Save stream function in xy plane\n");		  else		    printf ("Do not save stream function in xy plane\n");		  printf ("\n");		  break;		case 30485:		  // Probe (u v w p T s)		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%d", &parameter.probe[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Probe options: \t\t\t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %d", parameter.probe[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30500:		  // Smooth		  GetLine (fp);		  fscanf (fp, "%d", &parameter.smooth);		  if (parameter.smooth == LOGICAL_TRUE)		    printf ("Smooth probe values: \t\t\t\t[yes]\n");		  else		    printf ("Smooth probe values: \t\t\t\t[no]\n");		  printf ("\n");		  break;		case 30550:		  // Maximum number of non-othorgonal corrections		  GetLine (fp);		  fscanf (fp, "%d", &parameter.northocor);		  printf		    ("Maximum number of non-orthogonal corrections: \t%d\n",		     parameter.northocor);		  printf ("\n");		  break;		case 30551:		  // Orthogonal factor		  GetLine (fp);		  fscanf (fp, "%f", &parameter.orthof);		  printf ("Orthogonal factor: \t\t\t\t%E\n",			  parameter.orthof);		  printf ("\n");		  break;		case 30600:		  // Convergence criterion (matrix solution) 		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%f", &parameter.mtol[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Matrix solution tolerance: \t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %+.3E", parameter.mtol[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30601:		  // Maximum number of iterations (matrix solution)		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%d", &parameter.miter[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Matrix solution iterations: \t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %d", parameter.miter[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30650:		  // Matrix solver (u v w p T s) (0-NONE, 1-JACOBI, 2-SOR, 3-QMR, 4-GMRES, 5-CG, 6-CGN, 7-CGS, 8-BICG, 9-BICGS)		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%d", &parameter.msolver[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Solver: c) \t\t\t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %d", parameter.msolver[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30651:		  // Matrix preconditioner (0-NONE, 1-JACOBI, 2-SOR, 3-ILU)		  GetLine (fp);		  for (j = 0; j < nphi; j++)		    fscanf (fp, "%d", &parameter.mprecond[j]);		  printf ("Variable: \t\t\t\t\t[ u v w p T s]\n");		  printf ("Pre-conditioner: d) \t\t\t\t[");		  for (j = 0; j < nphi; j++)		    printf (" %d", parameter.mprecond[j]);		  printf ("]\n");		  printf ("\n");		  break;		case 30800:		  // Interface scheme factor - CICSAM		  GetLine (fp);		  fscanf (fp, "%f", &parameter.kq);		  printf ("Interface scheme factor: \t\t\t%.3f\n",			  parameter.kq);		  printf ("\n");		  break;		case 30900:		  // Maximum number of CICSAM corrections		  GetLine (fp);		  fscanf (fp, "%d", &parameter.ncicsamcor);		  printf ("Number of CICSAM corrections: \t\t\t%d\n",			  parameter.ncicsamcor);		  printf ("\n");		  break;		case 32000:		  // Start time		  GetLine (fp);		  fscanf (fp, "%f", &parameter.t0);		  printf ("Start time: \t\t\t\t\t%+.3E s\n", parameter.t0);		  printf ("\n");		  break;		case 32001:		  // End time		  GetLine (fp);		  fscanf (fp, "%f", &parameter.t1);		  printf ("End time: \t\t\t\t\t%+.3E s\n", parameter.t1);		  printf ("\n");		  break;		case 32002:		  // Time interval		  GetLine (fp);		  fscanf (fp, "%f", &parameter.dt);		  printf ("Time interval: \t\t\t\t\t%+.3E s\n", parameter.dt);		  printf ("\n");		  break;		case 33050:		  // Simulate filling		  GetLine (fp);		  fscanf (fp, "%d", &parameter.fill);		  if (parameter.fill == LOGICAL_TRUE)		    printf ("Simulate filling: \t\t\t\t[yes]\n");		  else		    printf ("Simulate filling: \t\t\t\t[no]\n");		  printf ("\n");		  break;		case 33051:		  // Completely filled percentage		  GetLine (fp);		  fscanf (fp, "%f", &parameter.pf);		  printf ("Stop filling at: \t\t\t\t%.2f%%\n", parameter.pf);		  printf ("\n");		  break;		case 34000:		  // Gravity vector		  GetLine (fp);		  fscanf (fp, "%f %f %f", &parameter.g[0], &parameter.g[1],			  &parameter.g[2]);		  printf ("Gravity vector (x): \t\t\t\t%+.3E m/s^2\n",			  parameter.g[0]);		  printf ("Gravity vector (y): \t\t\t\t%+.3E m/s^2\n",			  parameter.g[1]);		  printf ("Gravity vector (z): \t\t\t\t%+.3E m/s^2\n",			  parameter.g[2]);		  printf ("\n");		  break;		default:		  printf ("\nError: Unknown parameter code (%d).\n", tcode);		  exit (LOGICAL_ERROR);		  break;		}	    }	}    }  while (!feof (fp));  fclose (fp);  printf ("a) Interpolation scheme list\n");  printf ("%d-UDS\n", UDS);  printf ("%d-CDS\n", CDS);  printf ("\n");  printf ("b) Time advancement method list\n");  printf ("%d-Explicit Euler\n", EXPLICITEULER);  printf ("%d-Implicit Euler\n", IMPLICITEULER);  printf ("%d-Crank Nicolson\n", CRANKNICOLSON);  printf ("\n");  printf ("c) Solvers list\n");  printf ("%d-Jacobi\n", sJACOBI);  printf ("%d-SOR\n", sSOR);  printf ("%d-QMR\n", sQMR);  printf ("%d-GMRES\n", sGMRES);  printf ("%d-CG\n", sCG);  printf ("%d-CGN\n", sCGN);  printf ("%d-CGS\n", sCGS);  printf ("%d-BiCG\n", sBICG);  printf ("%d-BiCGSTAB\n", sBICGS);  printf ("\n");  printf ("d) Pre-conditioners list\n");  printf ("%d-None\n", pNONE);  printf ("%d-Jacobi\n", pJACOBI);  printf ("%d-SOR\n", pSOR);  printf ("%d-ILU\n", pILU);  printf ("\n");  printf ("Done.\n");  return LOGICAL_TRUE;}

⌨️ 快捷键说明

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