6 def DiffusionEquation_1DHeatedRod():
13 print ("Building of a 1D mesh with ", nx ," cells")
15 # set the limit field for each boundary
22 myProblem = cf.DiffusionEquation(spaceDim,FECalculation,rho_ur,cp_ur,lambda_ur);
23 nVar = myProblem.getNumberOfVariables();
26 fluidTemp=573.;#fluid mean temperature
27 heatTransfertCoeff=1000.;#fluid/solid exchange coefficient
28 phi=1e5;#heat power ddensity
29 myProblem.setFluidTemperature(fluidTemp);
30 myProblem.setHeatTransfertCoeff(heatTransfertCoeff);
31 myProblem.setHeatSource(phi);
36 #Initial field creation
37 print("Building initial data" );
38 myProblem.setInitialFieldConstant(spaceDim,VV_Constant,xinf,xsup,nx,"Neumann","Neumann");
40 # the boundary conditions
41 myProblem.setNeumannBoundaryCondition("Neumann");
43 # set the numerical method
44 myProblem.setTimeScheme( cf.Explicit);
45 # myProblem.setLinearSolver(GMRES,ILU,True);
48 fileName = "1DRodTemperature_FE";
50 # computation parameters
57 myProblem.setCFL(cfl);
58 myProblem.setPrecision(precision);
59 myProblem.setMaxNbOfTimeStep(MaxNbOfTimeStep);
60 myProblem.setTimeMax(maxTime);
61 myProblem.setFreqSave(freqSave);
62 myProblem.setFileName(fileName);
65 myProblem.initialize();
66 print("Running python "+ fileName );
70 print( "Simulation python " + fileName + " is successful !" );
73 print( "Simulation python " + fileName + " failed ! " );
76 print( "------------ End of calculation !!! -----------" );
78 myProblem.terminate();
81 if __name__ == """__main__""":
82 DiffusionEquation_1DHeatedRod()