1 #include "DriftModel.hxx"
5 int main(int argc, char** argv)
17 // set the limit field for each boundary
18 double wallVelocityX=0;
19 double wallVelocityY=0;
20 double wallTemperature=563;
22 double inletConcentration=0;
23 double inletVelocityX=0;
24 double inletVelocityY=1;
25 double inletTemperature=563;
27 double outletPressure=155e5;
30 vector<double> gravite(spaceDim,0.) ;
34 DriftModel myProblem(around155bars600K,spaceDim);
35 int nVar = myProblem.getNumberOfVariables();
37 // Prepare for the initial condition
38 vector<double> VV_Constant(nVar);
41 VV_Constant[1] = 155e5;
46 //Initial field creation
47 cout << "Building initial data" << endl;
48 myProblem.setInitialFieldConstant(spaceDim,VV_Constant,xinf,xsup,nx,"wall","wall",yinf,ysup,ny,"inlet","outlet");
50 //set the boundary conditions
51 vector<double>pressure_reference_point(2);
52 pressure_reference_point[0]=xsup;
53 pressure_reference_point[1]=ysup;
54 myProblem.setOutletBoundaryCondition("outlet", outletPressure,pressure_reference_point);
55 myProblem.setInletBoundaryCondition("inlet", inletTemperature, inletConcentration, inletVelocityX, inletVelocityY);
56 myProblem.setWallBoundaryCondition("wall", wallTemperature, wallVelocityX, wallVelocityY);
58 // set physical parameters
59 myProblem.setGravity(gravite);
61 // set the numerical method
62 myProblem.setNumericalScheme(upwind, Explicit);
63 myProblem.setWellBalancedCorrection(true);
64 myProblem.setNonLinearFormulation(VFFC);
66 // name of result file
67 string fileName = "2DInclinedChannelGravity";
69 // computation parameters
70 unsigned MaxNbOfTimeStep = 3 ;
74 double precision = 1e-6;
76 myProblem.setCFL(cfl);
77 myProblem.setPrecision(precision);
78 myProblem.setMaxNbOfTimeStep(MaxNbOfTimeStep);
79 myProblem.setTimeMax(maxTime);
80 myProblem.setFreqSave(freqSave);
81 myProblem.setFileName(fileName);
82 myProblem.usePrimitiveVarsInNewton(true);
85 myProblem.initialize();
87 bool ok = myProblem.run();
89 cout << "Simulation "<<fileName<<" is successful !" << endl;
91 cout << "Simulation "<<fileName<<" failed ! " << endl;
93 cout << "------------ End of calculation !!! -----------" << endl;
94 myProblem.terminate();