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

📄 prop_of_error_in_reynolds_number.cpp

📁 随机数 基于c++的Monte Carlo源代码
💻 CPP
字号:
/* Demonstration of MCS-libre toolkit for computing propagation of   error in the Reynolds number. */#include <iostream>// include mcsLibre simulation library#include "mcsLibre.h" // include mcsLibre statistical probe class#include "mcsLibreCollectStats.h"main(){  cout << "Performing Monte-Carlo simulation..." << endl;  // create object for simulation  mcsLibre reynolds;  // create probe for data collection  mcsLibreCollectStats reynolds_stats;  // define parameter types  double Re, Re_mean, Re_stdev;    // Reynolds number of flow  double nu, nu_mean, nu_stdev;    // kinematic viscosity of fluid  double v, v_mean, v_stdev;       // velocity of flow  double x, x_mean, x_stdev;       // distance considered  // set mean and standard deviations from measurements  nu_mean = 0.0000157; nu_stdev = 0.000002;  //  m^2 / s  v_mean = 2; v_stdev = 0.1;                 //  m / s  x_mean = 12; x_stdev = 1;                  //  m  // simulation loop  int samples = 15000;      // number of simulations  for (int loopvar = 0; loopvar < samples; loopvar++)    {      // simulate nu from stream 1      nu = reynolds.normal(nu_mean, nu_stdev, 1);      // simulate v from stream 2      v = reynolds.normal(v_mean, v_stdev, 2);      // simulate x from stream 3      x = reynolds.normal(x_mean, x_stdev, 3);            // calculate a sample Reynolds number      Re = (v * x) / nu;      // send sample value to data collection probe      reynolds_stats.add_value(Re);    }  // retrieve mean value from simulation  Re_mean = reynolds_stats.get_mean_value();  // retrieve standard deviation value from simulation  Re_stdev = reynolds_stats.get_stdev_value();  cout << endl << "Simulation of Error Propagation "        << "in Reynold's Number" << endl;  cout << "Re = (v * x) / nu" << endl << endl;  cout << "Let v = normal(" << v_mean        << ", " << v_stdev << "), x = normal("        << x_mean << ", " << x_stdev << ")," << endl;  cout << "and nu = normal(" << nu_mean << ", "        << nu_stdev << ")." << endl << endl;  cout << "Simulating " << samples        << " Reynold's numbers yields:" << endl << endl;  cout << "Sample Mean = " << Re_mean        << "   Sample Standard Deviation = "        << Re_stdev << endl;  cout << "Sample Max = " << reynolds_stats.get_max_value();  cout << "    Sample Min = "        << reynolds_stats.get_min_value() << endl;  cout << "Sum of Samples = "        << reynolds_stats.get_sum_of_values() << endl;  cout << "Number of Samples = "        << reynolds_stats.get_number_samples() << endl;  cout << endl;}

⌨️ 快捷键说明

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