1 #include "DriftModel.hxx"
5 int main(int argc, char** argv)
7 //setting mesh and groups
8 cout << "Building a regular grid " << endl;
14 M.setGroupAtPlan(xsup,0,eps,"Outlet");
15 M.setGroupAtPlan(xinf,0,eps,"Inlet");
16 int spaceDim = M.getSpaceDimension();
18 // setting boundary conditions
20 double inletVelocityX=1;
21 double inletTemperature=565;
22 double outletPressure=155e5;
24 // setting physical parameters
27 DriftModel myProblem(around155bars600K,spaceDim);
28 int nbPhase = myProblem.getNumberOfPhases();
29 int nVar = myProblem.getNumberOfVariables();
31 // Prepare for the initial condition
32 Vector VV_Constant(nVar);
35 VV_Constant(1) = 155e5;
36 for (int idim=0; idim<spaceDim;idim++)
37 VV_Constant(2+idim) = 1;
38 VV_Constant(nVar-1) = 565;
40 //Initial field creation
41 cout << "Setting initial data " << endl;
42 myProblem.setInitialFieldConstant(M,VV_Constant);
44 //set the boundary conditions
45 myProblem.setInletBoundaryCondition("Inlet",inletTemperature,inletConc,inletVelocityX);
46 myProblem.setOutletBoundaryCondition("Outlet", outletPressure,vector<double>(1,xsup));
48 // physical parameters
49 myProblem.setHeatSource(heatPower);
52 // set the numerical method
53 myProblem.setNumericalScheme(upwind, Implicit);
54 myProblem.setWellBalancedCorrection(true);
55 myProblem.setNonLinearFormulation(VFFC);
57 // name the result file
58 string fileName = "Driftmodel1DBoilingChannel";
60 // setting numerical parameters
61 unsigned MaxNbOfTimeStep =3 ;
65 double precision = 1e-7;
67 myProblem.setCFL(cfl);
68 myProblem.setPrecision(precision);
69 myProblem.setMaxNbOfTimeStep(MaxNbOfTimeStep);
70 myProblem.setTimeMax(maxTime);
71 myProblem.setFreqSave(freqSave);
72 myProblem.setFileName(fileName);
73 myProblem.usePrimitiveVarsInNewton(true);
74 myProblem.saveAllFields(true);
75 myProblem.displayConditionNumber();
76 myProblem.setSaveFileFormat(CSV);
79 myProblem.initialize();
81 bool ok = myProblem.run();
83 cout << "Simulation "<<fileName<<" is successful !" << endl;
85 cout << "Simulation "<<fileName<<" failed ! " << endl;
87 cout << "------------ End of calculation -----------" << endl;
88 myProblem.terminate();