Exemple #1
0
        private void TUBBIN_C3_COM(object sender, EventArgs e)
        {
            List <Layer>   layers   = CreateTestTubbinessLayers();
            Class3Boundary boundary = new Class3Boundary(10, 0.8, 25 + 273.15, TemperatureCalculate.OutsideArea(layers));

            Model.TemperatureCalculate cm = new Model.TemperatureCalculate(1600 + 273.15, boundary, layers);
            CreateTestSolverAndRun(cm);
        }
Exemple #2
0
        private void CreateTestSolverAndRun(TemperatureCalculate cal)
        {
            TemperatureSolverC1 solver = TemperatureSolverFactory.CreateSolver(cal);

            solver.InitalizedTemperatureEndEvent += new InitalizedTemperatureEndEventHandler(OnInit);
            solver.UpdateTemperatureEndEvent     += new UpdateTemperatureEndEventHandler(OnUpdate);
            solver.SolveEndEvent             += new SolveEndEventHandler(OnEnd);
            solver.UpdateTemperatureEndEvent += new UpdateTemperatureEndEventHandler(OutputDebugInformation);
            solver.SolveStartEvent           += new SolveStartEventHandler(OnStart);
            SolverControlParameter par = new SolverControlParameter(SolverControlParameter.ConvergenceCriterionType.RESIDUAL_OR_MAXSTEP, 0.01, 50, 0);

            solver.InitalizeTemperature();
            solver.Solve(par);
        }
Exemple #3
0
 public static TemperatureSolverC1 CreateSolver(TemperatureCalculate calculate)
 {
     if (calculate.Boundary is Class3Boundary)
     {
         return(new TemperatureSolverC3(calculate));
     }
     else if (calculate.Boundary is Class2Boundary)
     {
         return(new TemperatureSolverC2(calculate));
     }
     else
     {
         return(new TemperatureSolverC1(calculate));
     }
 }
Exemple #4
0
 public static Class1Solver CreateSolver(TemperatureCalculate calculate)
 {
     if (calculate.Boundary is Class3Boundary)
     {
         return(new Class3Solver(calculate));
     }
     else if (calculate.Boundary is Class2Boundary)
     {
         return(new Class2Solver(calculate));
     }
     else
     {
         return(new Class1Solver(calculate));
     }
 }
Exemple #5
0
        private void THICKNESS_TUBBIN_C3_COM(object sender, EventArgs e)
        {
            List <Layer>   layers   = CreateTestTubbinessLayers();
            Class3Boundary boundary = new Class3Boundary(10, 0.8, 25 + 273.15, TemperatureCalculate.OutsideArea(layers));

            Model.TemperatureCalculate cal    = new Model.TemperatureCalculate(1600 + 273.15, boundary, layers);
            SolverControlParameter     par    = new SolverControlParameter(SolverControlParameter.ConvergenceCriterionType.RESIDUAL_OR_MAXSTEP, 0.001, 50, 0);
            ThicknessCalculate         tcal   = new ThicknessCalculate(cal, 2, 394.94, par, par);
            ThicknessSolver            solver = ThicknessSolverFactory.CreateSolver(tcal);

            solver.TemperatureSolver.UpdateTemperatureEndEvent += new UpdateTemperatureEndEventHandler(OnTemperatureSolverUpdate);
            solver.SolveStartEvent  += new ThicknessSolverStartEventHandler(OnThicknessSolveStart);
            solver.SolveUpdateEvent += new ThicknessSolverUpdateEventHandler(OnThicknessSolveUpdate);
            solver.SolveStopEvent   += new ThicknessSolverStopEventHandler(OnThicknessSolveStop);
            double lim = solver.LimitValue();

            solver.Solve();
        }
Exemple #6
0
 public TemperatureSolverC2(TemperatureCalculate _model) : base(_model)
 {
 }
Exemple #7
0
 public Class2Solver(TemperatureCalculate _model) : base(_model)
 {
 }