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); }
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); }
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)); } }
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)); } }
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(); }
public TemperatureSolverC2(TemperatureCalculate _model) : base(_model) { }
public Class2Solver(TemperatureCalculate _model) : base(_model) { }