/// <summary> /// This is the method that actually does the work. /// </summary> /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param> protected override void SolveInstance(IGH_DataAccess DA) { IMesh mesh = new IMesh(); double dA = 1.0, dB = 0.3, dt = 1.0, k = 0.062, f = 0.055, nF = 1.0; int rP = 10, iter = 100;; List <Vector3d> vectorField = new List <Vector3d>(); DA.GetData(0, ref mesh); DA.GetData(1, ref dA); DA.GetData(2, ref dB); DA.GetData(3, ref k); DA.GetData(4, ref f); DA.GetData(5, ref nF); DA.GetData(6, ref dt); DA.GetData(7, ref iter); DA.GetData(8, ref rP); DA.GetDataList(9, vectorField); IReactionDiffusion modifier = new IReactionDiffusion(dA, dB, k, f, dt, nF, iter, rP); modifier.AuxiliarVectorField = vectorField.ToArray(); IMesh nM = modifier.ApplyModifier(mesh); DA.SetData(0, nM); }
private void CreateDiffuserWithOpenCLAndLocalMemory() { ReactionDiffusion = new ReactionDiffusionOpenCL((int)Canvas.ActualWidth, (int)Canvas.ActualHeight, DiffusionRateA, DiffusionRateB, FeedRate, KillRate, true); }
private void CreateDiffuser() { ReactionDiffusion = new ReactionDiffusion((int)Canvas.ActualWidth, (int)Canvas.ActualHeight, DiffusionRateA, DiffusionRateB, FeedRate, KillRate); }