public static ProcResult ProcIsingIntBitsEnergy(object vm) { var ggvm = (UpdateGRVm)vm; return(ThermalIsing_bp.UpdateH( ggvm.UpdateVm.StepsPerUpdate, qRate, FlipEnergy, 9.0f)); }
public static ProcResult ProcH(object vm) { var ggvm = (UpdateGGRVm)vm; return(ThermalIsing_bp.UpdateH( steps: ggvm.UpdateVm.StepsPerUpdate, qRate: ggvm.Qrate, filpEnergy: ggvm.FlipEnergy, beta: ggvm.Beta)); }
public static UpdateGRVm Thermo() { var initTemps = SimGridFloatSamples.HiLow(GridSpan, 0.99f, 0.01f); var initFlips = SimGridIntSamples.SquareRandBits(GridSpan, 5213); var ggRet = new UpdateGRVm(GridSpan, GridSpan, BetaBoundsW, EnergyBoundsW, BetaDelta, ProcIsingIntBitsEnergy, update_params: UpdateParams); ggRet.GraphLatticeVm.SetUpdater(GraphLatticeVmEx.DrawGridCell_int_BW_mod256, initFlips); // ggRet.GraphLatticeVm.SetUpdater(GraphLatticeVmEx.DrawGridCell_float_BW_mod256, initTemps); ggRet.UpdateVm.OnUpdateUI.Subscribe(p => UpdateGGView(p, ggRet)); ThermalIsing_bp.Init(initTemps.Data, initFlips.Data, initTemps.Width, BlockSize, 4456); return(ggRet); }
public static UpdateGGRVm Thermo() { //var initTemps = SimGridFloatSamples.HiLow(GridSpan, 0.99f, 0.01f); var initTemps = SimGridFloatSamples.LeftRightGradient(GridSpan); var initFlips = SimGridIntSamples.SquareRandBits(GridSpan, 5213); var ggRet = new UpdateGGRVm( width: GridSpan, height: GridSpan, beta: Beta, flipEnergy: FlipEnergy, qRate: qRate, proc: ProcH, update_params: UpdateParams); ggRet.GraphLatticeFlipVm.SetUpdater(GraphLatticeVmEx.DrawGridCell_int_BW_mod256, initFlips); ggRet.GraphLatticeTempVm.SetUpdater(GraphLatticeVmEx.DrawGridCell_float_BW_mod256, initTemps); ggRet.UpdateVm.OnUpdateUI.Subscribe(p => UpdateGGView(p, ggRet)); ThermalIsing_bp.Init(initTemps.Data, initFlips.Data, initTemps.Width, BlockSize, 5566); return(ggRet); }