Exemple #1
0
    public INBodyIntegrator DeepClone()
    {
        HermiteIntegrator herm = new HermiteIntegrator(forceDelegate);

        herm.maxBodies = maxBodies;
        herm.Reset(maxBodies);
        // copy across
        herm.numBodies = numBodies;
        for (int j = 0; j < numBodies; j++)
        {
            for (int k = 0; k < NDIM; k++)
            {
                herm.vel[j, k]      = vel[j, k];
                herm.acc[j, k]      = acc[j, k];
                herm.jerk[j, k]     = jerk[j, k];
                herm.old_pos[j, k]  = old_pos[j, k];
                herm.old_vel[j, k]  = old_vel[j, k];
                herm.old_acc[j, k]  = old_acc[j, k];
                herm.old_jerk[j, k] = old_jerk[j, k];
            }
            herm.active[j]        = active[j];
            herm.size[j]          = size[j];
            herm.externalAccel[j] = externalAccel[j];
        }
        herm.dt                = dt;
        herm.maxDt             = maxDt;
        herm.minDt             = minDt;
        herm.coll_time_initial = coll_time_initial;
        herm.coll_time_avg     = coll_time_avg;
        herm.coll_time         = coll_time;
        herm.dtInitial         = dtInitial;
        return(herm);
    }
Exemple #2
0
    public INBodyIntegrator DeepClone()
    {
        HermiteIntegrator herm = new HermiteIntegrator(forceDelegate);

        herm.maxBodies = maxBodies;
        herm.Reset(maxBodies);
        // copy across
        herm.numBodies = numBodies;
        for (int j = 0; j < numBodies; j++)
        {
            for (int k = 0; k < NDIM; k++)
            {
                herm.vel[j, k]      = vel[j, k];
                herm.acc[j, k]      = acc[j, k];
                herm.jerk[j, k]     = jerk[j, k];
                herm.old_pos[j, k]  = old_pos[j, k];
                herm.old_vel[j, k]  = old_vel[j, k];
                herm.old_acc[j, k]  = old_acc[j, k];
                herm.old_jerk[j, k] = old_jerk[j, k];
            }
            herm.active[j] = active[j];
            herm.size[j]   = size[j];
        }

        return(herm);
    }