7 def SinglePhase_3DVortexTube_WithCone():
10 print( "Loading mesh of vortex tube with cone" );
11 inputfile="../resources/VortexTubeWithCone.med";
13 # set the limit field for each boundary
14 outletPressure = 1.e5;
15 inletPressure = 10.e5;
16 inletTemperature = 300.;
21 myProblem = cf.SinglePhase(cf.Gas,cf.around1bar300K,spaceDim);
22 nVar = myProblem.getNumberOfVariables();
24 #Initial field creation
25 print("Building initial data " );
27 # Prepare for the initial condition
29 VV_Constant = [0] * nVar
32 VV_Constant[0] = 1.e5;
36 VV_Constant[4] = 300.;
38 #Initial field creation
39 print("Setting mesh and initial data" );
40 myProblem.setInitialFieldConstant(inputfile,VV_Constant);
42 # Set the boundary conditions
43 myProblem.setInletPressureBoundaryCondition("Inlet flow", inletPressure, inletTemperature,0,100,0)
44 myProblem.setOutletBoundaryCondition("Hot outlet", outletPressure)
45 myProblem.setOutletBoundaryCondition("Cold outlet", outletPressure)
46 myProblem.setWallBoundaryCondition("Wall", inletTemperature)
48 # set physical parameters
49 #myProblem.setViscosity(viscosite);
51 # set the numerical method
52 myProblem.setNumericalScheme(cf.upwind, cf.Explicit);
53 myProblem.setNonLinearFormulation(cf.reducedRoe);
54 myProblem.setEntropicCorrection(False)
55 #myProblem.setLinearSolver(cf.GMRES,cf.ILU,True);
58 fileName = "3DVortexTubeWithCone";
60 # simulation parameters
61 MaxNbOfTimeStep = 100000 ;
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.setNewtonSolver(precision,20);
74 #yProblem.saveConservativeField(True);
75 #myProblem.setVerbose(False,True);
77 myProblem.saveVelocity();
81 myProblem.initialize();
85 print( "Simulation python " + fileName + " is successful !" );
88 print( "Simulation python " + fileName + " failed ! " );
91 print( "------------ End of calculation !!! -----------" );
93 myProblem.terminate();
96 if __name__ == """__main__""":
97 SinglePhase_3DVortexTube_WithCone()