Example #1
0
def exercise_revolute(out, n_trials, n_dynamics_steps, delta_t=0.001):
  mersenne_twister = flex.mersenne_twister(seed=0)
  for i_trial in xrange(n_trials):
    body = revolute_body(mersenne_twister=mersenne_twister)
    body.parent = -1
    sim = simulation(bodies=[body])
    print >> out, "revolute:"
    relative_range = exercise_sim(
      out=out, n_dynamics_steps=n_dynamics_steps, delta_t=delta_t, sim=sim)
    if (out is not sys.stdout):
      assert relative_range < 1.e-4
Example #2
0
def exercise_revolute(out, n_trials, n_dynamics_steps, delta_t=0.001):
  mersenne_twister = flex.mersenne_twister(seed=0)
  for i_trial in range(n_trials):
    body = revolute_body(mersenne_twister=mersenne_twister)
    body.parent = -1
    sim = simulation(bodies=[body])
    print("revolute:", file=out)
    relative_range = exercise_sim(
      out=out, n_dynamics_steps=n_dynamics_steps, delta_t=delta_t, sim=sim)
    if (out is not sys.stdout):
      assert relative_range < 1.e-4
Example #3
0
def exercise_six_dof(out, n_trials, n_dynamics_steps, delta_t=0.001):
  mersenne_twister = flex.mersenne_twister(seed=0)
  for n_sites in xrange(1,4):
    for i_trial in xrange(n_trials):
      body = six_dof_body(mersenne_twister=mersenne_twister, n_sites=n_sites)
      body.parent = -1
      sim = simulation(bodies=[body])
      print >> out, "six_dof number of sites:", n_sites
      relative_range = exercise_sim(
        out=out, n_dynamics_steps=n_dynamics_steps, delta_t=delta_t, sim=sim)
      if (out is not sys.stdout):
        assert relative_range < 1.e-4
Example #4
0
def exercise_six_dof(out, n_trials, n_dynamics_steps, delta_t=0.001):
  mersenne_twister = flex.mersenne_twister(seed=0)
  for n_sites in range(1,4):
    for i_trial in range(n_trials):
      body = six_dof_body(mersenne_twister=mersenne_twister, n_sites=n_sites)
      body.parent = -1
      sim = simulation(bodies=[body])
      print("six_dof number of sites:", n_sites, file=out)
      relative_range = exercise_sim(
        out=out, n_dynamics_steps=n_dynamics_steps, delta_t=delta_t, sim=sim)
      if (out is not sys.stdout):
        assert relative_range < 1.e-4
def exercise_revolute2(out, n_trials, n_dynamics_steps, delta_t=0.001):
    mersenne_twister = flex.mersenne_twister(seed=0)
    for i_trial in xrange(n_trials):
        body1 = revolute_body(mersenne_twister=mersenne_twister)
        body1.parent = -1
        body2 = revolute_body(mersenne_twister=mersenne_twister, prev=body1)
        body2.parent = 0
        sim = simulation(bodies=[body1, body2])
        print >> out, "revolute2:"
        relative_range = exercise_sim(out=out,
                                      n_dynamics_steps=n_dynamics_steps,
                                      delta_t=delta_t,
                                      sim=sim)
        if (out is not sys.stdout):
            assert relative_range < 1.e-4
Example #6
0
def exercise_dynamics_quick(
      out,
      sim,
      n_dynamics_steps,
      delta_t=0.001,
      sensitivity_n_significant_digits=3):
  relative_range = exercise_sim(
    out=out, n_dynamics_steps=n_dynamics_steps, delta_t=delta_t, sim=sim)
  if (out is not sys.stdout):
    assert relative_range < 1.e-4
  print >> out, "Sensitivity test (%d significant digits):" \
    % sensitivity_n_significant_digits
  qdd = sim.sensitivity_test(
    n_significant_digits=sensitivity_n_significant_digits)
  flex.double(qdd).min_max_mean().show(out=out, prefix=" ")
  print >> out
def exercise_dynamics_quick(out,
                            sim,
                            n_dynamics_steps,
                            delta_t=0.001,
                            sensitivity_n_significant_digits=3):
    relative_range = exercise_sim(out=out,
                                  n_dynamics_steps=n_dynamics_steps,
                                  delta_t=delta_t,
                                  sim=sim)
    if (out is not sys.stdout):
        assert relative_range < 1.e-4
    print >> out, "Sensitivity test (%d significant digits):" \
      % sensitivity_n_significant_digits
    qdd = sim.sensitivity_test(
        n_significant_digits=sensitivity_n_significant_digits)
    flex.double(qdd).min_max_mean().show(out=out, prefix=" ")
    print >> out
def exercise_six_dof2(out, n_trials, n_dynamics_steps, delta_t=0.001):
    mersenne_twister = flex.mersenne_twister(seed=1)
    for n_sites in xrange(1, 4):
        for i_trial in xrange(n_trials):
            body1 = six_dof_body(mersenne_twister=mersenne_twister,
                                 n_sites=n_sites)
            body1.parent = -1
            body2 = six_dof_body(mersenne_twister=mersenne_twister,
                                 n_sites=n_sites)
            body2.parent = 0
            sim = simulation(bodies=[body1, body2])
            print >> out, "six_dof2 number of sites:", n_sites
            relative_range = exercise_sim(out=out,
                                          n_dynamics_steps=n_dynamics_steps,
                                          delta_t=delta_t,
                                          sim=sim)
            if (out is not sys.stdout):
                assert relative_range < 1.e-4