/// <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);
 }