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
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
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
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
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